zhayujie / chatgpt-on-wechat

基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择GPT3.5/GPT-4o/GPT-o1/ Claude/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Claude/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。
https://docs.link-ai.tech/cow
MIT License
30.84k stars 8.06k forks source link

千问配置 #1752

Closed wudehun closed 7 months ago

wudehun commented 8 months ago

前置确认

⚠️ 搜索issues中是否已存在类似问题

操作系统类型?

Windows

运行的python版本是?

python 3.7

使用的chatgpt-on-wechat版本是?

Latest Release

运行的channel类型是?

wx(个人微信, itchat)

复现步骤 🕹

No response

问题描述 😯

我想咨询一下,我想连接到千问那里,应该怎么配置啊?下面的配置,还是在尝试连接chatgpt "open_ai_api_key": "这里使用了千问的api key", # openai api key

openai apibase,当use_azure_chatgpt为true时,需要设置对应的api base

"open_ai_api_base": "",
"proxy": "",  # openai使用的代理
# chatgpt模型, 当use_azure_chatgpt为true时,其名称为Azure上model deployment名称
"model": "qwen",  # 还支持 gpt-4, gpt-4-turbo, wenxin, xunfei, qwen
"use_azure_chatgpt": False,  # 是否使用azure的chatgpt
"azure_deployment_id": "",  # azure 模型部署名称
"azure_api_version": "",  # azure api版本

。。。 。。。 。。。 "qwen_access_key_id": "这里用了用户的access key", "qwen_access_key_secret": "这里用了用户的secret key", "qwen_agent_key": "这个key不知道在哪里找", "qwen_app_id": "这个key不知道在哪里找", "qwen_node_id": "", # 流程编排模型用到的id,如果没有用到qwen_node_id,请务必保持为空字符串

终端日志 📒

[WARNING][2024-02-17 23:36:10][chat_gpt_bot.py:160] - [CHATGPT] 第1次重试
[WARNING][2024-02-17 23:36:43][chat_gpt_bot.py:150] - [CHATGPT] APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000016AA62AF490>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
[WARNING][2024-02-17 23:36:48][chat_gpt_bot.py:160] - [CHATGPT] 第2次重试
[WARNING][2024-02-17 23:37:29][chat_gpt_bot.py:150] - [CHATGPT] APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000016AA554F8B0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
[INFO][2024-02-17 23:37:30][wechat_channel.py:217] - [WX] sendMsg=Reply(type=ERROR, content=[ERROR]
我连接不到你的网络), receiver=@3ec44370a25f5a17efd90d960caeeea9
KnightGrave133 commented 8 months ago

"qwen_agent_key": "这个key不知道在哪里找", "qwen_app_id": "这个key不知道在哪里找",

https://bailian.console.aliyun.com/ 在阿里云百炼平台新建应用,在调用代码用例中查看对应的appId和agentKey

wudehun commented 8 months ago

"qwen_agent_key": "这个key不知道在哪里找", "qwen_app_id": "这个key不知道在哪里找",

https://bailian.console.aliyun.com/ 在阿里云百炼平台新建应用,在调用代码用例中查看对应的appId和agentKey

感谢,新建然后改了,但是还是默认连接chatgpt。

[WARNING][2024-02-18 15:28:48][chat_gpt_bot.py:140] - [CHATGPT] Timeout: Request timed out: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000002A951A13D90>, 'Connection to api.openai.com timed out. (connect timeout=600)'))

要怎么改才是默认连接千问的啊? "open_ai_api_base": "", "proxy": "", # openai使用的代理

chatgpt模型, 当use_azure_chatgpt为true时,其名称为Azure上model deployment名称

"model": "qwen",  # 还支持 gpt-4, gpt-4-turbo, wenxin, xunfei, qwen
"use_azure_chatgpt": False,  # 是否使用azure的chatgpt
"azure_deployment_id": "",  # azure 模型部署名称
"azure_api_version": "",  # azure api版本
KnightGrave133 commented 8 months ago

"qwen_agent_key": "这个key不知道在哪里找", "qwen_app_id": "这个key不知道在哪里找", https://bailian.console.aliyun.com/ 在阿里云百炼平台新建应用,在调用代码用例中查看对应的appId和agentKey

感谢,新建然后改了,但是还是默认连接chatgpt。

