Skip to main content

No project description provided

Project description

Clovers AIChat

AI 群聊机器人群聊

✨ clovers 接入 AI api✨

Python pypi pypi download Poetry Github license

目前支持的 AI 平台有:

使用

to_me 没有被其他插件响应的命令会自动调用 AIChat

安装

pip install clovers_aichat

配置

基本上所有配置都在 config.py 中举例。请参考源代码。

下面是 config.py 文件对应的 clovers.toml 配置文件示例。

clovers.toml
[clovers_aichat]
timeout = 600
memory = 20
system_prompt = "你收到的消息格式为 \"name [time] message\" 例如 \"小明 [12:00] 你好\" 你的回复不应该有昵称,时间和日期。"
style_prompt = "你是一个猫娘"
[[clovers_aichat.config_list]]
key = "qwen"
model = "qwen-plus"
url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key = ""
whitelist = []
blacklist = []
proxy = "http://127.0.0.1:7897"

[[clovers_aichat.config_list]]
key = "hunyuan"
model = "hunyuan-lite"
url = "https://hunyuan.tencentcloudapi.com"
secret_id = ""
secret_key = ""
whitelist = []
blacklist = []

[[clovers_aichat.config_list]]
key = "mix"
whitelist = []
blacklist = []

[clovers_aichat.config_list.text]
key = "qwen"
model = "qwen-plus"
url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key = ""
[clovers_aichat.config_list.image]
key = "qwen"
model = "qwen-vl-plus"
url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key = ""

[[clovers_aichat.config_list]]
timeout = 3600
memory = 60
key = "./clovers_library/AIChat/ollama-deepseek"
model = "DeepSeek-R1-Distill-Qwen-14B-Q4_K_M"
url = "http://localhost:11434/v1/"
api_key = "karis"
whitelist = ["744751179"]

timeout 记忆保留时间,单位秒

memory 记忆条数

system_prompt 系统提示词

建议在提示词中保留如下文本,否则可能会导致模型带格式回复。

你收到的消息格式为 \"name [time] message\" 例如 \"小明 [12:00] 你好\" 你的回复不应该有昵称,时间和日期。

style_prompt 风格提示词,这里是 ai 扮演的人物设定。

config_list 模型配置列表,模型配置列表内的每个元素都会单独创建一个模型类型,启用一个单独的客户端。

模型配置

模型配置也就是 config_list 内的元素,包含以下参数:

key 模型标识,目前支持

  • chatgpt ChatGPT
  • hunyuan 腾讯混元大模型
  • qwen 通义千问
  • gemini 谷歌 Gemini
  • deepseek DeepSeek
  • mix 图文混合模型(简单的用两个模型模拟图文多模态)。
  • path 从本地相对路径加载模型类

model 模型名称,例如:hunyuan-lite gemini-1.5-flash qwen-vl-plus 等等

whitelist 白名单,只有白名单内的群可以使用此模型,默认为空,即所有用户都可以使用。

blacklist 黑名单,黑名单内的用户不可使用此模型,默认为空,即所有用户都可使用。

黑白名单为列表,里面的元素都是字符串。

注意:如果你配置了在一个群启用多个模型,那么多个模型都会响应。没人希望这样,所以请检查黑白名单。

proxy 此模型客户端使用的代理,配置参照 httpx client 的 proxy 参数

timeout 为模型单独配置的记忆保留时间。

memory 为模型单独配置的记忆条数。

prompt_system 为模型单独配置系统提示词

style_prompt 为模型单独配置风格提示词

以上三个的参数优先使用,如果没有配置就使用全局配置。

ChatGPT

如果你的模型配置的 key 是 chatgpt,那么你还需要填写以下参数:

url 模型 api 接入点,例如 https://api.openai.com/v1

api_key OpenAI api key

腾讯混元大模型

如果你的模型配置的 key 是 hunyuan,那么你还需要填写以下参数:

url 模型 api 接入点,例如 https://hunyuan.tencentcloudapi.com

secret_id 腾讯云 api 密钥 id

secret_key 腾讯云 api 密钥 key

我想吐槽一下腾讯的加密方法看起来像是没事闲的

通义千问

如果你的模型配置的 key 是 qwen,那么你还需要填写以下参数:

url 模型 api 接入点,例如 https://dashscope.aliyuncs.com/compatible-mode/v1

api_key 阿里云 api key

Gemini

如果你的模型配置的 key 是 gemini,那么你还需要填写以下参数:

url 模型 api 接入点,例如 https://generativelanguage.googleapis.com/v1beta/models,使用的方法为 generateContent。

api_key 谷歌云 api key

google_search 布尔值,是否使用谷歌搜索工具

url_context 布尔值,是否使用 url 上下文工具

code_execution 布尔值,是否使用代码执行工具

DeepSeek

如果你的模型配置的 key 是 deepseek,那么你还需要填写以下参数:

url 模型 api 接入点,例如 https://api.deepseek.com/

api_key DeepSeek api key

图文混合模型

模型配置的 key 是 mix,那么你需要填写以下参数:

text 文本模型配置。

image 图像模型配置,注意这个模型要支持图像分析。

关于模型配置请跳转到 模型配置 查看。

注意不能在上面两个模型配置中配置 key = mix

相对路径

如果模型配置的 key 是一个相对路径,那么本插件会尝试从本路径加载对话类。

那么你需要填写的参数是你所加载的模型类写明的参数。

你加载的对话类需要实现 clovers_aichat.core.ChatInterface 声明的方法

本仓库示范中已经提供了一个ollama-deepseek.py示范,配置应该是:

[[clovers_aichat.config_list]]
key = "./clovers_library/AIChat/ollama-deepseek.py"
model = "DeepSeek-R1-Distill-Qwen-14B-Q4_K_M"
url = "http://localhost:11434/v1/"
api_key = "karis"
whitelist = []

当 deepseek-r1 模型使用 ollama 运行时,模型的思维链会和正文一起输出,然而如果对话上下文中含有思维链会导致 deepseek-r1 模型出现问题。

于是这个类在内部使用正则对正文进行了额外处理。其他请参考代码。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clovers_aichat-1.2.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clovers_aichat-1.2.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file clovers_aichat-1.2.0.tar.gz.

File metadata

  • Download URL: clovers_aichat-1.2.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.13.2 Windows/10

File hashes

Hashes for clovers_aichat-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d3dd07f050992299328866429a533eeb1e34dca763bcb55209287502c4a941dd
MD5 e15583673011f7600728fb2d60d5dc7c
BLAKE2b-256 514d74be6b36779d7506e56ee03fef68b3a27ea62c3ac6fa5cd0c0ec5dc8b60e

See more details on using hashes here.

File details

Details for the file clovers_aichat-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: clovers_aichat-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.13.2 Windows/10

File hashes

Hashes for clovers_aichat-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be783b7415f5ef45e4bbceb865c8d4be9a14a120d43ff2b4ace609dbc1076968
MD5 5d2aa1cd6d0fb85c41888838e29f41a6
BLAKE2b-256 3f9627d6c5603e0918c1d653c8d455fe21918259370fb22314ce5e1abac1caa1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page