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.59k stars 8.01k forks source link

不能使用tool插件 #1058

Closed XiaoYuer2022 closed 1 year ago

XiaoYuer2022 commented 1 year ago

前置确认

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

操作系统类型?

Linux

运行的python版本是?

python 3.10

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

Latest Release

运行的channel类型是?

wechatmp(公众号, 订阅号)

复现步骤 🕹

1、拉取最新的代码,复制并重命令根目录下的config.json.temp,配置必要的微信公众号的设置; 2、类似的,设置在plugins/tool下的config.json文件 3、运行程序:python app.py

问题描述 😯

无法让chatgpt回复图片和使用tool插件

终端日志 📒

## 1、tool.log
[INFO][2023-05-09 14:52:15][chatgpt.py:169] - success use proxy: 127.0.0.1:7890
[INFO][2023-05-09 14:52:15][victorinox.py:86] - use_tools=['python', 'url-get', 'terminal', 'meteo-weather'], params: {'debug': True, 'openai_api_key': 'sk-45NNY4XxxxxxxxxxxxxxxxxSlBg2aoZzflQHUNA', 'open_ai_api_base': 'https://api.openai.com/v1', 'proxy': '127.0.0.1:7890', 'request_timeout': 120, 'model_name': 'gpt-3.5-turbo', 'no_default': False, 'top_k_results': 2, 'news_api_key': '', 'bing_subscription_key': '', 'google_api_key': '', 'google_cse_id': '', 'searx_search_host': '', 'wolfram_alpha_appid': '', 'morning_news_api_key': '', 'cuda_device': 'cpu', 'think_depth': 3, 'arxiv_summary': True, 'morning_news_use_llm': False}

