https://github.com/GaiZhenbiao/ChuanhuChatGPT
1 功能
- 整体功能,想解决什么问题
- 官网说明:为ChatGPT等多种LLM提供了一个轻快好用的Web图形界面和众多附加功能
- 当前解决了什么问题,哪些问题解决不了
- 支持多种大模型(也可接入本地模型),简单的本地文档提问,可以连网查询实时数据,提供常用提示词,支持多个对话,小而美的界面。
- 个人感觉:通用的功能都有,精细度一般。
- 提供哪些功能点,其中哪些是刚需
- 一般人可能主要使用 OPENAI 聊天为主,附加的实时搜索和与文件对话可能偶尔使用。
- 用户使用难度,操作逻辑是否过于复杂
- 基本属于简单配置一下,开箱即用,整体 Docker 也比较轻量,容易部署。配置时有一些细节,还需要注意。
2 技术栈
- 技术栈是什么:
- 代码主要由 Python 编写,前端由 Gradio 实现,中间层使用 Langchain,词向量使用 faiss
- 现有底层工具消化了哪些常用功能
- 使用 langchain 加强了对大模型的调用
- 使用 gradio 实现前端,基本功能都有
- 向量数据处理使用 faiss (从langchain中调用)
- 代码分析(使用cloc工具统计)
- github 代码下载共 4.7M,docker image 870M
- Python 7013 行,JavaScript 1391 行
- 核心代码在 modules/ 目录下,主要接入了各种模型,包含文本、语音、绘画模型,扩展功能相对较多,功能丰富。
- 使用 google 搜索 api 获取实时信息
- 加强了对 LaTeX / 表格 / 代码块的渲染
- 从 requirements 看,分两个版本,一个版本比较小巧提供了基本功能,另一个版本包含深度学习库,可用于运行本地大模型 MOSS,ChatGLM。
- 使用场景
- 比较通用的聊天工具,优势主要在于小而美:方便安装使用;界面简捷直观,主要功能都在手边;底层支持各种模型。
3 商业模式
- 没有看到过多的商业设计,可做成集成多功能后统一付费,抽取提成的方式。
4 使用
4.1 安装
$ git clone git@github.com:GaiZhenbiao/ChuanhuChatGPT.git
$ cp config_example.json config.json # 修改配置,如 APIKEY
$ docker build . -t chuanhu
4.2 运行
$ docker run -p 7860:7860 -v /exports:/opt/xieyan --rm -it --entrypoint bash chuanhu
$ python ChuanhuChatbot.py
建议把程序目录映射出来,手动启动程序,以便于修改调试。
浏览器打开:http://localhost:7860/
4.3 问题及解决
- 我遇到问题是:可以正常连接 chat 聊天,但是 Embedding 时报错连不上服务器,无法针对文档提问。后来换用一个国内的中转就可以正常使用了。
- 川虎对文档实现了:不存在则上传解析,已存在则直接使用;但是我没找到文档管理功能界面?
4.4 个人感受
它和 ChatGPT-Next-Web 属于同类应用;尽量使用现有工具,搭建简单、有效的服务。
最喜欢的一个地方是:主要参数都可以在右测界面设置,非常直观。
除了基本功能,还支持了对文档提问,网络搜索,单轮对话(见界面输入框之上)。针对文档提问也显示了引文和出处。当然,回答是否正确很大程度上依赖 LLM 的性能。