FastGPT 入门教程
项目介绍
FastGPT 是一个开源的AI知识库和聊天机器人系统,专注于快速部署和使用。它提供了直观的Web界面,支持多种大语言模型的集成,以及灵活的工作流设计,使开发者能够快速构建和部署智能问答系统。
主要功能
- 知识库管理:支持多种文档格式的上传和处理
- 智能问答:基于RAG技术,提供准确的问答功能
- 多模型支持:支持OpenAI、Anthropic、Hugging Face等多种大语言模型
- 工作流设计:可视化设计复杂的AI工作流
- 快速部署:提供Docker容器化部署方案
- 多语言支持:支持多种语言的文档处理和问答
- API接口:提供RESTful API接口,便于集成到其他系统
项目特点
- 开源免费:完全开源,可自由部署和定制
- 易于部署:提供Docker容器化部署方案,一键启动
- 功能丰富:集成了知识库管理、智能问答、工作流设计等多种功能
- 高度可扩展:支持自定义模型和向量数据库
- 性能优化:针对大规模文档和复杂查询进行了性能优化
安装与配置
安装步骤
- 使用Docker安装(推荐)
# 克隆仓库
git clone https://github.com/labring/FastGPT.git
cd FastGPT
# 启动容器
docker-compose up -d- 从源码安装
# 克隆仓库
git clone https://github.com/labring/FastGPT.git
cd FastGPT
# 安装依赖
npm install
# 构建项目
npm run build
# 启动服务
npm run start基本配置
访问Web界面:默认地址为
http://localhost:3000首次登录:设置管理员账号和密码
配置模型:在设置页面配置使用的LLM模型
配置向量数据库:选择合适的向量数据库(如Chroma、Pinecone等)
核心概念
1. 知识库(Knowledge Base)
知识库是FastGPT的核心概念,用于存储和管理文档。每个知识库可以包含多个文档,并对应一个向量索引。
2. 文档(Document)
文档是知识库的基本组成单元,可以是PDF、Word、Markdown等多种格式。
3. 模型(Model)
模型指的是用于生成回答的大语言模型,如GPT-3.5、GPT-4、Llama等。
4. 工作流(Workflow)
工作流是一系列有序的步骤,用于处理复杂的AI任务。
5. 应用(Application)
应用是FastGPT中的一个完整功能单元,如聊天机器人、知识库查询等。
6. API密钥(API Key)
API密钥用于访问FastGPT的API接口。
基本使用
创建知识库
- 登录FastGPT Web界面
- 点击"创建知识库"按钮
- 输入知识库名称和描述
- 选择向量数据库和嵌入模型
- 点击"创建"按钮
上传文档
- 进入知识库详情页面
- 点击"上传文档"按钮
- 选择要上传的文档文件
- 等待文档处理完成
提问和对话
- 进入应用页面
- 在聊天框中输入问题
- 点击"发送"按钮
- 查看AI生成的回答
设计工作流
- 进入工作流设计页面
- 使用拖拽式界面设计工作流
- 配置工作流节点
- 保存工作流
高级特性
1. 自定义模型
# 通过API添加自定义模型
import requests
url = "http://localhost:3000/api/v1/models"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
}
data = {
"name": "custom-llama3",
"type": "llm",
"endpoint": "https://api.example.com/llama3",
"apiKey": "YOUR_MODEL_API_KEY"
}
response = requests.post(url, json=data, headers=headers)
print(response.json())2. 多知识库集成
- 创建多个知识库
- 在应用设置中选择多个知识库
- 配置知识库的权重和优先级
- 保存配置
3. 自定义提示词
- 进入应用编辑页面
- 点击"提示词"标签
- 编辑系统提示词和用户提示词
- 保存配置
实际应用案例
案例1:企业内部知识库
场景:企业内部知识管理,员工可以通过自然语言查询获取公司政策、产品信息等。
实现步骤:
- 创建企业知识库
- 上传公司文档(政策、手册、产品信息等)
- 配置适合的LLM模型
- 为员工创建用户账号
- 员工通过Web界面或API查询信息
示例:
# 上传文档到知识库
curl -X POST "http://localhost:3000/api/v1/knowledge-bases/{kbId}/documents" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@company-policy.pdf"
# 查询知识库
curl -X POST "http://localhost:3000/api/v1/applications/{appId}/chat" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "公司的休假政策是什么?"}'案例2:产品支持聊天机器人
场景:为产品用户提供24/7的自动问答服务,解决常见问题。
实现步骤:
- 创建产品支持知识库
- 上传产品文档、FAQ、用户手册等
- 配置响应速度快的LLM模型
- 集成到产品网站或应用
- 监控和优化系统性能
集成示例:
// 前端集成示例
async function chatWithFastGPT(message) {
const response = await fetch('http://localhost:3000/api/v1/applications/{appId}/chat', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({ message: message })
});
const data = await response.json();
return data.answer;
}
// 使用示例
const answer = await chatWithFastGPT('如何重置密码?');
console.log(answer);案例3:智能客服系统
场景:为企业提供智能客服系统,处理客户咨询和投诉。
实现步骤:
- 创建客服知识库
- 上传产品信息、常见问题等
- 设计客服工作流:自动分类 → 智能回答 → 人工介入
- 集成到企业CRM系统
- 部署并监控系统性能
工作流设计:
[接收客户消息] → [使用LLM分类消息] → [根据分类检索知识库] → [生成回答] → [如果无法回答,转人工客服]总结与展望
FastGPT作为一个快速部署的AI知识库和聊天机器人系统,为构建智能问答系统提供了全面的工具和功能。通过本文的介绍,你应该已经了解了FastGPT的核心概念、基本使用方法和高级特性。
关键优势
- 开源免费,可自由部署和定制
- 易于部署,提供Docker容器化部署方案
- 功能丰富,集成了知识库管理、智能问答、工作流设计等多种功能
- 高度可扩展,支持自定义模型和向量数据库
- 性能优化,适合处理大规模文档
应用前景
- 企业内部知识库和问答系统
- 产品支持和客户服务
- 智能客服和聊天机器人
- 教育和学习辅助工具
- 内容管理和信息检索系统
未来发展
FastGPT团队持续改进系统,未来可能会:
- 支持更多的大语言模型和向量数据库
- 提供更高级的工作流和Agent能力
- 增强多模态支持
- 优化系统性能和扩展性
- 提供更多行业特定的模板和解决方案
通过不断学习和实践,你可以利用FastGPT构建更加智能、高效的AI知识库和聊天机器人,为各种场景提供有价值的AI解决方案。