## 2、run.log
[DEBUG][2023-05-09 15:11:02][config.py:193] - [INIT] set log level to DEBUG
[INFO][2023-05-09 15:11:02][config.py:195] - [INIT] load config: {'open_ai_api_key': 'sk-45g2aoZzflQHUNA', 'model': 'gpt-3.5-turbo', 'proxy': '127.0.0.1:7890', 'single_chat_prefix': [''], 'single_chat_reply_prefix': '', 'group_chat_prefix': ['@bot'], 'group_name_white_list': ['ChatGPT测试群', 'ChatGPT测试群2'], 'group_chat_in_one_session': ['ChatGPT测试群'], 'image_create_prefix': ['画', '看', '找'], 'debug': True, 'clear_memory_commands': ['#清除记忆'], 'channel_type': 'wechatmp', 'wechatmp_token': '123', 'wechatmp_port': 8080, 'wechatmp_app_id': 'wx2531c58bd501787d', 'wechatmp_app_secret': 'b10f6224', 'wechatmp_aes_key': 'vwG57JmSud6bnQ7qfsxZHIy', 'plugin_trigger_prefix': '&', 'speech_recognition': True, 'group_speech_recognition': True, 'voice_reply_voice': False, 'conversation_max_tokens': 1000, 'expires_in_seconds': 3600, 'character_desc': '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。', 'subscribe_msg': '感谢您的关注!\n这里是ChatGPT,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。'}
[INFO][2023-05-09 15:11:02][config.py:143] - [Config] User datas loaded.
[INFO][2023-05-09 15:11:02][plugin_manager.py:50] - Loading plugins config...
[INFO][2023-05-09 15:11:02][plugin_manager.py:66] - Scaning plugins ...
[INFO][2023-05-09 15:11:02][plugin_manager.py:41] - Plugin Role_v1.0 registered, path=./plugins/role
[INFO][2023-05-09 15:11:02][plugin_manager.py:41] - Plugin Banwords_v1.0 registered, path=./plugins/banwords
[INFO][2023-05-09 15:11:02][plugin_manager.py:41] - Plugin Finish_v1.0 registered, path=./plugins/finish
[INFO][2023-05-09 15:11:02][plugin_manager.py:41] - Plugin Godcmd_v1.0 registered, path=./plugins/godcmd
[INFO][2023-05-09 15:11:02][plugin_manager.py:41] - Plugin Hello_v0.1 registered, path=./plugins/hello
[INFO][2023-05-09 15:11:02][plugin_manager.py:41] - Plugin Dungeon_v1.0 registered, path=./plugins/dungeon
[INFO][2023-05-09 15:11:02][plugin_manager.py:41] - Plugin Keyword_v0.1 registered, path=./plugins/keyword
[INFO][2023-05-09 15:11:02][plugin_manager.py:41] - Plugin BDunit_v0.1 registered, path=./plugins/bdunit
[INFO][2023-05-09 15:11:03][plugin_manager.py:41] - Plugin tool_v0.4 registered, path=./plugins/tool
[DEBUG][2023-05-09 15:11:03][plugin_manager.py:153] - plugins.json config={'plugins': SortedDict({'Godcmd': {'enabled': True, 'priority': 999}, 'Keyword': {'enabled': True, 'priority': 900}, 'Banwords': {'enabled': False, 'priority': 100}, 'tool': {'enabled': True, 'priority': 0}, 'Role': {'enabled': True, 'priority': 0}, 'Dungeon': {'enabled': True, 'priority': 0}, 'BDunit': {'enabled': False, 'priority': 0}, 'Hello': {'enabled': True, 'priority': -1}, 'Finish': {'enabled': True, 'priority': -999}}, sort_func=<lambda>, reverse=True)}
[INFO][2023-05-09 15:11:03][godcmd.py:181] - [Godcmd] 因未设置口令,本次的临时口令为8510。
[INFO][2023-05-09 15:11:03][godcmd.py:196] - [Godcmd] inited
[DEBUG][2023-05-09 15:11:03][keyword.py:34] - [keyword]加载配置文件/root/chatgpt-on-wechat/plugins/keyword/config.json
[INFO][2023-05-09 15:11:03][keyword.py:40] - [keyword] {}
[INFO][2023-05-09 15:11:03][keyword.py:42] - [keyword] inited.
[INFO][2023-05-09 15:11:04][tool.py:32] - [tool] inited
[DEBUG][2023-05-09 15:11:04][role.py:62] - [Role] no role found for tag comments 
[INFO][2023-05-09 15:11:04][role.py:69] - [Role] inited
[INFO][2023-05-09 15:11:04][dungeon.py:56] - [Dungeon] inited
[INFO][2023-05-09 15:11:04][hello.py:23] - [Hello] inited
[INFO][2023-05-09 15:11:04][finish.py:23] - [Finish] inited
[DEBUG][2023-05-09 15:11:30][passive_reply.py:38] - [wechatmp] Receive post data:
<xml><ToUserName><![CDATA[gh_ef64340318ce]]></ToUserName>
<FromUserName><![CDATA[o1Ny_6k_yqZH0WorDdqO7rJURtD8]]></FromUserName>
<CreateTime>1683616289</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[你能帮我画一只羊吗]]></Content>
<MsgId>24103592096665323</MsgId>
</xml>
[DEBUG][2023-05-09 15:11:30][passive_reply.py:62] - [wechatmp] context: Context(type=TEXT, content=你能帮我画一只羊吗, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7feff3991a20>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'}) ChatMessage: id=24103592096665323, create_time=1683616289, ctype=TEXT, content=你能帮我画一只羊吗, from_user_id=o1Ny_6k_yqZH0WorDdqO7rJURtD8, from_user_nickname=None, to_user_id=gh_ef64340318ce, to_user_nickname=None, other_user_id=o1Ny_6k_yqZH0WorDdqO7rJURtD8, other_user_nickname=None, is_group=False, is_at=False, actual_user_id=None, actual_user_nickname=None True
[INFO][2023-05-09 15:11:30][passive_reply.py:97] - [wechatmp] Request 1 from o1Ny_6k_yqZH0WorDdqO7rJURtD8 24103592096665323 81.69.103.236:36920
你能帮我画一只羊吗
[DEBUG][2023-05-09 15:11:30][chat_channel.py:309] - [WX] consume context: Context(type=TEXT, content=你能帮我画一只羊吗, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7feff3991a20>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'})
[DEBUG][2023-05-09 15:11:30][chat_channel.py:143] - [WX] ready to handle context: Context(type=TEXT, content=你能帮我画一只羊吗, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7feff3991a20>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'})
[DEBUG][2023-05-09 15:11:30][plugin_manager.py:163] - Plugin GODCMD triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:11:30][godcmd.py:206] - [Godcmd] on_handle_context. content: 你能帮我画一只羊吗
[DEBUG][2023-05-09 15:11:30][plugin_manager.py:163] - Plugin KEYWORD triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:11:30][keyword.py:52] - [keyword] on_handle_context. content: 你能帮我画一只羊吗
[DEBUG][2023-05-09 15:11:30][plugin_manager.py:163] - Plugin TOOL triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:11:30][tool.py:68] - [tool] on_handle_context. content: 你能帮我画一只羊吗
[DEBUG][2023-05-09 15:11:30][plugin_manager.py:163] - Plugin ROLE triggered by event Event.ON_HANDLE_CONTEXT
[INFO][2023-05-09 15:11:30][bridge.py:30] - create bot chatGPT for chat
[DEBUG][2023-05-09 15:11:30][plugin_manager.py:163] - Plugin DUNGEON triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:11:30][dungeon.py:73] - [Dungeon] on_handle_context. content: ['你能帮我画一只羊吗']
[DEBUG][2023-05-09 15:11:30][plugin_manager.py:163] - Plugin HELLO triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:11:30][hello.py:48] - [Hello] on_handle_context. content: 你能帮我画一只羊吗
[DEBUG][2023-05-09 15:11:30][plugin_manager.py:163] - Plugin FINISH triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:11:30][finish.py:30] - [Finish] on_handle_context. content: 你能帮我画一只羊吗
[DEBUG][2023-05-09 15:11:30][chat_channel.py:163] - [WX] ready to handle context: type=TEXT, content=你能帮我画一只羊吗
[INFO][2023-05-09 15:11:30][chat_gpt_bot.py:49] - [CHATGPT] query=你能帮我画一只羊吗
[DEBUG][2023-05-09 15:11:30][session_manager.py:70] - prompt tokens used=80
[DEBUG][2023-05-09 15:11:30][chat_gpt_bot.py:66] - [CHATGPT] session query=[{'role': 'system', 'content': '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'}, {'role': 'user', 'content': '你能帮我画一只羊吗'}]
[DEBUG][2023-05-09 15:11:35][passive_reply.py:38] - [wechatmp] Receive post data:
<xml><ToUserName><![CDATA[gh_ef64340318ce]]></ToUserName>
<FromUserName><![CDATA[o1Ny_6k_yqZH0WorDdqO7rJURtD8]]></FromUserName>
<CreateTime>1683616289</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[你能帮我画一只羊吗]]></Content>
<MsgId>24103592096665323</MsgId>
</xml>
[INFO][2023-05-09 15:11:35][passive_reply.py:97] - [wechatmp] Request 2 from o1Ny_6k_yqZH0WorDdqO7rJURtD8 24103592096665323 81.69.103.205:61834
你能帮我画一只羊吗
[DEBUG][2023-05-09 15:11:40][passive_reply.py:38] - [wechatmp] Receive post data:
<xml><ToUserName><![CDATA[gh_ef64340318ce]]></ToUserName>
<FromUserName><![CDATA[o1Ny_6k_yqZH0WorDdqO7rJURtD8]]></FromUserName>
<CreateTime>1683616289</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[你能帮我画一只羊吗]]></Content>
<MsgId>24103592096665323</MsgId>
</xml>
[INFO][2023-05-09 15:11:40][passive_reply.py:97] - [wechatmp] Request 3 from o1Ny_6k_yqZH0WorDdqO7rJURtD8 24103592096665323 81.69.103.147:45934
你能帮我画一只羊吗
[DEBUG][2023-05-09 15:11:45][chat_gpt_bot.py:75] - [CHATGPT] new_query=[{'role': 'system', 'content': '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'}, {'role': 'user', 'content': '你能帮我画一只羊吗'}], session_id=o1Ny_6k_yqZH0WorDdqO7rJURtD8, reply_cont=当然可以。由于我是一个语言模型,无法画出东西,但是我可以为你提供一些步骤来帮助你画一只羊。

