adapters.langchain_adapter
LangChain agent adapter.
Wraps a LangChain agent/chain to implement the BaseAgent interface, enabling use with protocol adapters.
LangChainAdapter Objects
class LangChainAdapter(BaseAgent)
Adapter for LangChain agents.
Wraps a LangChain agent or chain to provide a consistent interface for protocol adapters.
Example:
from langchain.agents import AgentExecutor from langchain.tools import Tool
Create LangChain agent
langchain_agent = AgentExecutor(...)
agent = LangChainAgent( agent=langchain_agent, name="langchain_agent", description="A LangChain powered assistant", )
response = await agent.run("Hello!", context)
__init__
def __init__(agent: Any,
name: str = "langchain_agent",
description: str = "A LangChain powered agent",
version: str = "1.0.0")
Initialize the LangChain agent adapter.
Arguments:
agent- The LangChain agent/chain instance.name- Agent name.description- Agent description.version- Agent version.
name
@property
def name() -> str
Get the agent name.
description
@property
def description() -> str
Get the agent description.
version
@property
def version() -> str
Get the agent version.
tools
@property
def tools() -> list[ToolDefinition]
Get available tools.
get_tools
def get_tools() -> list[ToolDefinition]
Get the list of tools available to this agent.
Returns:
List of tool definitions.
initialize
async def initialize() -> None
Initialize the agent.
run
async def run(prompt: str, context: AgentContext) -> AgentResponse
Run the agent with a prompt.
Arguments:
prompt- User prompt.context- Execution context.
Returns:
Agent response.
stream
async def stream(prompt: str,
context: AgentContext) -> AsyncIterator[StreamEvent]
Stream agent responses.
Arguments:
prompt- User prompt.context- Execution context.
Yields:
Stream events.
cancel
async def cancel() -> None
Cancel the current execution.
cleanup
async def cleanup() -> None
Clean up resources.