TypeError: langchain_core.language_models.chat_models.BaseChatModel.generate_prompt() 函数的关键字参数 'callbacks' 收到了多个值,

1cklez4t  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(48)

检查其他资源

  • 为这个问题添加了一个非常描述性的标题。
  • 使用集成搜索在LangChain文档中搜索。
  • 使用GitHub搜索查找类似问题,但没有找到。
  • 我确信这是LangChain中的一个bug,而不是我的代码。
  • 通过更新到LangChain的最新稳定版本(或特定集成包)无法解决此错误。

示例代码

from langchain_aws import ChatBedrock
from langchain_experimental.llms.anthropic_functions import AnthropicFunctions
from dotenv import load_dotenv
load_dotenv()

# 使用所需的参数初始化LLM

llm = ChatBedrock(
    model_id="anthropic.claude-3-haiku-20240307-v1:0",
    model_kwargs={"temperature": 0.1},
    region_name="us-east-1"
)

# 用LLM初始化AnthropicFunctions

base_model = AnthropicFunctions(llm=llm)

# 为模型定义函数参数

functions = [
    {
        "name": "get_current_weather",
        "description": "获取给定位置的当前天气",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "城市和州,例如旧金山,CA",
                },
                "unit": {
                    "type": "string",
                    "enum": ["celsius", "fahrenheit"],
                },
            },
            "required": ["location"],
        },
    }
]

# 将函数绑定到模型,而不会引起关键字冲突

model = base_model.bind(
    functions=functions,
    function_call={"name": "get_current_weather"}
)

# 使用提供的输入调用模型

res = model.invoke("旧金山的天气如何?")

# 从响应中提取并打印函数调用

function_call = res.additional_kwargs.get("function_call")
print("function_call", function_call)
emeijp43

emeijp431#

是否有任何解决方法?

vd2z7a6w

vd2z7a6w2#

我创建了自己的解析器,实际上它已经工作了。假设我有一个监督者代理和另外两个代理,如果他们想与监督者交谈,那么给我一个错误(验证异常):在调用Converse操作时发生错误:对话必须在用户和助手角色之间交替进行。请确保对话在用户和助手角色之间交替进行,然后再试一次。

相关问题