[WARNING][2024-02-18 15:28:48][chat_gpt_bot.py:140] - [CHATGPT] Timeout: Request timed out: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000002A951A13D90>, 'Connection to api.openai.com timed out. (connect timeout=600)'))

要怎么改才是默认连接千问的啊? "open_ai_api_base": "", "proxy": "", # openai使用的代理 # chatgpt模型, 当use_azure_chatgpt为true时,其名称为Azure上model deployment名称 "model": "qwen", # 还支持 gpt-4, gpt-4-turbo, wenxin, xunfei, qwen "use_azure_chatgpt": False, # 是否使用azure的chatgpt "azure_deployment_id": "", # azure 模型部署名称 "azure_api_version": "", # azure api版本

删除多余配置行,选择模型时仅保留基本配置 "channel_type": "wx", "model": "qwen", "qwen_access_key_id": "", "qwen_access_key_secret": "", "qwen_agent_key": "", "qwen_app_id": "", "qwen_node_id": "", "text_to_image": "", "proxy": "",

wudehun commented 8 months ago

"qwen_agent_key": "这个key不知道在哪里找", "qwen_app_id": "这个key不知道在哪里找", https://bailian.console.aliyun.com/ 在阿里云百炼平台新建应用,在调用代码用例中查看对应的appId和agentKey

感谢,新建然后改了,但是还是默认连接chatgpt。 [WARNING][2024-02-18 15:28:48][chat_gpt_bot.py:140] - [CHATGPT] Timeout: Request timed out: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000002A951A13D90>, 'Connection to api.openai.com timed out. (connect timeout=600)')) 要怎么改才是默认连接千问的啊? "open_ai_api_base": "", "proxy": "", # openai使用的代理 # chatgpt模型, 当use_azure_chatgpt为true时,其名称为Azure上model deployment名称 "model": "qwen", # 还支持 gpt-4, gpt-4-turbo, wenxin, xunfei, qwen "use_azure_chatgpt": False, # 是否使用azure的chatgpt "azure_deployment_id": "", # azure 模型部署名称 "azure_api_version": "", # azure api版本

删除多余配置行,选择模型时仅保留基本配置 "channel_type": "wx", "model": "qwen", "qwen_access_key_id": "", "qwen_access_key_secret": "", "qwen_agent_key": "", "qwen_app_id": "", "qwen_node_id": "", "text_to_image": "", "proxy": "",

非常感谢,但是如果我只删除头几行关于chatgpt的,他会尝试连接chatgpt然后报错。然后我尝试把所有都删了,只留下下面的available_setting = {

openai api配置

"open_ai_api_key": "千问api key"
# chatgpt模型, 当use_azure_chatgpt为true时,其名称为Azure上model deployment名称
"model": "qwen",  # 还支持 gpt-4, gpt-4-turbo, wenxin, xunfei, qwen

# Bot触发配置
"single_chat_prefix": ["bot", "@bot"],  # 私聊时文本需要包含该前缀才能触发机器人回复
"single_chat_reply_prefix": "[bot] ",  # 私聊时自动回复的前缀,用于区分真人
"single_chat_reply_suffix": "",  # 私聊时自动回复的后缀,\n 可以换行
"group_chat_prefix": ["@bot"],  # 群聊时包含该前缀则会触发机器人回复
"group_chat_reply_prefix": "",  # 群聊时自动回复的前缀
"group_chat_reply_suffix": "",  # 群聊时自动回复的后缀,\n 可以换行
"group_chat_keyword": [],  # 群聊时包含该关键词则会触发机器人回复
"group_at_off": False,  # 是否关闭群聊时@bot的触发
"group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"],  # 开启自动回复的群名称列表
"group_name_keyword_white_list": [],  # 开启自动回复的群名称关键词列表
"group_chat_in_one_session": ["ChatGPT测试群"],  # 支持会话上下文共享的群名称
"nick_name_black_list": [],  # 用户昵称黑名单
"group_welcome_msg": "",  # 配置新人进群固定欢迎语,不配置则使用随机风格欢迎 
"trigger_by_self": False,  # 是否允许机器人触发
"text_to_image": "dall-e-2",  # 图片生成模型,可选 dall-e-2, dall-e-3
"image_proxy": True,  # 是否需要图片代理,国内访问LinkAI时需要
"image_create_prefix": ["画", "看", "找"],  # 开启图片回复的前缀
"concurrency_in_session": 1,  # 同一会话最多有多少条消息在处理中,大于1可能乱序
"image_create_size": "256x256",  # 图片大小,可选有 256x256, 512x512, 1024x1024 (dall-e-3默认为1024x1024)
"group_chat_exit_group": False, 