你需要准备以下物品:

这就是画一只羊的基本步骤。希望能帮到你!, completion_tokens=467
[DEBUG][2023-05-09 15:11:45][session_manager.py:81] - raw total_tokens=547, savesession tokens=552
[DEBUG][2023-05-09 15:11:45][chat_channel.py:147] - [WX] ready to decorate reply: Reply(type=TEXT, content=当然可以。由于我是一个语言模型,无法画出东西,但是我可以为你提供一些步骤来帮助你画一只羊。

你需要准备以下物品:

这就是画一只羊的基本步骤。希望能帮到你!)
[DEBUG][2023-05-09 15:11:45][chat_channel.py:248] - [WX] ready to send reply: Reply(type=TEXT, content=当然可以。由于我是一个语言模型,无法画出东西,但是我可以为你提供一些步骤来帮助你画一只羊。

你需要准备以下物品:
这就是画一只羊的基本步骤。希望能帮到你!), context: Context(type=TEXT, content=你能帮我画一只羊吗, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7feff3991a20>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'})
[INFO][2023-05-09 15:11:45][wechatmp_channel.py:84] - [wechatmp] text cached, receiver o1Ny_6k_yqZH0WorDdqO7rJURtD8
当然可以。由于我是一个语言模型,无法画出东西,但是我可以为你提供一些步骤来帮助你画一只羊。

你需要准备以下物品:

这就是画一只羊的基本步骤。希望能帮到你!
[DEBUG][2023-05-09 15:11:45][wechatmp_channel.py:208] - [wechatmp] Success to generate reply, msgId=24103592096665323
[DEBUG][2023-05-09 15:11:50][passive_reply.py:38] - [wechatmp] Receive post data:
<xml><ToUserName><![CDATA[gh_ef64340318ce]]></ToUserName>
<FromUserName><![CDATA[o1Ny_6k_yqZH0WorDdqO7rJURtD8]]></FromUserName>
<CreateTime>1683616309</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$hello 你好呀]]></Content>
<MsgId>24103589961924240</MsgId>
</xml>
[INFO][2023-05-09 15:11:50][passive_reply.py:97] - [wechatmp] Request 1 from o1Ny_6k_yqZH0WorDdqO7rJURtD8 24103589961924240 175.24.212.195:49938
$hello 你好呀
[INFO][2023-05-09 15:11:50][passive_reply.py:151] - [wechatmp] Request 1 do send to o1Ny_6k_yqZH0WorDdqO7rJURtD8 24103589961924240: $hello 你好呀
当然可以。由于我是一个语言模型,无法画出东西,但是我可以为你提供一些步骤来帮助你画一只羊。

