ChatPilot是一个基于LangChain的聊天机器人项目,支持Google搜索、文件网址对话(RAG)、代码解释器功能,并具备多种特点。项目支持前后端服务分离,前端使用Svelte,后端使用FastAPI。同时支持语音输入输出、图像生成、用户管理、权限控制以及聊天记录导入导出等功能。
ChatPilot是一个聊天机器人项目,具有多种功能,如Google搜索、文件网址对话(RAG)、代码解释器功能等。该项目基于LangChain实现了多种工具自动调用的Agent问答对话。
ChatPilot支持前后端服务分离,前端使用Svelte框架,后端使用FastAPI框架。同时支持语音输入输出、图像生成、用户管理、权限控制等特性。
用户可以通过pip install -U chatpilot或git clone项目链接来安装ChatPilot。安装完成后,用户可以通过命令行模式进行交互,支持搜索、模型选择等参数设置。
ChatPilot提供了官方Demo,用户可以通过访问Demo网页体验项目功能。同时,项目还提供了技术交流群和公众号等渠道,方便用户获取帮助和合作机会。
项目简介
ChatPilot
: 实现AgentChat对话,支持Google搜索、文件网址对话(RAG)、代码解释器功能,复现Kimi Chat(文件,拖进来;网址,发出来),支持OpenAI/Azure API。
特点
-
本项目基于LangChain实现了ReAct和OpenAI Function Call的Agent问答对话,支持如下工具自动调用:
-
联网搜索工具:Google Search API(Serper/DuckDuckGo)
-
URL自动解析工具:复现了Kimi Chat网址发出来功能
-
Python代码解释器:支持E2B虚拟环境和本地python编译器环境运行代码
-
本项目基于LangChain实现了支持query改写的检索增强RAG文件问答
-
支持前后端服务分离,前端使用Svelte,后端使用FastAPI
-
支持语音输入输出,支持图像生成
-
支持用户管理,权限控制,支持聊天记录导入导出
Demo
Official Demo: https://chat.mulanai.com
安装
or
git clone https://github.com/shibing624/ChatPilot.git
cd ChatPilot
pip install -e .
使用
本地部署
-
构建前端web
两种方法构建前端:
-
下载打包并编译好的前端 buid.zip 解压到项目web目录下。
-
自己使用npm构建前端:
git clone https://github.com/shibing624/ChatPilot.git
cd ChatPilot/
# Building Frontend Using Node.js >= 20.10
cd web
npm install
npm run build
输出:项目web目录产出build文件夹,包含了前端编译输出文件。
2. 启动后端服务
cd ..
pip install -r requirements.txt -U
# Copying required .env file
cp .env.example .env
bash start.sh
好了,现在你的应用正在运行:http://0.0.0.0:8080 Enjoy! 😄
命令行模式(CLI)
支持命令行对话。
code: cli.py
> chatpilot -h
usage: __main__.py [-h] [--model MODEL] [--search SEARCH] [--openai_api_key OPENAI_API_KEY] [--openai_api_base OPENAI_API_BASE] [--serper_api_key SERPER_API_KEY]
chatpilot cli
options:
-h, --help show this help message and exit
--model MODEL openai model name
--search SEARCH search engine name, e.g. duckduckgo, serper
--openai_api_key OPENAI_API_KEY
openai api key
--openai_api_base OPENAI_API_BASE
openai api base url
--serper_api_key SERPER_API_KEY
serper api key
run
pip install chatpilot -U
chatpilot