[geekan/MetaGPT]事件错误:[1214][历史参数。请检查文档。]

2024-05-16 769 views
1

错误描述

在运行examples\search_google.py示例时,出现“event error: [1214][history参数非法。请检查文档。] ”的错误

运行 example\search_google.py 时出现错误“事件错误:[1214][历史参数无效。请检查文档。]”。

Bug解决方法

环境信息

  • LLM类型和模型名称:ZhiPuAILLM chatglm_turbo
  • 系统版本:win11
  • Python版本:3.11.4
  • 软件包版本:
  • 安装方法:

截图或日志

2024-01-08 22:54:34.334 | INFO     | metagpt.const:get_metagpt_package_root:32 - Package root set to D:\workspace\sourcecode\MetaGPT
2024-01-08 22:54:34.521 | INFO     | metagpt.config:get_default_llm_provider_enum:126 - API: LLMProviderEnum.ZHIPUAI
2024-01-08 22:54:37.764 | INFO     | metagpt.config:get_default_llm_provider_enum:126 - API: LLMProviderEnum.ZHIPUAI
2024-01-08 22:54:37.772 | INFO     | metagpt.config:get_default_llm_provider_enum:126 - API: LLMProviderEnum.ZHIPUAI
2024-01-08 22:54:37.773 | INFO     | metagpt.roles.searcher:_act_sp:60 - Alice(Smart Assistant): to do SearchAndSummarize(SearchAndSummarize)
2024-01-08 22:54:39.616 | ERROR    | metagpt.provider.zhipuai_api:_achat_completion_stream:102 - event error: [1214][history参数非法。请检查文档。]
2024-01-08 22:54:39.617 | INFO     | metagpt.utils.cost_manager:update_cost:48 - Total running cost: $0.000 | Max budget: $10.000 | Current cost: $0.000, prompt_tokens: 0, completion_tokens: 0

回答

5

@springasa 好的。问题是https://github.com/geekan/MetaGPT/blob/main/metagpt/actions/search_and_summarize.py#L155添加额外的内容system_prompt,不考虑 llm 是否有 system_prompt 。

您可以尝试metagpt/actions/search_and_summarize.py
将系统提示移动到用户提示中以保持搜索效果。

SEARCH_AND_SUMMARIZE_SALES_PROMPT = """
{SYSTEM_PROMPT}

## Reference Information
{CONTEXT}

## Dialogue History
{QUERY_HISTORY}
{QUERY}
> {ROLE}: 

"""
        prompt = SEARCH_AND_SUMMARIZE_PROMPT.format(
            SYSTEM_PROMPT=SEARCH_AND_SUMMARIZE_SYSTEM,
            ROLE=self.prefix,
            CONTEXT=rsp,
            QUERY_HISTORY="\n".join([str(i) for i in context[:-1]]),
            QUERY=str(context[-1]),
        )
        result = await self._aask(prompt)

如果 llm 不支持 system_prompt,将会修复删除 system_prompt。

0

@springasa 修复https://github.com/geekan/MetaGPT/pull/732已提交。

由于ZhipuAI不会使用system_prompt(SEARCH_AND_SUMMARIZE_SYSTEM),所以SEARCH_AND_SUMMARIZE_PROMPT会被丢弃。虽然可以成功。但如果你想得到更好的结果,也许你可以SEARCH_AND_SUMMARIZE_SYSTEM在里面添加SEARCH_AND_SUMMARIZE_PROMPT.