Langchain-Chatchat [BUG] 在使用agent进行对话时,模型无法提供正确的工具调用参数,

ukdjmx9f  于 2个月前  发布在  其他
关注(0)|答案(3)|浏览(44)

问题描述 / Problem Description

在使用agent进行对话时,模型无法给出正确的工具调用参数。当我想要搜索印度高温的时候,得到如下模型过程:

思考:为了提供一份关于最近印度热浪的灾难报告,我需要从可靠的新闻来源收集信息。
行动:

aiqt4smr

aiqt4smr1#

系统内存是65662912 kB。
埃尔登法环DLC中有许多轮椅,包括盾戳流、血血怪铁王八、突刺盾、双小曲跳劈吸血、 Mage 拒绝的刺以及最强大的癫火调香瓶等。这些流派在没有收集幽影树碎片的情况下也能单杀梅瑟莫等强大敌人。在黄金树之影DLC中,玩家可以体验到这些轮椅流派带来的高效推图和打boss体验。

3qpi33ja

3qpi33ja2#

我用qwen2-7b也遇到了同样的问题,最后将setting.py里的qwen提示词稍微改了下:"Thought: you should always think about the correct input format and what to do\n" 效果会好一点点,但不多。
系统内存是多少
assistant avatar Thought: 我需要使用shell API来执行命令以获取系统内存信息。
Action: shell
Action Input: {"query": "cat /proc/meminfo | grep MemTotal"}
系统内存是65662912 kB。
埃尔登法环dlc中有哪些轮椅
assistant avatar Thought: 我需要搜索关于《艾登法环》DLC中的轮椅的信息。 Action: search_internet Action Input: {"query": {"title": "艾登法环 DLC 中的轮椅", "description": "需要找到《艾登法环》DLC中所有与轮椅相关的物品或内容。"}}
埃尔登法环dlc中有哪些轮椅武器
assistant avatar Thought: 我需要从互联网上搜索有关《艾尔登法环》DLC中的轮椅武器的信息。
Action: search_internet
Action Input: {"query": "艾尔登法环dlc 轮椅武器"}
《艾尔登法环》DLC中包含多种强大的轮椅流派,如盾戳流、血血怪铁王八、突刺盾、双小曲跳劈吸血、 Mage 拒绝的刺以及最强大的癫火调香瓶等。这些流派在没有收集幽影树碎片的情况下也能单杀梅瑟莫等强大敌人。在黄金树之影DLC中,玩家可以体验到这些轮椅流派带来的高效推图和打boss体验。
感谢,我改prompt试试

qij5mzcb

qij5mzcb3#

我用qwen2-7b也遇到了同样的问题,最后将setting.py里的qwen提示词稍微改了下: "Thought: you should always think about the correct input format and what to do\n" 效果会好一点点,但不多。
系统内存是多少
assistant avatar Thought: 我需要使用shell API来执行命令以获取系统内存信息。
Action: shell
Action Input: {"query": "cat /proc/meminfo | grep MemTotal"}
系统内存是65662912 kB。
埃尔登法环dlc中有哪些轮椅
assistant avatar Thought: 我需要搜索关于《艾登法环》DLC中的轮椅的信息。 Action: search_internet Action Input: {"query": {"title": "艾登法环 DLC 中的轮椅", "description": "需要找到《艾登法环》DLC中所有与轮椅相关的物品或内容。"}}
埃尔登法环dlc中有哪些轮椅武器
assistant avatar Thought: 我需要从互联网上搜索有关《艾尔登法环》DLC中的轮椅武器的信息。
Action: search_internet
Action Input: {"query": "艾尔登法环dlc 轮椅武器"}
《艾尔登法环》DLC中包含多种强大的轮椅流派,如盾戳流、血血怪铁王八、突刺盾、双小曲跳劈吸血、 Mage 拒绝的刺以及最强大的癫火调香瓶等。这些流派在没有收集幽影树碎片的情况下也能单杀梅瑟莫等强大敌人。在黄金树之影DLC中,玩家可以体验到这些轮椅流派带来的高效推图和打boss体验。
改prompt不太管用,查了半天发现可以通过修改search_internet.py里面工具的输入参数格式来解决:

from typing import Dict, List,Union,Any
QueryType = Dict[str, str]
@regist_tool(title="互联网搜索")
def search_internet(query: QueryType = Field(description="query for Internet search")):
    """Use this tool to use bing search engine to search the internet and get information."""
    return BaseToolOutput(search_engine(query=query['title']), format=format_context)

相关问题