你需要准备以下物品:

这就是画一只羊的基本步骤。希望能帮到你!
[DEBUG][2023-05-09 15:12:23][passive_reply.py:38] - [wechatmp] Receive post data:
<xml><ToUserName><![CDATA[gh_ef64340318ce]]></ToUserName>
<FromUserName><![CDATA[o1Ny_6k_yqZH0WorDdqO7rJURtD8]]></FromUserName>
<CreateTime>1683616343</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$hello 你好呀]]></Content>
<MsgId>24103590220309888</MsgId>
</xml>
[DEBUG][2023-05-09 15:12:23][passive_reply.py:62] - [wechatmp] context: Context(type=TEXT, content=$hello 你好呀, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7fefe826f5b0>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'}) ChatMessage: id=24103590220309888, create_time=1683616343, ctype=TEXT, content=$hello 你好呀, from_user_id=o1Ny_6k_yqZH0WorDdqO7rJURtD8, from_user_nickname=None, to_user_id=gh_ef64340318ce, to_user_nickname=None, other_user_id=o1Ny_6k_yqZH0WorDdqO7rJURtD8, other_user_nickname=None, is_group=False, is_at=False, actual_user_id=None, actual_user_nickname=None True
[INFO][2023-05-09 15:12:23][passive_reply.py:97] - [wechatmp] Request 1 from o1Ny_6k_yqZH0WorDdqO7rJURtD8 24103590220309888 81.69.101.237:23906
$hello 你好呀
[DEBUG][2023-05-09 15:12:23][chat_channel.py:309] - [WX] consume context: Context(type=TEXT, content=$hello 你好呀, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7fefe826f5b0>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'})
[DEBUG][2023-05-09 15:12:23][chat_channel.py:143] - [WX] ready to handle context: Context(type=TEXT, content=$hello 你好呀, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7fefe826f5b0>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'})
[DEBUG][2023-05-09 15:12:23][plugin_manager.py:163] - Plugin GODCMD triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:23][godcmd.py:206] - [Godcmd] on_handle_context. content: $hello 你好呀
[DEBUG][2023-05-09 15:12:23][plugin_manager.py:163] - Plugin KEYWORD triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:23][keyword.py:52] - [keyword] on_handle_context. content: $hello 你好呀
[DEBUG][2023-05-09 15:12:23][plugin_manager.py:163] - Plugin TOOL triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:23][tool.py:68] - [tool] on_handle_context. content: $hello 你好呀
[DEBUG][2023-05-09 15:12:23][plugin_manager.py:163] - Plugin ROLE triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:23][plugin_manager.py:163] - Plugin DUNGEON triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:23][dungeon.py:73] - [Dungeon] on_handle_context. content: ['$hello', '你好呀']
[DEBUG][2023-05-09 15:12:23][plugin_manager.py:163] - Plugin HELLO triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:23][hello.py:48] - [Hello] on_handle_context. content: $hello 你好呀
[DEBUG][2023-05-09 15:12:23][plugin_manager.py:163] - Plugin FINISH triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:23][finish.py:30] - [Finish] on_handle_context. content: $hello 你好呀
[DEBUG][2023-05-09 15:12:23][chat_channel.py:163] - [WX] ready to handle context: type=TEXT, content=$hello 你好呀
[INFO][2023-05-09 15:12:23][chat_gpt_bot.py:49] - [CHATGPT] query=$hello 你好呀
[DEBUG][2023-05-09 15:12:23][session_manager.py:70] - prompt tokens used=564
[DEBUG][2023-05-09 15:12:23][chat_gpt_bot.py:66] - [CHATGPT] session query=[{'role': 'system', 'content': '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'}, {'role': 'user', 'content': '你能帮我画一只羊吗'}, {'role': 'assistant', 'content': '当然可以。由于我是一个语言模型,无法画出东西,但是我可以为你提供一些步骤来帮助你画一只羊。\n\n你需要准备以下物品:\n\n- 一张纸\n- 一支铅笔\n- 一支橡皮擦\n- 一盒彩色铅笔或其它绘画工具\n\n以下是画一只羊的步骤:\n\n1. 首先,画出羊的头部。画一个椭圆形,稍微向上倾斜,这将成为羊的脸。\n\n2. 在羊脸的中心画出一对大眼睛。在眼睛下方画出一个小嘴巴,为羊加入一对耳朵。\n\n3. 接下来,画出羊的身体。从脸部的右下方开始画一个弧线,向下延伸并弯曲回到右侧的另一侧,形成羊的身体。\n\n4. 然后,画出羊的四条腿。画两条向下的长竖线,成为前腿。再画两条向右方的短横线,成为后腿。\n\n5. 接下来是羊的尾巴。画一个小弯曲的线条,从羊的身体后端向上伸出,然后向下弯曲。\n\n6. 最后,用彩色铅笔或其它绘画工具为羊进行着色,并在需要的地方用橡皮擦擦除不需要的铅笔线。\n\n这就是画一只羊的基本步骤。希望能帮到你!'}, {'role': 'user', 'content': '$hello 你好呀'}]
[DEBUG][2023-05-09 15:12:24][chat_gpt_bot.py:75] - [CHATGPT] new_query=[{'role': 'system', 'content': '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'}, {'role': 'user', 'content': '你能帮我画一只羊吗'}, {'role': 'assistant', 'content': '当然可以。由于我是一个语言模型,无法画出东西,但是我可以为你提供一些步骤来帮助你画一只羊。\n\n你需要准备以下物品:\n\n- 一张纸\n- 一支铅笔\n- 一支橡皮擦\n- 一盒彩色铅笔或其它绘画工具\n\n以下是画一只羊的步骤:\n\n1. 首先,画出羊的头部。画一个椭圆形,稍微向上倾斜,这将成为羊的脸。\n\n2. 在羊脸的中心画出一对大眼睛。在眼睛下方画出一个小嘴巴,为羊加入一对耳朵。\n\n3. 接下来,画出羊的身体。从脸部的右下方开始画一个弧线,向下延伸并弯曲回到右侧的另一侧,形成羊的身体。\n\n4. 然后,画出羊的四条腿。画两条向下的长竖线,成为前腿。再画两条向右方的短横线,成为后腿。\n\n5. 接下来是羊的尾巴。画一个小弯曲的线条,从羊的身体后端向上伸出,然后向下弯曲。\n\n6. 最后,用彩色铅笔或其它绘画工具为羊进行着色,并在需要的地方用橡皮擦擦除不需要的铅笔线。\n\n这就是画一只羊的基本步骤。希望能帮到你!'}, {'role': 'user', 'content': '$hello 你好呀'}], session_id=o1Ny_6k_yqZH0WorDdqO7rJURtD8, reply_cont=你好!有什么我可以帮助你解决的问题吗?, completion_tokens=22
[DEBUG][2023-05-09 15:12:24][session_manager.py:81] - raw total_tokens=586, savesession tokens=591
[DEBUG][2023-05-09 15:12:24][chat_channel.py:147] - [WX] ready to decorate reply: Reply(type=TEXT, content=你好!有什么我可以帮助你解决的问题吗?)
[DEBUG][2023-05-09 15:12:24][chat_channel.py:248] - [WX] ready to send reply: Reply(type=TEXT, content=你好!有什么我可以帮助你解决的问题吗?), context: Context(type=TEXT, content=$hello 你好呀, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7fefe826f5b0>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'})
[INFO][2023-05-09 15:12:24][wechatmp_channel.py:84] - [wechatmp] text cached, receiver o1Ny_6k_yqZH0WorDdqO7rJURtD8
你好!有什么我可以帮助你解决的问题吗?
[DEBUG][2023-05-09 15:12:24][wechatmp_channel.py:208] - [wechatmp] Success to generate reply, msgId=24103590220309888
[INFO][2023-05-09 15:12:24][passive_reply.py:151] - [wechatmp] Request 1 do send to o1Ny_6k_yqZH0WorDdqO7rJURtD8 24103590220309888: $hello 你好呀
你好!有什么我可以帮助你解决的问题吗?
[DEBUG][2023-05-09 15:12:34][passive_reply.py:38] - [wechatmp] Receive post data:
<xml><ToUserName><![CDATA[gh_ef64340318ce]]></ToUserName>
<FromUserName><![CDATA[o1Ny_6k_yqZH0WorDdqO7rJURtD8]]></FromUserName>
<CreateTime>1683616353</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$tool terminal 使用terminal工具告诉我当前路径下有哪些文件]]></Content>
<MsgId>24103591089362392</MsgId>
</xml>
[DEBUG][2023-05-09 15:12:34][passive_reply.py:62] - [wechatmp] context: Context(type=TEXT, content=$tool terminal 使用terminal工具告诉我当前路径下有哪些文件, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7fefe826dff0>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'}) ChatMessage: id=24103591089362392, create_time=1683616353, ctype=TEXT, content=$tool terminal 使用terminal工具告诉我当前路径下有哪些文件, from_user_id=o1Ny_6k_yqZH0WorDdqO7rJURtD8, from_user_nickname=None, to_user_id=gh_ef64340318ce, to_user_nikname=None, other_user_id=o1Ny_6k_yqZH0WorDdqO7rJURtD8, other_user_nickname=None, is_group=False, is_at=False, actual_user_id=None, actual_user_nickname=None True
[INFO][2023-05-09 15:12:34][passive_reply.py:97] - [wechatmp] Request 1 from o1Ny_6k_yqZH0WorDdqO7rJURtD8 24103591089362392 81.69.103.147:22744
$tool terminal 使用terminal工具告诉我当前路径下有哪些文件
[DEBUG][2023-05-09 15:12:34][chat_channel.py:309] - [WX] consume context: Context(type=TEXT, content=$tool terminal 使用terminal工具告诉我当前路径下有哪些文件, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7fefe826dff0>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'})
[DEBUG][2023-05-09 15:12:34][chat_channel.py:143] - [WX] ready to handle context: Context(type=TEXT, content=$tool terminal 使用terminal工具告诉我当前路径下有哪些文件, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7fefe826dff0>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'})
[DEBUG][2023-05-09 15:12:34][plugin_manager.py:163] - Plugin GODCMD triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:34][godcmd.py:206] - [Godcmd] on_handle_context. content: $tool terminal 使用terminal工具告诉我当前路径下有哪些文件
[DEBUG][2023-05-09 15:12:34][plugin_manager.py:163] - Plugin KEYWORD triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:34][keyword.py:52] - [keyword] on_handle_context. content: $tool terminal 使用terminal工具告诉我当前路径下有哪些文件
[DEBUG][2023-05-09 15:12:34][plugin_manager.py:163] - Plugin TOOL triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:34][tool.py:68] - [tool] on_handle_context. content: $tool terminal 使用terminal工具告诉我当前路径下有哪些文件
[DEBUG][2023-05-09 15:12:34][plugin_manager.py:163] - Plugin ROLE triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:34][plugin_manager.py:163] - Plugin DUNGEON triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:34][dungeon.py:73] - [Dungeon] on_handle_context. content: ['$tool', 'terminal 使用terminal工具告诉我当前路径下有哪些文件']
[DEBUG][2023-05-09 15:12:34][plugin_manager.py:163] - Plugin HELLO triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:34][hello.py:48] - [Hello] on_handle_context. content: $tool terminal 使用terminal工具告诉我当前路径下有哪些文件
[DEBUG][2023-05-09 15:12:34][plugin_manager.py:163] - Plugin FINISH triggered by event Event.ON_HANDLE_CONTEXT
[DEBUG][2023-05-09 15:12:34][finish.py:30] - [Finish] on_handle_context. content: $tool terminal 使用terminal工具告诉我当前路径下有哪些文件
[DEBUG][2023-05-09 15:12:34][chat_channel.py:163] - [WX] ready to handle context: type=TEXT, content=$tool terminal 使用terminal工具告诉我当前路径下有哪些文件
[INFO][2023-05-09 15:12:34][chat_gpt_bot.py:49] - [CHATGPT] query=$tool terminal 使用terminal工具告诉我当前路径下有哪些文件
[DEBUG][2023-05-09 15:12:34][session_manager.py:70] - prompt tokens used=615
[DEBUG][2023-05-09 15:12:34][chat_gpt_bot.py:66] - [CHATGPT] session query=[{'role': 'system', 'content': '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'}, {'role': 'user', 'content': '你能帮我画一只羊吗'}, {'role': 'assistant', 'content': '当然可以。由于我是一个语言模型,无法画出东西,但是我可以为你提供一些步骤来帮助你画一只羊。\n\n你需要准备以下物品:\n\n- 一张纸\n- 一支铅笔\n- 一支橡皮擦\n- 一盒彩色铅笔或其它绘画工具\n\n以下是画一只羊的步骤:\n\n1. 首先,画出羊的头部。画一个椭圆形,稍微向上倾斜,这将成为羊的脸。\n\n2. 在羊脸的中心画出一对大眼睛。在眼睛下方画出一个小嘴巴,为羊加入一对耳朵。\n\n3. 接下来,画出羊的身体。从脸部的右下方开始画一个弧线,向下延伸并弯曲回到右侧的另一侧,形成羊的身体。\n\n4. 然后,画出羊的四条腿。画两条向下的长竖线,成为前腿。再画两条向右方的短横线,成为后腿。\n\n5. 接下来是羊的尾巴。画一个小弯曲的线条,从羊的身体后端向上伸出,然后向下弯曲。\n\n6. 最后,用彩色铅笔或其它绘画工具为羊进行着色,并在需要的地方用橡皮擦擦除不需要的铅笔线。\n\n这就是画一只羊的基本步骤。希望能帮到你!'}, {'role': 'user', 'content': '$hello 你好呀'}, {'role': 'assistant', 'content': '你好!有什么我可以帮助你解决的问题吗?'}, {'role': 'user', 'content': '$tool terminal 使用terminal工具告诉我当前路径下有哪些文件'}]
[DEBUG][2023-05-09 15:12:39][passive_reply.py:38] - [wechatmp] Receive post data:
<xml><ToUserName><![CDATA[gh_ef64340318ce]]></ToUserName>
<FromUserName><![CDATA[o1Ny_6k_yqZH0WorDdqO7rJURtD8]]></FromUserName>
<CreateTime>1683616353</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$tool terminal 使用terminal工具告诉我当前路径下有哪些文件]]></Content>
<MsgId>24103591089362392</MsgId>
</xml>
[INFO][2023-05-09 15:12:39][passive_reply.py:97] - [wechatmp] Request 2 from o1Ny_6k_yqZH0WorDdqO7rJURtD8 24103591089362392 175.24.211.157:59808
$tool terminal 使用terminal工具告诉我当前路径下有哪些文件
[DEBUG][2023-05-09 15:12:44][passive_reply.py:38] - [wechatmp] Receive post data:
<xml><ToUserName><![CDATA[gh_ef64340318ce]]></ToUserName>
<FromUserName><![CDATA[o1Ny_6k_yqZH0WorDdqO7rJURtD8]]></FromUserName>
<CreateTime>1683616353</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$tool terminal 使用terminal工具告诉我当前路径下有哪些文件]]></Content>
<MsgId>24103591089362392</MsgId>
</xml>
[INFO][2023-05-09 15:12:44][passive_reply.py:97] - [wechatmp] Request 3 from o1Ny_6k_yqZH0WorDdqO7rJURtD8 24103591089362392 81.69.103.236:36818
$tool terminal 使用terminal工具告诉我当前路径下有哪些文件
[DEBUG][2023-05-09 15:12:45][chat_gpt_bot.py:75] - [CHATGPT] new_query=[{'role': 'system', 'content': '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'}, {'role': 'user', 'content': '你能帮我画一只羊吗'}, {'role': 'assistant', 'content': '当然可以。由于我是一个语言模型,无法画出东西,但是我可以为你提供一些步骤来帮助你画一只羊。\n\n你需要准备以下物品:\n\n- 一张纸\n- 一支铅笔\n- 一支橡皮擦\n- 一盒彩色铅笔或其它绘画工具\n\n以下是画一只羊的步骤:\n\n1. 首先,画出羊的头部。画一个椭圆形,稍微向上倾斜,这将成为羊的脸。\n\n2. 在羊脸的中心画出一对大眼睛。在眼睛下方画出一个小嘴巴,为羊加入一对耳朵。\n\n3. 接下来,画出羊的身体。从脸部的右下方开始画一个弧线,向下延伸并弯曲回到右侧的另一侧,形成羊的身体。\n\n4. 然后,画出羊的四条腿。画两条向下的长竖线,成为前腿。再画两条向右方的短横线,成为后腿。\n\n5. 接下来是羊的尾巴。画一个小弯曲的线条,从羊的身体后端向上伸出,然后向下弯曲。\n\n6. 最后,用彩色铅笔或其它绘画工具为羊进行着色,并在需要的地方用橡皮擦擦除不需要的铅笔线。\n\n这就是画一只羊的基本步骤。希望能帮到你!'}, {'role': 'user', 'content': '$hello 你好呀'}, {'role': 'assistant', 'content': '你好!有什么我可以帮助你解决的问题吗?'}, {'role': 'user', 'content': '$tool terminal 使用terminal工具告诉我当前路径下有哪些文件'}], session_id=o1Ny_6k_yqZH0WorDdqO7rJURtD8, reply_cont=如果你想查看当前目录下的所有文件,请使用以下命令:

