Skip to content

Integrate LLM into QQ using Nonebot, LangChain, and LangGraph

Notifications You must be signed in to change notification settings

Mgrsc/LLMQ-Horizon

Repository files navigation

🤖 LLMQ-Horizon QQ_Chatbot

一个基于 NoneBot2 和 LangGraph 的QQ_Chatbot。

✨ 特性

  • 🔌 支持多种工具扩展
  • 💬 支持群聊和私聊
  • 🎯 多种触发方式:
    • @机器人
    • 关键词触发
    • 命令前缀触发
  • 🧠 基于 LangGraph 的对话管理
  • 📦 自动会话管理和清理

快速开始

部署

git clone https://github.com/Mgrsc/LLMQ-Horizon.git

# 把示例文件改名
mv config-tools.toml.example config-tools.toml
mv config.toml.example config.toml

编辑compose

#填入超级用户QQ,用于命令执行
    environment:
      - ACCOUNT=<qq>

编辑config.toml

[llm]
model = "gpt-4o" # 模型必须支持fc否则无法使用tools
superusers = "1221212" # 超级用户QQ
groq_api_key = "xxxxxxxxxx"
google_api_key = "xxxxxxxxxxx"
api_key = "xxxxxxxx"
base_url = "https://xxx.xxx.com/v1"
temperature = 0.4 # 注意范围是0-1不要调太大
system_prompt= """ """ #编写提示词,工具调用有问题请调节

[plugin.llm_chat]
# 触发命令
Trigger_words = ["小宝","qw",]
# 触发方式"prefix", "keyword", "at"
Trigger_mode = ["prefix","at",]
# 是否开启群对话隔离,群里每个人对话都是隔离开的
group_chat_isolation = false
# 是否传递用户名给LLM格式为 "用户名:消息"
enable_username = true
# 是否允许私聊
enable_private = true
# 是否允许群聊
enable_group = true
max_sessions = 1000
# 默认回复列表,空艾特,空触发回复
empty_message_replies = [
    "说",
    "?",
    "内容?",
    "问题?"
    ]

编辑config-tools.toml

tools

安装code_runner的judge0

参考https://github.com/judge0/judge0/blob/master/CHANGELOG.md 我们建议使用 Ubuntu 22.04,在此系统上您需要进行以下 GRUB 更新(改为cgroup v1):

使用 sudo 打开文件 /etc/default/grub
在 GRUB_CMDLINE_LINUX 变量的值中添加 systemd.unified_cgroup_hierarchy=0。
应用更改:sudo update-grub
重启您的服务器:sudo reboot

部署步骤: 下载并解压发行版压缩包:

wget https://github.com/judge0/judge0/releases/download/v1.13.1/judge0-v1.13.1.zip
unzip judge0-v1.13.1.zip

访问此网站以生成随机密码。 使用生成的密码更新 judge0.conf 文件中的 REDIS_PASSWORD 变量。 再次访问此网站以生成另一个随机密码。 使用生成的密码更新 judge0.conf 文件中的 POSTGRES_PASSWORD 变量。 运行所有服务并等待几秒钟,直到所有内容都初始化完成:

cd judge0-v1.13.1
docker-compose up -d db redis
sleep 10s
docker-compose up -d
sleep 5s

您的 Judge0 CE v1.13.1 实例现已启动并运行;访问 http://<您的服务器 IP 地址>:2358/docs 获取文档。

About

Integrate LLM into QQ using Nonebot, LangChain, and LangGraph

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages