langchain ChatAnthropicVertex + AgentExecutor => 与其他聊天功能相比,输出结果不一致,

9avjhtql  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(77)

检查其他资源

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

示例代码

# prompt
from langchain_core.prompts import ChatPromptTemplate, HumanMessagePromptTemplate, SystemMessagePromptTemplate, PromptTemplate, MessagesPlaceholder

prompt = ChatPromptTemplate.from_messages(
    [
        SystemMessagePromptTemplate(prompt=PromptTemplate(input_variables=[], template='You are a helpful assistant')),
        MessagesPlaceholder(variable_name='chat_history', optional=True),
        HumanMessagePromptTemplate(prompt=PromptTemplate(input_variables=['input'], template='{input}')),
        MessagesPlaceholder(variable_name='agent_scratchpad')
    ]
)

# tools
from langchain.tools import BaseTool, StructuredTool, tool

@tool
def multiply(a: int, b: int) -> int:
    """Multiply two numbers."""
    return a * b

tools = [multiply]

# model
from langchain_openai.chat_models import ChatOpenAI
from langchain_google_vertexai import ChatVertexAI
from langchain_groq import ChatGroq
from langchain_google_vertexai.model_garden import ChatAnthropicVertex

#model = ChatOpenAI(model="gpt-4o")
#model = ChatGroq(model_name="llama3-70b-8192", temperature=0, max_tokens=1000)
#model = ChatVertexAI(model_name="gemini-1.5-flash-001", location="us-east5", project="my_gcp_project")
model = ChatAnthropicVertex(model_name="claude-3-haiku@20240307", location="us-east5", project="my_gcp_project")

# agent
from langchain.agents import create_tool_calling_agent
agent = create_tool_calling_agent(model, tools, prompt)

# agent executor
from langchain.agents import AgentExecutor
agent_executor = AgentExecutor(agent=agent, tools=tools, max_iterations=10, verbose=True)
agent_executor.invoke({"input": "hi!"})

错误消息和堆栈跟踪(如果适用)

OpenAI: gpt-4o

{'input': 'hi!', 'output': 'Hello! How can I assist you today?'}

Groq: llama3-70b-8192

{'input': 'hi!',
 'output': "Hi! It's nice to meet you. Is there something I can help you with or would you like to chat?"}

VertexAI: gemini-1.5-flash-001

{'input': 'hi!', 'output': 'Hello! 👋 How can I help you today? 😊 \n'}

VertexAI: claude-3-haiku@20240307

{'input': 'hi!',
 'output': [{'text': 'Hello! How can I assist you today?',
   'type': 'text',
   'index': 0}]}

描述

ChatAnthropicVertex 生成的结构与langchain中其他函数(如ChatOpenAIChatGroq)不同的代理执行器输出,这导致了下游错误,例如在以下位置描述的问题: #24003

系统信息

langchain==0.2.7
langchain-community==0.2.7
langchain-core==0.2.12
langchain-google-vertexai==1.0.6
langchain-groq==0.1.6
langchain-openai==0.1.14
langchain-text-splitters==0.2.2
langchainhub==0.1.20

hm2xizp9

hm2xizp91#

你好,@eyurtsev
我希望你过得很好。我想跟进这个问题,因为它已经开放了两周,但没有得到回复。我遇到了一个问题,即Anthropic模型(在任何云提供商上)与AgentExecutor类不兼容,如果你能提供任何指导或见解,我将不胜感激。
提前感谢

翻译结果:你好,@eyurtsev
我希望你过得很好。我想跟进这个问题,因为它已经开放了两周,但没有得到回复。我遇到了一个问题,即Anthropic模型(在任何云提供商上)与AgentExecutor类不兼容,如果你能提供任何指导或见解,我将不胜感激。
提前感谢

相关问题