ChuanhuChatGPT
GaiZhenbiao/ChuanhuChatGPT加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:你想用 Claude 3 来处理一份 PDF 论文,需要它先理解内容再回答你的问题,还要保存完整的对话历史——以前这需要写一堆 API 调用代码、配置代理、处理 token 限额。现在,一个不到 100 行配置的本地 Web 界面,把这一切全部搞定。
川虎 ChatGPT(ChuanhuChatGPT) 就是这样一款工具。它是一个功能完整的本地图形界面,专门用于调用各类大语言模型 API(OpenAI GPT、Claude 3、ChatGLM、Qwen 等),支持文件问答、Agent 代理、微调训练、提示词管理等进阶能力,在 GitHub 上拥有超过 1.5 万颗星,是目前最受欢迎的 LLM API 调用前端之一。
川虎 ChatGPT 由 GitHub 用户 GaiZhenbiao 开发维护。项目最早于 2023 年初 ChatGPT API 开放后不久启动,最初只是一个简单的 Gradio Web 界面,帮助用户绕过网页版的限制直接调用 API。
随着 OpenAI API 功能逐步扩展(Assistants、Function Calling、DALL-E 3 等)以及 Claude 3、ChatGLM、Qwen 等新兴模型的出现,作者持续迭代,逐步将川虎 ChatGPT 打造成一个支持多模型的通用 LLM 调用平台。项目采用 GPL-3.0 开源协议,代码质量稳定,更新活跃。
川虎 ChatGPT 最大的特点是多模型聚合。用户无需安装多个软件,只需在配置中填入各平台的 API Key,就能在同一个界面中切换使用:
每种模型的参数配置独立保存,切换模型时界面右上角自动刷新模型 logo 和名称,体验流畅。
这是川虎 ChatGPT 最受欢迎的功能之一。用户上传 PDF、Word、txt 文件后,系统会自动解析文件内容,将其作为上下文注入 LLM 提示词中。用户可以针对文档内容提问、总结要点、提取信息——无需 LangChain/Semantic Kernel 等复杂框架,一行代码都不用写。
底层使用 ChromaDB 作为向量数据库,文件首先被切分为文本块(chunk),通过 embedding 模型向量化后存入本地数据库。检索时用相似度搜索找到相关片段,拼接到提示词中发给 LLM。
支持 OpenAI 的 Function Calling 和 Claude 的 Tool Use 能力。用户可以定义自定义工具(如查天气、搜新闻、调用本地脚本),让 LLM 自主决定调用哪些工具完成任务。项目内置了川虎提示词库,覆盖翻译、总结、代码审查等常用场景。
集成 OpenAI Fine-tuning API 的完整流程:上传微调数据、创建微调任务、监控训练进度、部署微调模型。整个过程在 Web 界面中可视化完成,降低了微调的门槛。
内置提示词模板系统,支持 JSON/CSV 格式导入导出。用户可以创建自己的提示词库,在不同对话中快速切换。提供了中文、英文、繁体中文、日语、俄语等多语言提示词模板。
川虎 ChatGPT 的代码结构清晰,主入口文件 ChuanhuChatbot.py 约 2000 行,负责应用初始化、路由和核心交互逻辑。核心模块分布在 modules/ 目录下:
config.py:配置管理,支持多模型参数、API Key、环境变量的统一管理index_func.py:Web 界面核心函数(Gradio 组件定义、回调处理)models/:各模型适配器,封装不同 API 的调用方式pdf_func.py:PDF 文档解析与文本提取train_func.py:GPT 微调流程控制repo.py:文件问答和向量检索逻辑shared.py:共享工具函数前端基于 Gradio 构建。Gradio 是 Hugging Face 开源的 Python Web 界面库,通过装饰器语法即可快速构建交互式 AI 应用。相比 FastAPI + Jinja2 的组合,Gradio 大幅降低了 Web 界面开发成本。
界面资源(HTML、CSS、JS、图片)存放在 web_assets/ 目录,支持自定义外观和布局。templates/ 目录存放提示词模板文件。
用户请求的处理流程:
index_func.py 接收modules/models/ 中的适配器repo.py 执行向量检索,将相关片段注入提示词config.json核心依赖:
gradio — Web 界面langchain / langchain-community — Agent 和文档处理chromadb — 向量数据库pypdf / python-docx — 文档解析openai — OpenAI API 客户端anthropic — Anthropic API 客户端项目提供 Dockerfile,支持 Docker 部署。基础镜像为 python:3.10-slim,安装依赖后直接运行主程序。容器暴露 Gradio 默认的 7860 端口,用户可通过浏览器访问。
Dockerfile 为单阶段构建,镜像体积约 1-2 GB,适合有 Docker 环境的用户快速部署。
方式一:Docker 部署(推荐)
git clone https://github.com/GaiZhenbiao/ChuanhuChatGPT.git
cd ChuanhuChatGPT
docker build -t chuanhu-chatbot .
docker run -p 7860:7860 chuanhu-chatbot
然后浏览器打开 http://localhost:7860,填入 API Key 即可使用。
方式二:原生运行
git clone https://github.com/GaiZhenbiao/ChuanhuChatGPT.git
cd ChuanhuChatGPT
pip install -r requirements.txt
python ChuanhuChatbot.py
| 工具 | 多模型 | 文件问答 | Agent | 微调 | Docker | Stars |
|---|---|---|---|---|---|---|
| 川虎 ChatGPT | ✅ 20+ | ✅ ChromaDB | ✅ | ✅ | ✅ | 15272 |
| NextChat | ✅ 10+ | ✅ | ✅ | ❌ | ✅ | 25000+ |
| Chatbox | ✅ 15+ | ✅ | ❌ | ❌ | ❌ | 8000+ |
| Open WebUI | ✅ 15+ | ✅ | ✅ | ✅ | ✅ | 22000+ |
由于完全依赖第三方 API,用户需要自行承担 token 费用。GPT-4 和 Claude 3 Opus 的使用成本较高,大量文件问答场景下消耗较快。相比本地部署的 ollama/WebUI,费用是主要瓶颈。
目前仅部分模型(如 GPT-4o、Claude 3、GLM-4V)支持图片输入和语音交互,多模态能力不如官方界面丰富。
API Key 以明文或简单加密形式存储在本地配置文件,存在一定泄露风险。建议使用环境变量注入而非直接写入配置文件。
川虎 ChatGPT 体现了 LLM 应用的一个核心趋势:API 调用层与模型能力解耦。随着 GPT-4、Claude 3、Qwen 等模型能力的快速迭代,越来越多的 AI 应用选择调用 API 而非本地部署模型,以获得更好的推理能力和更低的基础设施成本。
在这一背景下,像川虎 ChatGPT 这样的"统一调用前端"工具具有重要价值:它降低了普通用户使用先进 LLM API 的门槛,同时通过文件问答、Agent 等功能,将 API 调用从简单的问答扩展到了实际的工作流中。
项目自 2023 年上线以来保持高频更新(作者在 2024 年持续维护),社区活跃,issue 处理及时,代表了开源 AI 应用的高质量水准。对于需要快速搭建 LLM 原型、或者希望用统一的本地界面管理多个 AI 助手的开发者而言,这是一个值得收藏的工具。
本报告基于 GitHub 仓库 v1.x 版本分析,数据采集时间 2024 年。