本项目基于wxauto代码库实现了大模型接入自动聊天,代码参考deepseek_project项目,主要解决了itchat库的使用风险问题,主要功能(参考deepseek_project项目):
- 微信消息监听
- 基于上下文的多轮对话
- 克隆仓库
- 安装依赖
pip install -r requirements.txt
models.py
: 定义了数据库模型,使用 SQLAlchemy ORM 管理聊天记录wxAutoBot.py
: 主程序文件,包含微信机器人核心逻辑和 Flask Web 服务requirements.txt
: 项目依赖列表templates/index.html
: 实时监控面板的前端界面
本项目测试时使用本地部署的ChatGLM3大模型实现自动回复,相关代码为:
'''some code'''
from openai import OpenAI
# Local ChatGlm3 配置
LOCAL_API_URL = "xxxxx"
LOCAL_API_KEY = 'EMPTY'
client = OpenAI(api_key=LOCAL_API_KEY, base_url=LOCAL_API_URL)
'''some code'''
def get_LOCALGLM_response(NewMessageList):
'''some code'''
data = [
{"role": "system",
"content": f"你是xxxxx,一个聪明、热情、善良的人,后面的对话来自你的朋友{user_id},你要认真地回答他"
},
*chat_contexts[user_id]
]
# 添加详细的请求日志
logger.info(f"发送请求到 ChatGLM API, 用户: {user_id}")
logger.debug(f"请求数据: {json.dumps(data, ensure_ascii=False)}")
response = client.chat.completions.create(
model="chatglm3-6b",
messages=data,
stream=False,
max_tokens=512,
temperature=0.8,
presence_penalty=1.1,
top_p=0.8
)
if not response:
raise ValueError("API 返回空响应")
reply = response.choices[0].message.content
logger.info(f"成功获取回复 - 用户: {user_id}, 回复长度: {len(reply)}")
ChatGLM3是个可本地部署的大模型,具有部署简单、操作友好的特性,如无本地部署条件,可参考原始版本代码deepseek_project项目,使用deepseek接口实现上下文回复
- 感谢开源仓库deepseek_project项目
- 感谢开源项目wxauto