https://github.com/GaiZhenbiao/ChuanhuChatGPT

1 功能

1.1 整体功能,想解决什么问题

  • 官网说明:为 ChatGPT 等多种 LLM 提供了一个轻快好用的 Web 图形界面和众多附加功能

1.2 当前解决了什么问题,哪些问题解决不了

  • 支持多种大模型(也可接入本地模型),简单的本地文档提问,可以连网查询实时数据,提供常用提示词,支持多个对话小而美的界面。
  • 个人感觉:通用的功能都有,精细度一般

1.3 提供哪些功能点,其中哪些是刚需

  • 一般人可能主要使用 OPENAI 聊天为主,附加的实时搜索和与文件对话可能偶尔使用。

1.4 用户使用难度,操作逻辑是否过于复杂

  • 基本属于简单配置一下,开箱即用,整体 Docker 也比较轻量,容易部署。配置时有一些细节,还需要注意。

2 技术栈

2.1 技术栈是什么:

  • 代码主要由 Python 编写,前端由 Gradio 实现,中间层使用 Langchain,词向量使用 faiss

2.2 现有底层工具消化了哪些常用功能

  • 使用 langchain 加强了对大模型的调用
  • 使用 gradio 实现前端,基本功能都有
  • 向量数据处理使用 faiss (从 langchain 中调用)

2.3 代码分析(使用 cloc 工具统计)

  • github 代码下载共 4.7M,docker image 870M
  • Python 7013 行,JavaScript 1391 行
  • 核心代码在 modules/ 目录下,主要接入了各种模型,包含文本、语音、绘画模型,扩展功能相对较多,功能丰富
  • 使用 google 搜索 api 获取实时信息
  • 加强了对 LaTeX / 表格 / 代码块的渲染
  • 从 requirements 看,分两个版本,一个版本比较小巧提供了基本功能,另一个版本包含深度学习库,可用于运行本地大模型 MOSS,ChatGLM。

2.4 使用场景

  • 比较通用的聊天工具,优势主要在于小而美:方便安装使用;界面简捷直观,主要功能都在手边;底层支持各种模型。

3 商业模式

  • 没有看到过多的商业设计,可做成集成多功能后统一付费,抽取提成的方式。

4 使用

4.1 安装

1
2
3
$ git clone git@github.com:GaiZhenbiao/ChuanhuChatGPT.git
$ cp config_example.json config.json # 修改配置,如 APIKEY
$ docker build . -t chuanhu

4.2 运行

1
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 的性能。