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

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.1.0.tar.gz (11.4 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.1.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for clovers_aichat-1.1.0.tar.gz
Algorithm Hash digest
SHA256 3c93f2b9914f96c29fe8852cec2c2aeba7fd7beac7049cbda841aac6e07ffc20
MD5 84baf3f5466f3bcf4c8a4f52cfb7004d
BLAKE2b-256 d058f1aaa5efc6f7ba2e50e92fce539156385798822d3dff2b19e0e0edcf5555

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for clovers_aichat-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab915c54f8ca6a633a9f67e932f2a72c585054c2d7bd501af1004dfca0f3cbb8
MD5 5fff05f76fc71d2f37e9648dcddc2b01
BLAKE2b-256 f7be02016afde6b692609de2c132893782a934b3a5d49f09c3fa2d095035351f

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