Skip to main content

No project description provided

Project description

Clovers AIChat

AI 群聊机器人群聊

✨ clovers 接入 AI api✨

python Poetry license pypi pypi download

目前支持的 AI 平台有:

使用

使用 DeepSeek 时在对话后接 --think 可以输出思维链

安装

pip install clovers_AIchat

配置

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

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

clovers.toml
[clovers_AIchat]
timeout = 600
memory = 20
prompt_system = "\n 你是有着二次元可爱少女形象的 AI 助手 名为小叶子"
[[clovers_AIchat.config_list]]
key = "qwen"
model = "qwen-plus"
url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key = ""
whitelist = []
blacklist = []

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

[clovers_AIchat.config_list.proxies]
"https://" = "http://127.0.0.1:7897"
[[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 记忆条数

prompt_system 系统提示词

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


'你收到的消息格式为 "昵称 (日期 时间):消息" 例如 "小明 (2024-5-31 12:00):你好" 你的回复不应该有昵称,时间和日期。'

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 为模型单独配置系统提示词

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

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.ai.main.ChatInterface声明的方法

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

[[clovers_AIchat.config_list]]
key = "./clovers_library/AIChat/ollama-deepseek"
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-0.2.8.tar.gz (10.1 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-0.2.8-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clovers_aichat-0.2.8.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.1 Windows/10

File hashes

Hashes for clovers_aichat-0.2.8.tar.gz
Algorithm Hash digest
SHA256 777dab36760365af51af032e107add2f28e04c632889adc89c9b30860ca86662
MD5 ac041f61d50dd8608ecdeed1c656fcc3
BLAKE2b-256 d355710e68a841bdaba0a49382ed46e668c08817844476fb27126d26672a9289

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clovers_aichat-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.1 Windows/10

File hashes

Hashes for clovers_aichat-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4cfd0f24f863efd73c300e2163daa8193af5a556173a3a0c5d231db745a9bc13
MD5 344647219e267ebc91c282c14a13960b
BLAKE2b-256 43a2fcf729d3a7faa9ea6ce3cb0f06c4c4de54d0e42da1616587c40ae1cd677b

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