ls


在运行后,终端程序将列出当前目录下的所有文件和文件夹的名称。

如果你想要显示所有文件,包括隐藏文件(文件名以句点开头),请使用以下命令:

ls -a


这将显示包括隐藏文件在内的所有文件和文件夹列表。

如果你想要显示详细的文件和文件夹信息,例如文件/文件夹的权限、所有者和创建日期,请使用以下命令:

ls -l


这将显示一个更详细的文件和文件夹列表,其中包含有关上述信息的更多详细信息。

你也可以将命令结合使用,同时显示详细信息和所有文件和文件夹:

ls -la


希望这能帮助你!, completion_tokens=233
[DEBUG][2023-05-09 15:12:45][session_manager.py:81] - raw total_tokens=848, savesession tokens=853
[DEBUG][2023-05-09 15:12:45][chat_channel.py:147] - [WX] ready to decorate reply: Reply(type=TEXT, content=如果你想查看当前目录下的所有文件,请使用以下命令:

ls


在运行后,终端程序将列出当前目录下的所有文件和文件夹的名称。

如果你想要显示所有文件,包括隐藏文件(文件名以句点开头),请使用以下命令:

ls -a


这将显示包括隐藏文件在内的所有文件和文件夹列表。

如果你想要显示详细的文件和文件夹信息,例如文件/文件夹的权限、所有者和创建日期,请使用以下命令:

ls -l


这将显示一个更详细的文件和文件夹列表,其中包含有关上述信息的更多详细信息。

你也可以将命令结合使用,同时显示详细信息和所有文件和文件夹:

ls -la


希望这能帮助你!)
[DEBUG][2023-05-09 15:12:45][chat_channel.py:248] - [WX] ready to send reply: Reply(type=TEXT, content=如果你想查看当前目录下的所有文件,请使用以下命令:

ls


在运行后,终端程序将列出当前目录下的所有文件和文件夹的名称。

如果你想要显示所有文件,包括隐藏文件(文件名以句点开头),请使用以下命令:

ls -a


这将显示包括隐藏文件在内的所有文件和文件夹列表。

如果你想要显示详细的文件和文件夹信息,例如文件/文件夹的权限、所有者和创建日期,请使用以下命令:

ls -l


这将显示一个更详细的文件和文件夹列表,其中包含有关上述信息的更多详细信息。

你也可以将命令结合使用,同时显示详细信息和所有文件和文件夹:

ls -la


希望这能帮助你!), context: Context(type=TEXT, content=$tool terminal 使用terminal工具告诉我当前路径下有哪些文件, kwargs={'isgroup': False, 'msg': <channel.wechatmp.wechatmp_message.WeChatMPMessage object at 0x7fefe826dff0>, 'origin_ctype': <ContextType.TEXT: 1>, 'openai_api_key': None, 'session_id': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8', 'receiver': 'o1Ny_6k_yqZH0WorDdqO7rJURtD8'})
[INFO][2023-05-09 15:12:45][wechatmp_channel.py:84] - [wechatmp] text cached, receiver o1Ny_6k_yqZH0WorDdqO7rJURtD8
如果你想查看当前目录下的所有文件,请使用以下命令:

ls


在运行后,终端程序将列出当前目录下的所有文件和文件夹的名称。

如果你想要显示所有文件,包括隐藏文件(文件名以句点开头),请使用以下命令:

ls -a


这将显示包括隐藏文件在内的所有文件和文件夹列表。

如果你想要显示详细的文件和文件夹信息,例如文件/文件夹的权限、所有者和创建日期,请使用以下命令:

ls -l


这将显示一个更详细的文件和文件夹列表,其中包含有关上述信息的更多详细信息。

你也可以将命令结合使用,同时显示详细信息和所有文件和文件夹:

ls -la


希望这能帮助你!
[DEBUG][2023-05-09 15:12:45][wechatmp_channel.py:208] - [wechatmp] Success to generate reply, msgId=24103591089362392
[INFO][2023-05-09 15:12:45][passive_reply.py:151] - [wechatmp] Request 3 do send to o1Ny_6k_yqZH0WorDdqO7rJURtD8 24103591089362392: $tool terminal 使用terminal工具告诉我当前路径下有哪些文件
如果你想查看当前目录下的所有文件,请使用以下命令:

ls


在运行后,终端程序将列出当前目录下的所有文件和文件夹的名称。

如果你想要显示所有文件,包括隐藏文件(文件名以句点开头),请使用以下命令:

ls -a


这将显示包括隐藏文件在内的所有文件和文件夹列表。

如果你想要显示详细的文件和文件夹信息,例如文件/文件夹的权限、所有者和创建日期,请使用以下命令:

ls -l


这将显示一个更详细的文件和文件夹列表,其中包含有关上述信息的更多详细信息。

你也可以将命令结合使用,同时显示详细信息和所有文件和文件夹:

ls -la


希望这能帮助你!
XiaoYuer2022 commented 1 year ago

还有个问题,按照requirements.txt和requirements-optional.txt安装了的python的依赖后,运行程序后,在tool.log还会显示缺少模块:torch和transformers,手动安装后tool.log就不会报错了

XiaoYuer2022 commented 1 year ago

我看tool文档说的启动命令是$tool terminal 任务,运行无效果。后来运行#help tool发现启动指令改成了&tool terminal 任务。现在能够使用tool插件了,但是我输入的命令和它得到的结果牛头不对马嘴,大佬可以帮忙看看怎么回事吗?如下图所示:

lanvent commented 1 year ago

反馈至 https://github.com/goldfishh/chatgpt-tool-hub