Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.3版网络搜索报错 #4359

Open
yang9366 opened this issue Jun 28, 2024 · 5 comments
Open

0.3版网络搜索报错 #4359

yang9366 opened this issue Jun 28, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@yang9366
Copy link

yang9366 commented Jun 28, 2024

已经配置好bing_key

{'status': 4, 'tool_name': 'search_internet', 'tool_input': {'query': {'title': '大模型最新消息', 'description': '关于大模型的最新进展和研究动态', 'type': 'string'}}, 'text': 'Thought: 我需要搜索相关信息。\nAction: search_internet\nAction Input: {"query": {"title": "大模型最新消息", "description": "关于大模型的最新进展和研究动态", "type": "string"}}'}
<class 'pydantic.v1.main.search_internetSchema'>
{'run_id': 'bc9ddd1b-a7a0-451f-97fb-2def62f9630b', 'status': 6, 'tool': 'search_internet', 'tool_input': "{'query': {'title': '大模型最新消息', 'description': '关于大模型的最新进展和研究动态', 'type': 'string'}}"}
2024-06-28 16:23:39,575 root         674266 ERROR    1 validation error for search_internetSchema
query
  str type expected (type=type_error.str)
Traceback (most recent call last):
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/chatchat/server/utils.py", line 46, in wrap_done
    await fn
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 2536, in ainvoke
    input = await step.ainvoke(
            ^^^^^^^^^^^^^^^^^^^
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/langchain/chains/base.py", line 212, in ainvoke
    raise e
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/langchain/chains/base.py", line 203, in ainvoke
    await self._acall(inputs, run_manager=run_manager)
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/langchain/agents/agent.py", line 1481, in _acall
    next_step_output = await self._atake_next_step(
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/langchain/agents/agent.py", line 1275, in _atake_next_step
    [
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/langchain/agents/agent.py", line 1275, in <listcomp>
    [
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/langchain/agents/agent.py", line 1359, in _aiter_next_step
    result = await asyncio.gather(
             ^^^^^^^^^^^^^^^^^^^^^
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/langchain/agents/agent.py", line 1392, in _aperform_agent_action
    observation = await tool.arun(
                  ^^^^^^^^^^^^^^^^
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/langchain_core/tools.py", line 520, in arun
    raise e
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/langchain_core/tools.py", line 497, in arun
    parsed_input = self._parse_input(tool_input)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/chatchat/server/agent/tools_factory/tools_registry.py", line 38, in _new_parse_input
    result = input_args.parse_obj(tool_input)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/pydantic/v1/main.py", line 526, in parse_obj
    return cls(**obj)
           ^^^^^^^^^^
  File "/etc/miniconda3/envs/chatchat/lib/python3.11/site-packages/pydantic/v1/main.py", line 341, in __init__
    raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for search_internetSchema
query
  str type expected (type=type_error.str)
2024-06-28 16:23:39,577 root         674266 ERROR    ValidationError: Caught exception: 1 validation error for search_internetSchema
query
  str type expected (type=type_error.str)```

def new_parse_input(
self,
tool_input: Union[str, Dict],
) -> Union[str, Dict[str, Any]]:
"""Convert tool input to pydantic model."""
input_args = self.args_schema
print('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')
print(input_args) #<class 'pydantic.v1.main.search_internetSchema'> 但是这个类根本没找到从哪来的
print(tool_input) #{'query': {'title': '大模型最新消息', 'description': '大模型最近的新闻和发展', 'type': 'string'}}
if isinstance(tool_input, str):
if input_args is not None:
key
= next(iter(input_args.fields.keys()))
input_args.validate({key_: tool_input})
return tool_input
else:
if input_args is not None:
result = input_args.parse_obj(tool_input) #报错的地方
return result.dict()



@yang9366 yang9366 added the bug Something isn't working label Jun 28, 2024
@yang9366
Copy link
Author

大佬们请指教

@yang9366 yang9366 changed the title 网络搜索报错 0.3版网络搜索报错 Jun 28, 2024
@Modas-Li
Copy link

same issue:

Traceback (most recent call last):
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/chatchat/server/utils.py", line 46, in wrap_done
await fn
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain_core/runnables/base.py", line 2536, in ainvoke
input = await step.ainvoke(
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/chains/base.py", line 212, in ainvoke
raise e
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/chains/base.py", line 203, in ainvoke
await self._acall(inputs, run_manager=run_manager)
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/agents/agent.py", line 1481, in _acall
next_step_output = await self._atake_next_step(
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/agents/agent.py", line 1275, in _atake_next_step
[
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/agents/agent.py", line 1275, in
[
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/agents/agent.py", line 1359, in _aiter_next_step
result = await asyncio.gather(
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/agents/agent.py", line 1392, in _aperform_agent_action
observation = await tool.arun(
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain_core/tools.py", line 520, in arun
raise e
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain_core/tools.py", line 497, in arun
parsed_input = self._parse_input(tool_input)
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/chatchat/server/agent/tools_factory/tools_registry.py", line 36, in _new_parse_input
result = input_args.parse_obj(tool_input)
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/pydantic/v1/main.py", line 526, in parse_obj
return cls(**obj)
File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/pydantic/v1/main.py", line 341, in init
raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for search_internetSchema
query
str type expected (type=type_error.str)
2024-06-28 23:43:43,914 root 81303 ERROR ValidationError: Caught exception: 1 validation error for search_internetSchema
query
str type expected (type=type_error.str)

@yang9366
Copy link
Author

yang9366 commented Jun 30, 2024

same issue:

Traceback (most recent call last): File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/chatchat/server/utils.py", line 46, in wrap_done await fn File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain_core/runnables/base.py", line 2536, in ainvoke input = await step.ainvoke( File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/chains/base.py", line 212, in ainvoke raise e File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/chains/base.py", line 203, in ainvoke await self._acall(inputs, run_manager=run_manager) File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/agents/agent.py", line 1481, in _acall next_step_output = await self._atake_next_step( File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/agents/agent.py", line 1275, in _atake_next_step [ File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/agents/agent.py", line 1275, in [ File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/agents/agent.py", line 1359, in _aiter_next_step result = await asyncio.gather( File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain/agents/agent.py", line 1392, in _aperform_agent_action observation = await tool.arun( File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain_core/tools.py", line 520, in arun raise e File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/langchain_core/tools.py", line 497, in arun parsed_input = self._parse_input(tool_input) File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/chatchat/server/agent/tools_factory/tools_registry.py", line 36, in _new_parse_input result = input_args.parse_obj(tool_input) File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/pydantic/v1/main.py", line 526, in parse_obj return cls(**obj) File "/data/anaconda3/envs/chatchat/lib/python3.10/site-packages/pydantic/v1/main.py", line 341, in init raise validation_error pydantic.v1.error_wrappers.ValidationError: 1 validation error for search_internetSchema query str type expected (type=type_error.str) 2024-06-28 23:43:43,914 root 81303 ERROR ValidationError: Caught exception: 1 validation error for search_internetSchema query str type expected (type=type_error.str)

server--agent--tools_factory--tools_registry.py _new_parse_input

if isinstance(tool_input, str):
    if input_args is not None:
        key_ = next(iter(input_args.__fields__.keys()))
        input_args.validate({key_: tool_input})
    return tool_input
else:
    if input_args is not None:
        # result = input_args.parse_obj(tool_input)  # I commented out these two lines and then the code started working
        # return result.dict()
        return tool_input['query']['title'] #replace with this code

@yang9366 yang9366 reopened this Jun 30, 2024
@yhfgyyf
Copy link
Contributor

yhfgyyf commented Jun 30, 2024

使用的llm是哪个?看日志应该是传参错误,这里的tool封装,容易把description当做参数传递,就会抱错。

@yang9366
Copy link
Author

使用的llm是哪个?看日志应该是传参错误,这里的tool封装,容易把description当做参数传递,就会抱错。

用的qwen-chat 我明天换qwen2试试

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants