Skip to content

基于langchain + fastapi + itchat搭建的微信聊天机器人,灵感来自于chatgpt-on-wechat

License

Notifications You must be signed in to change notification settings

ma-pony/langchain-wechat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6bf7d04 · Apr 17, 2024

History

41 Commits
Apr 1, 2024
Apr 17, 2024
Mar 20, 2024
Mar 20, 2024
Mar 11, 2024
Feb 29, 2024
Apr 14, 2024
Mar 11, 2024
Apr 3, 2024
Apr 3, 2024
Mar 11, 2024
Apr 3, 2024

Repository files navigation

langchain-wechat

基于fastapi + langchain + itchat 搭建的微信聊天机器人,灵感来自于 chatgpt-on-wechat 项目

你的star就是对我最大的鼓励🤩


Note

本项目仅供个人学习交流使用,使用者必须遵循 OpenAI 的使用条款以及 **中国法律法规 ** 使用,不得用于非法用途。

根据《生成式人工智能服务管理暂行办法》 的要求,请勿对中国地区公众提供一切未经备案的生成式人工智能服务。

功能

Assistants

默认助理模式执行,会配置各种工具,LLM自动选择合适的工具进行调用,例如调用DuCKDuckGo搜索引擎,对搜索后的结果进行总结,返回给用户。

支持的消息类型

  • 接收单人文本消息回复
  • 接收群消息@当前用户 文本消息回复
  • ...

支持的模型

  • openai
  • ...

tools

  • duckduckgo 搜索
  • ...

RAGBot(开发中)

需要提供一组文档,然后根据用户的问题,返回最相关的文档片段。

环境搭建

  1. 准备OpenAI账号 项目默认使用OpenAI接口,需前往OpenAI注册页面 创建账号,创建完账号则前往API管理页面创建一个 API Key 并保存下来,接口需要海外网络访问及绑定信用卡支付。

  2. 将API Key添加到环境变量中

    export OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxx"
    
  3. 安装Python 代码通过Python3.10进行开发测试,需要安装python 3.10 ,下载后点击安装傻瓜式下一步。

安装redis

redis用于存储微信用户聊天记录

docker run -d -p 6379:6379 -p 8001:8001 redis/redis-stack:latest

安装依赖

poetry install

或者

pip install -r requirements.txt

copy .env

cp config/.env.example config/.env

运行

uvicorn src.main:app

配置项

在config/.env文件中配置

# openai 模型
OPENAI_MODEL="gpt-3.5-turbo-1106"
# openai api key
OPENAI_API_KEY="your-openai-api-key"

# 模型 temperature
AI_TEMPERATURE=0.7
# 模型系统角色提示词
AI_SYSTEM_ROLE_PROMPT="系统:"

# 聊天记录保存最大长度
CHAT_MAX_MESSAGE_HISTORY_LENGTH=10
# 触发聊天记录总结的阈值
CHAT_MESSAGE_HISTORY_SUMMARY_THRESHOLD=5


# 微信是否开启热重载
WECHAT_HOT_RELOAD=False
# 微信用户数据保存路径
WECHAT_USER_DATA_STORAGE_PATH="wechat.pkl"