# 通义千问API, 获取方式查看文档 https://help.aliyun.com/document_detail/2587494.html
"qwen_access_key_id": "千问access key",
"qwen_access_key_secret": "千问密匙",
"qwen_agent_key": "agent key",
"qwen_app_id": "app id",
"qwen_node_id": "",  # 流程编排模型用到的id,如果没有用到qwen_node_id,请务必保持为空字符串

# channel配置
"channel_type": "wx",  # 通道类型,支持:{wx,wxy,terminal,wechatmp,wechatmp_service,wechatcom_app}
"subscribe_msg": "",  # 订阅消息, 支持: wechatmp, wechatmp_service, wechatcom_app
"debug": False,  # 是否开启debug模式,开启后会打印更多日志
"appdata_dir": "",  # 数据目录
# 插件配置
"plugin_trigger_prefix": "$",  # 规范插件提供聊天相关指令的前缀,建议不要和管理员指令前缀"#"冲突
# 是否使用全局插件配置
"use_global_plugin_config": False,
"max_media_send_count": 3,     # 单次最大发送媒体资源的个数
"media_send_interval": 1,  # 发送图片的事件间隔,单位秒
}

他会报错

Traceback (most recent call last): File "D:\chatgpt-on-wechat-1.5.7\app.py", line 8, in from channel import channel_factory File "D:\chatgpt-on-wechat-1.5.7\channel\channel_factory.py", line 5, in from .channel import Channel File "D:\chatgpt-on-wechat-1.5.7\channel\channel.py", line 5, in from bridge.bridge import Bridge File "D:\chatgpt-on-wechat-1.5.7\bridge\bridge.py", line 7, in from config import conf File "D:\chatgpt-on-wechat-1.5.7\config.py", line 16 "model": "qwen", # 还支持 gpt-4, gpt-4-turbo, wenxin, xunfei, qwen ^ SyntaxError: invalid syntax

如果我把api key那行删了,会提示 [INFO][2024-02-18 16:53:33][config.py:122] - 配置文件不存在,将使用config-template.json模板 [ERROR][2024-02-18 16:53:33][app.py:66] - App startup failed! [ERROR][2024-02-18 16:53:33][app.py:67] - key open_ai_api_key not in available_setting Traceback (most recent call last): File "D:\chatgpt-on-wechat-1.5.7\app.py", line 46, in run load_config() File "D:\chatgpt-on-wechat-1.5.7\config.py", line 129, in load_config config = Config(json.loads(config_str)) File "D:\chatgpt-on-wechat-1.5.7\config.py", line 67, in init self[k] = v File "D:\chatgpt-on-wechat-1.5.7\config.py", line 78, in setitem raise Exception("key {} not in available_setting".format(key)) Exception: key open_ai_api_key not in available_setting

有没有一份简单的配置可以分享一下啊?功能就只需要在群@的时候回复。(把app id, 密匙那些先删除。)邮箱84990237@qq.com

lxm065 commented 7 months ago

docker-compose.yml怎么改? 直接 environment: MODEL: 'qwen' PROXY: '' QWEN_ACCESS_KEY_ID:'xxxxx' QWEN_ACCESS_KEY_SECRET:'xxxx' 这样?

qrpengx commented 7 months ago

@wudehun SyntaxError: invalid syntax 说明配置文件存在语法错误 其实不需要删配置行 只要配置 "model": "qwen"就可以了 其他参数需要去你的阿里云账号获取

"qwen_access_key_id": "千问的access key", "qwen_access_key_secret": "千问的密匙", "qwen_agent_key": "agent key", "qwen_app_id": "app id", agentKey和app id 是你在 https://bailian.console.aliyun.com/#/app-center 中创建的应用 点击调试就可以看到 "qwen_node_id": "",这里留空就行了

zhang-24k commented 7 months ago

