Fügen Sie das Tool des Web_Search_Preview hinzu, um Langchain aufzurufen

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Fügen Sie das Tool des Web_Search_Preview hinzu, um Langchain aufzurufen

by Anonymous » 25 Aug 2025, 16:05

Ich arbeite mit Langgraph und Langchain und muss meinem Modell das Werkzeug web_search_preview in ein Modell web_search_preview hinzufügen. In einem Statusgrafikknoten. Ich kann sehen, dass das Tool bei direkter Verwendung mit dem OpenAI-Client funktioniert, aber ich habe Probleme, es in meinen Langgraph-Workflow zu integrieren.

Code: Select all

from langchain_openai import ChatOpenAI
from langchain_core.messages import SystemMessage, HumanMessage
from langgraph.graph import StateGraph, START, END
from langgraph.checkpoint.memory import MemorySaver

# Model initialization
model = ChatOpenAI(
model="gpt-4.1",
temperature=0.3
)

# State definition
class AssistanceState(TypedDict):
messages: Annotated[list, add_messages]
user_profile: Dict
chat_id: str
# ... other fields

# Node function where I want to use web_search_preview
def conversation(state: AssistanceState) -> AssistanceState:
user_profile = state.get("user_profile", {})

system_content = f"""
Eres un asistente culinario experto...
{user_profile}
"""

messages = [SystemMessage(content=system_content)] + state["messages"]
config = {"configurable": {"thread_id": state["chat_id"]}}

# This is where I want to add web_search_preview tool
response = model.invoke(messages, config=config)

return {"messages": [response]}
< /code>
 Was ich ausprobiert habe < /H2>
Ich habe versucht, das Tool an das Modell wie dieses zu binden:# Attempt 1: Binding tools before invoke
model.bind_tools(tools=[{"type": "web_search_preview"}])
response = model.invoke(messages, config=config, tools=[{"type": "web_search_preview"}])

# Attempt 2: Passing tools directly in invoke
response = model.invoke(messages, config=config, tools=[{"type": "web_search_preview"}])

# Attempt 3: Using the OpenAI client directly (this works)
def search_web_openai(query: str) -> str:
response = client.responses.create(
model="gpt-4.1",
tools=[{"type": "web_search_preview"}],
input=query
)
# ... process response
Das Problem
Das Tool web_search_preview funktioniert perfekt, wenn ich den OpenAI -Client direkt verwende, aber wenn ich versuche, es in meinen Langgraph -Workflow mit dem Modell zu integrieren. />
Wie kann ich ein Langchain -Modell in einem Langgraph -Knoten ordnungsgemäß zu einem Langchain -Modell hinzufügen? Muss das Tool mit Langchains Invoke-Methode arbeiten? /> Python: 3.9+< /li>
< /ul>
Erwartete Verhalten < /h2>
Ich möchte, dass das Modell das web_search_prevreview < /code> Tool verwenden kann, wenn sie auf Benutzeranfragen innerhalb meines Langgraf -Workflows reagieren. wäre sehr geschätzt!

Top