mirror of
https://github.com/langchain-ai/docs.git
synced 2026-08-27 21:00:00 -04:00
233 lines
8.5 KiB
Plaintext
233 lines
8.5 KiB
Plaintext
<CodeGroup>
|
|
```python Google
|
|
from langchain.agents import create_agent
|
|
from langchain_core.utils.uuid import uuid7
|
|
from langgraph.checkpoint.memory import InMemorySaver
|
|
|
|
def get_weather(city: str) -> str:
|
|
"""Get weather for a given city."""
|
|
return f"It's always sunny in {city}!"
|
|
|
|
agent = create_agent(
|
|
model="google_genai:gemini-3.6-flash",
|
|
tools=[get_weather],
|
|
checkpointer=InMemorySaver()
|
|
)
|
|
config = {"configurable": {"thread_id": str(uuid7())}}
|
|
stream = agent.stream_events( # [!code highlight]
|
|
{"messages": [{"role": "user", "content": "What is the weather in SF?"}]},
|
|
config=config,
|
|
version="v3", # [!code highlight]
|
|
)
|
|
for kind, item in stream.interleave("messages", "tool_calls"): # [!code highlight]
|
|
if kind == "messages":
|
|
for token in item.text:
|
|
print(token, end="", flush=True)
|
|
elif kind == "tool_calls":
|
|
print(f"\nTool call: {item.tool_name}({item.input})")
|
|
for delta in item.output_deltas:
|
|
print(delta, end="", flush=True)
|
|
print(f"\nTool result: {item.output}")
|
|
|
|
final_state = stream.output # [!code highlight]
|
|
```
|
|
|
|
```python OpenAI
|
|
from langchain.agents import create_agent
|
|
from langchain_core.utils.uuid import uuid7
|
|
from langgraph.checkpoint.memory import InMemorySaver
|
|
|
|
def get_weather(city: str) -> str:
|
|
"""Get weather for a given city."""
|
|
return f"It's always sunny in {city}!"
|
|
|
|
agent = create_agent(
|
|
model="openai:gpt-5.5",
|
|
tools=[get_weather],
|
|
checkpointer=InMemorySaver()
|
|
)
|
|
config = {"configurable": {"thread_id": str(uuid7())}}
|
|
stream = agent.stream_events( # [!code highlight]
|
|
{"messages": [{"role": "user", "content": "What is the weather in SF?"}]},
|
|
config=config,
|
|
version="v3", # [!code highlight]
|
|
)
|
|
for kind, item in stream.interleave("messages", "tool_calls"): # [!code highlight]
|
|
if kind == "messages":
|
|
for token in item.text:
|
|
print(token, end="", flush=True)
|
|
elif kind == "tool_calls":
|
|
print(f"\nTool call: {item.tool_name}({item.input})")
|
|
for delta in item.output_deltas:
|
|
print(delta, end="", flush=True)
|
|
print(f"\nTool result: {item.output}")
|
|
|
|
final_state = stream.output # [!code highlight]
|
|
```
|
|
|
|
```python Anthropic
|
|
from langchain.agents import create_agent
|
|
from langchain_core.utils.uuid import uuid7
|
|
from langgraph.checkpoint.memory import InMemorySaver
|
|
|
|
def get_weather(city: str) -> str:
|
|
"""Get weather for a given city."""
|
|
return f"It's always sunny in {city}!"
|
|
|
|
agent = create_agent(
|
|
model="anthropic:claude-sonnet-4-6",
|
|
tools=[get_weather],
|
|
checkpointer=InMemorySaver()
|
|
)
|
|
config = {"configurable": {"thread_id": str(uuid7())}}
|
|
stream = agent.stream_events( # [!code highlight]
|
|
{"messages": [{"role": "user", "content": "What is the weather in SF?"}]},
|
|
config=config,
|
|
version="v3", # [!code highlight]
|
|
)
|
|
for kind, item in stream.interleave("messages", "tool_calls"): # [!code highlight]
|
|
if kind == "messages":
|
|
for token in item.text:
|
|
print(token, end="", flush=True)
|
|
elif kind == "tool_calls":
|
|
print(f"\nTool call: {item.tool_name}({item.input})")
|
|
for delta in item.output_deltas:
|
|
print(delta, end="", flush=True)
|
|
print(f"\nTool result: {item.output}")
|
|
|
|
final_state = stream.output # [!code highlight]
|
|
```
|
|
|
|
```python OpenRouter
|
|
from langchain.agents import create_agent
|
|
from langchain_core.utils.uuid import uuid7
|
|
from langgraph.checkpoint.memory import InMemorySaver
|
|
|
|
def get_weather(city: str) -> str:
|
|
"""Get weather for a given city."""
|
|
return f"It's always sunny in {city}!"
|
|
|
|
agent = create_agent(
|
|
model="openrouter:z-ai/glm-5.2",
|
|
tools=[get_weather],
|
|
checkpointer=InMemorySaver()
|
|
)
|
|
config = {"configurable": {"thread_id": str(uuid7())}}
|
|
stream = agent.stream_events( # [!code highlight]
|
|
{"messages": [{"role": "user", "content": "What is the weather in SF?"}]},
|
|
config=config,
|
|
version="v3", # [!code highlight]
|
|
)
|
|
for kind, item in stream.interleave("messages", "tool_calls"): # [!code highlight]
|
|
if kind == "messages":
|
|
for token in item.text:
|
|
print(token, end="", flush=True)
|
|
elif kind == "tool_calls":
|
|
print(f"\nTool call: {item.tool_name}({item.input})")
|
|
for delta in item.output_deltas:
|
|
print(delta, end="", flush=True)
|
|
print(f"\nTool result: {item.output}")
|
|
|
|
final_state = stream.output # [!code highlight]
|
|
```
|
|
|
|
```python Fireworks
|
|
from langchain.agents import create_agent
|
|
from langchain_core.utils.uuid import uuid7
|
|
from langgraph.checkpoint.memory import InMemorySaver
|
|
|
|
def get_weather(city: str) -> str:
|
|
"""Get weather for a given city."""
|
|
return f"It's always sunny in {city}!"
|
|
|
|
agent = create_agent(
|
|
model="fireworks:accounts/fireworks/models/glm-5p2",
|
|
tools=[get_weather],
|
|
checkpointer=InMemorySaver()
|
|
)
|
|
config = {"configurable": {"thread_id": str(uuid7())}}
|
|
stream = agent.stream_events( # [!code highlight]
|
|
{"messages": [{"role": "user", "content": "What is the weather in SF?"}]},
|
|
config=config,
|
|
version="v3", # [!code highlight]
|
|
)
|
|
for kind, item in stream.interleave("messages", "tool_calls"): # [!code highlight]
|
|
if kind == "messages":
|
|
for token in item.text:
|
|
print(token, end="", flush=True)
|
|
elif kind == "tool_calls":
|
|
print(f"\nTool call: {item.tool_name}({item.input})")
|
|
for delta in item.output_deltas:
|
|
print(delta, end="", flush=True)
|
|
print(f"\nTool result: {item.output}")
|
|
|
|
final_state = stream.output # [!code highlight]
|
|
```
|
|
|
|
```python Baseten
|
|
from langchain.agents import create_agent
|
|
from langchain_core.utils.uuid import uuid7
|
|
from langgraph.checkpoint.memory import InMemorySaver
|
|
|
|
def get_weather(city: str) -> str:
|
|
"""Get weather for a given city."""
|
|
return f"It's always sunny in {city}!"
|
|
|
|
agent = create_agent(
|
|
model="baseten:zai-org/GLM-5.2",
|
|
tools=[get_weather],
|
|
checkpointer=InMemorySaver()
|
|
)
|
|
config = {"configurable": {"thread_id": str(uuid7())}}
|
|
stream = agent.stream_events( # [!code highlight]
|
|
{"messages": [{"role": "user", "content": "What is the weather in SF?"}]},
|
|
config=config,
|
|
version="v3", # [!code highlight]
|
|
)
|
|
for kind, item in stream.interleave("messages", "tool_calls"): # [!code highlight]
|
|
if kind == "messages":
|
|
for token in item.text:
|
|
print(token, end="", flush=True)
|
|
elif kind == "tool_calls":
|
|
print(f"\nTool call: {item.tool_name}({item.input})")
|
|
for delta in item.output_deltas:
|
|
print(delta, end="", flush=True)
|
|
print(f"\nTool result: {item.output}")
|
|
|
|
final_state = stream.output # [!code highlight]
|
|
```
|
|
|
|
```python Ollama
|
|
from langchain.agents import create_agent
|
|
from langchain_core.utils.uuid import uuid7
|
|
from langgraph.checkpoint.memory import InMemorySaver
|
|
|
|
def get_weather(city: str) -> str:
|
|
"""Get weather for a given city."""
|
|
return f"It's always sunny in {city}!"
|
|
|
|
agent = create_agent(
|
|
model="ollama:north-mini-code-1.0",
|
|
tools=[get_weather],
|
|
checkpointer=InMemorySaver()
|
|
)
|
|
config = {"configurable": {"thread_id": str(uuid7())}}
|
|
stream = agent.stream_events( # [!code highlight]
|
|
{"messages": [{"role": "user", "content": "What is the weather in SF?"}]},
|
|
config=config,
|
|
version="v3", # [!code highlight]
|
|
)
|
|
for kind, item in stream.interleave("messages", "tool_calls"): # [!code highlight]
|
|
if kind == "messages":
|
|
for token in item.text:
|
|
print(token, end="", flush=True)
|
|
elif kind == "tool_calls":
|
|
print(f"\nTool call: {item.tool_name}({item.input})")
|
|
for delta in item.output_deltas:
|
|
print(delta, end="", flush=True)
|
|
print(f"\nTool result: {item.output}")
|
|
|
|
final_state = stream.output # [!code highlight]
|
|
```
|
|
</CodeGroup>
|