@wudehun SyntaxError: invalid syntax 说明配置文件存在语法错误 其实不需要删配置行 只要配置 "model": "qwen"就可以了 其他参数需要去你的阿里云账号获取

"qwen_access_key_id": "千问的access key", "qwen_access_key_secret": "千问的密匙", "qwen_agent_key": "agent key", "qwen_app_id": "app id", agentKey和app id 是你在 https://bailian.console.aliyun.com/#/app-center 中创建的应用 点击调试就可以看到 "qwen_node_id": "",这里留空就行了

agentKey和app id 是你在 https://bailian.console.aliyun.com/#/app-center 中创建的应用 点击调试就可以看到 为什么这一步操作没找到agentKey和app id

StevenLOL commented 5 months ago

@wudehun SyntaxError: invalid syntax 说明配置文件存在语法错误 其实不需要删配置行 只要配置 "model": "qwen"就可以了 其他参数需要去你的阿里云账号获取 "qwen_access_key_id": "千问的access key", "qwen_access_key_secret": "千问的密匙", "qwen_agent_key": "agent key", "qwen_app_id": "app id", agentKey和app id 是你在 https://bailian.console.aliyun.com/#/app-center 中创建的应用 点击调试就可以看到 "qwen_node_id": "",这里留空就行了

agentKey和app id 是你在 https://bailian.console.aliyun.com/#/app-center 中创建的应用 点击调试就可以看到 为什么这一步操作没找到agentKey和app id

这样么吗? "model": "qwen" 如果这样怎么指定 qwen 使用哪个模型?

luoyang871111 commented 4 months ago

docker-compose.yml怎么改? 直接 environment: MODEL: 'qwen' PROXY: '' QWEN_ACCESS_KEY_ID:'xxxxx' QWEN_ACCESS_KEY_SECRET:'xxxx' 这样?

改成功了么

KnightGrave133 commented 4 months ago

@wudehun SyntaxError: invalid syntax 说明配置文件存在语法错误 其实不需要删配置行 只要配置 "model": "qwen"就可以了 其他参数需要去你的阿里云账号获取 "qwen_access_key_id": "千问的access key", "qwen_access_key_secret": "千问的密匙", "qwen_agent_key": "agent key", "qwen_app_id": "app id", agentKey和app id 是你在 https://bailian.console.aliyun.com/#/app-center 中创建的应用 点击调试就可以看到 "qwen_node_id": "",这里留空就行了

agentKey和app id 是你在 https://bailian.console.aliyun.com/#/app-center 中创建的应用 点击调试就可以看到 为什么这一步操作没找到agentKey和app id

这样么吗? "model": "qwen" 如果这样怎么指定 qwen 使用哪个模型?

用哪个模型是在阿里云百炼平台创建决定的,在云百炼平台创建的哪个,你的KEY_ID和KEY_SECRET就会使用指定的模型

qotu99 commented 3 months ago

最终测试搞定了 qwen-turbo 的设置;只需要设置以下两项即可。 MODEL : 'qwen-turbo' DASHSCOPE_API_KEY : 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

  #QWEN_APP_ID ,QWEN_AGENT_KEY  啥的都不需要
wys1010 commented 3 months ago

最终测试搞定了 qwen-turbo 的设置;只需要设置以下两项即可。 MODEL : 'qwen-turbo' DASHSCOPE_API_KEY : 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

  #QWEN_APP_ID ,QWEN_AGENT_KEY  啥的都不需要

不行呀,直接报错:Exception: key DASHSCOPE_API_KEY not in available_setting

6vision commented 3 months ago

最终测试搞定了 qwen-turbo 的设置;只需要设置以下两项即可。 MODEL : 'qwen-turbo' DASHSCOPE_API_KEY : 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

  #QWEN_APP_ID ,QWEN_AGENT_KEY  啥的都不需要

不行呀,直接报错:Exception: key DASHSCOPE_API_KEY not in available_setting

项目更新到最新。python直接部署的话,使用小写的;docker部署使用大写的

Scarlett-leo commented 2 months ago

最终测试搞定了 qwen-turbo 的设置;只需要设置以下两项即可。 MODEL : 'qwen-turbo' DASHSCOPE_API_KEY : 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

  #QWEN_APP_ID ,QWEN_AGENT_KEY  啥的都不需要

我配置完了 为什么还是没有生效? 是配置的 docker-compose.yml么?