FastGPT 入门教程

项目介绍

FastGPT 是一个开源的AI知识库和聊天机器人系统,专注于快速部署和使用。它提供了直观的Web界面,支持多种大语言模型的集成,以及灵活的工作流设计,使开发者能够快速构建和部署智能问答系统。

主要功能

  • 知识库管理:支持多种文档格式的上传和处理
  • 智能问答:基于RAG技术,提供准确的问答功能
  • 多模型支持:支持OpenAI、Anthropic、Hugging Face等多种大语言模型
  • 工作流设计:可视化设计复杂的AI工作流
  • 快速部署:提供Docker容器化部署方案
  • 多语言支持:支持多种语言的文档处理和问答
  • API接口:提供RESTful API接口,便于集成到其他系统

项目特点

  • 开源免费:完全开源,可自由部署和定制
  • 易于部署:提供Docker容器化部署方案,一键启动
  • 功能丰富:集成了知识库管理、智能问答、工作流设计等多种功能
  • 高度可扩展:支持自定义模型和向量数据库
  • 性能优化:针对大规模文档和复杂查询进行了性能优化

安装与配置

安装步骤

  1. 使用Docker安装(推荐)
# 克隆仓库
git clone https://github.com/labring/FastGPT.git
cd FastGPT

# 启动容器
docker-compose up -d
  1. 从源码安装
# 克隆仓库
git clone https://github.com/labring/FastGPT.git
cd FastGPT

# 安装依赖
npm install

# 构建项目
npm run build

# 启动服务
npm run start

基本配置

  1. 访问Web界面:默认地址为 http://localhost:3000

  2. 首次登录:设置管理员账号和密码

  3. 配置模型:在设置页面配置使用的LLM模型

  4. 配置向量数据库:选择合适的向量数据库(如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接口。

基本使用

创建知识库

  1. 登录FastGPT Web界面
  2. 点击"创建知识库"按钮
  3. 输入知识库名称和描述
  4. 选择向量数据库和嵌入模型
  5. 点击"创建"按钮

上传文档

  1. 进入知识库详情页面
  2. 点击"上传文档"按钮
  3. 选择要上传的文档文件
  4. 等待文档处理完成

提问和对话

  1. 进入应用页面
  2. 在聊天框中输入问题
  3. 点击"发送"按钮
  4. 查看AI生成的回答

设计工作流

  1. 进入工作流设计页面
  2. 使用拖拽式界面设计工作流
  3. 配置工作流节点
  4. 保存工作流

高级特性

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. 多知识库集成

  1. 创建多个知识库
  2. 在应用设置中选择多个知识库
  3. 配置知识库的权重和优先级
  4. 保存配置

3. 自定义提示词

  1. 进入应用编辑页面
  2. 点击"提示词"标签
  3. 编辑系统提示词和用户提示词
  4. 保存配置

实际应用案例

案例1:企业内部知识库

场景:企业内部知识管理,员工可以通过自然语言查询获取公司政策、产品信息等。

实现步骤

  1. 创建企业知识库
  2. 上传公司文档(政策、手册、产品信息等)
  3. 配置适合的LLM模型
  4. 为员工创建用户账号
  5. 员工通过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的自动问答服务,解决常见问题。

实现步骤

  1. 创建产品支持知识库
  2. 上传产品文档、FAQ、用户手册等
  3. 配置响应速度快的LLM模型
  4. 集成到产品网站或应用
  5. 监控和优化系统性能

集成示例

// 前端集成示例
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:智能客服系统

场景:为企业提供智能客服系统,处理客户咨询和投诉。

实现步骤

  1. 创建客服知识库
  2. 上传产品信息、常见问题等
  3. 设计客服工作流:自动分类 → 智能回答 → 人工介入
  4. 集成到企业CRM系统
  5. 部署并监控系统性能

工作流设计

[接收客户消息] → [使用LLM分类消息] → [根据分类检索知识库] → [生成回答] → [如果无法回答,转人工客服]

总结与展望

FastGPT作为一个快速部署的AI知识库和聊天机器人系统,为构建智能问答系统提供了全面的工具和功能。通过本文的介绍,你应该已经了解了FastGPT的核心概念、基本使用方法和高级特性。

关键优势

  • 开源免费,可自由部署和定制
  • 易于部署,提供Docker容器化部署方案
  • 功能丰富,集成了知识库管理、智能问答、工作流设计等多种功能
  • 高度可扩展,支持自定义模型和向量数据库
  • 性能优化,适合处理大规模文档

应用前景

  • 企业内部知识库和问答系统
  • 产品支持和客户服务
  • 智能客服和聊天机器人
  • 教育和学习辅助工具
  • 内容管理和信息检索系统

未来发展

FastGPT团队持续改进系统,未来可能会:

  • 支持更多的大语言模型和向量数据库
  • 提供更高级的工作流和Agent能力
  • 增强多模态支持
  • 优化系统性能和扩展性
  • 提供更多行业特定的模板和解决方案

通过不断学习和实践,你可以利用FastGPT构建更加智能、高效的AI知识库和聊天机器人,为各种场景提供有价值的AI解决方案。