Home

Awesome

Feishu-ChatGLM

🍎 一套使用chatGLM模型,能够调用本地知识库的python版飞书智能聊天机器人实现方案。

实现思路

预计使用使用python为主要开发语言,调用huggingface中的chatGLM模型并实现对话api,利用langchain框架中的 Agent 和 Indexes 模块来处理对话角色和私有数据库的逻辑。

🚀 预计需要完成的功能列表:

✨ 产品规划

✨ 功能列表

聊天截图

chat

本地部署使用方法

建议环境:conda环境 python 3.10,以下命令为 linux 命令行SHELL命令,windows请根据类似情况调整

STEP1 启动 chatGLM 的api

  1. 此步骤可以在本机,也可以在服务器等其他机器,即 src/chatglm_sever 这个模块可以移至其他任何地方运行

  2. 安装conda环境,切换conda环境(步骤略)

  3. cd ./src/chatglm_server

  4. pip install -r requirements.txt 安装 python 依赖包, pytorch 的安装会要比较长的时间

  5. python chatglm_server.py 启动 chatGLM api 服务

  6. 第一次启动需要下载 chatGLM 模型,时间会比较久,默认是 'THUDM/chatglm-6b-int4'

  7. 默认支持cpu、gpu、多卡gpu进行部署,一些参数的调整见脚本server.py的开头部分

  8. 记录好部署ip地址和端口号(如果为本机和默认配置,则为 http://localhost:8000

详细流程见chatGLM官方github: https://github.com/THUDM/ChatGLM-6B
也可以使用网上别人搭建的用来试用的 chatGLM api 测试(若如此可跳过以上步骤)

STEP2 启动飞机机器人所需服务

  1. cd .. 回到项目根目录
  2. mv config-example.yml config.yml 给配置文件改名
  3. vim config.yml 根据yml文件中的提示修改配置
  4. pip install -r requirements.txt 安装 python 依赖包
  5. run python3 src/main.py

STEP3 创建飞书机器人,并使用测试用的公网地址

im:message
im:message.group_at_msg(获取群组中所有消息)
im:message.group_at_msg:readonly(接收群聊中@机器人消息事件)
im:message.p2p_msg(获取用户发给机器人的单聊消息)
im:message.p2p_msg:readonly(读取用户发给机器人的单聊消息)
im:message:send_as_bot(获取用户在群组中@机器人的消息)
im:chat:readonly(获取群组信息)
im:chat(获取与更新群组信息)

Docker部署方法(待更新)

赞助感谢

友情感谢 'Find My AI' 提供的部分经费赞助!