AIKit 开源项目教程
1. 项目介绍
AIKit 是一个全面的平台,旨在帮助用户快速开始托管、部署、构建和微调大型语言模型(LLMs)。AIKit 提供了两种主要功能:推理和微调。通过使用 LocalAI,AIKit 支持广泛的推理能力和格式,并提供与 OpenAI API 兼容的 REST API,用户可以使用任何 OpenAI API 兼容的客户端(如 Kubectl AI、Chatbot-UI 等)发送请求到开源 LLMs。此外,AIKit 还提供了一个可扩展的微调接口,支持 Unsloth 进行快速、内存高效的微调体验。
2. 项目快速启动
2.1 安装 Docker
首先,确保你已经安装了 Docker。如果没有安装,可以通过以下命令安装:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
2.2 启动 AIKit
使用以下命令启动 AIKit:
docker run -d --rm -p 8080:8080 ghcr.io/sozercan/llama3.1:8b
启动后,访问 http://localhost:8080/chat
即可访问 WebUI。
2.3 使用 OpenAI API 兼容的客户端
AIKit 提供了一个与 OpenAI API 兼容的端点,可以使用任何 OpenAI API 兼容的客户端发送请求。例如,使用 curl
命令:
curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '[
"model": "llama-3.1-8b-instruct",
"messages": [
{"role": "user", "content": "解释 Kubernetes 在一句话中"}
]
]'
输出应类似于:
{
"model": "llama-3.1-8b-instruct",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "Kubernetes 是一个开源的容器编排系统,自动化应用程序和服务的部署、扩展和管理,使开发人员能够专注于编写代码而不是管理基础设施。"
}
}
]
}
3. 应用案例和最佳实践
3.1 微调模型
AIKit 支持微调模型,用户可以通过输入数据(如 CSV 文件)或让 AIKit 自动将页面和帖子转换为有价值的问题和答案对来训练模型。以下是一个简单的微调示例:
docker run -d --rm -p 8080:8080 ghcr.io/sozercan/aikit:latest --fine-tune
3.2 多模态模型支持
AIKit 支持多模态模型,包括图像生成。用户可以使用 DALL-E 2 & 3 API 生成与文章匹配的图像。例如:
curl http://localhost:8080/v1/images/generations -H "Content-Type: application/json" -d '[
"model": "dall-e-3",
"prompt": "生成一张描述未来城市的图像"
]'
4. 典型生态项目
4.1 Kubectl AI
Kubectl AI 是一个与 AIKit 兼容的 Kubernetes 命令行工具,允许用户通过自然语言查询 Kubernetes 集群。
4.2 Chatbot-UI
Chatbot-UI 是一个基于 Web 的聊天机器人界面,与 AIKit 集成后,用户可以通过 Web 界面与 AI 进行交互。
4.3 LocalAI
LocalAI 是 AIKit 的核心组件之一,提供了一个与 OpenAI API 兼容的 REST API,支持广泛的推理能力和格式。
通过以上步骤,您可以快速上手并使用 AIKit 进行各种 AI 相关的任务。