e071084ebe
govulncheck / govulncheck (push) Waiting to run
Harness (E2E) / Harnesses (mock LLM) (push) Waiting to run
Harness (E2E) / Provider harnesses (live LLM conformance) (push) Waiting to run
Lint / golangci-lint (push) Waiting to run
Run Tests / Unit Tests (push) Waiting to run
Run Tests / Etcd Integration Tests (push) Waiting to run
50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
"""Basic LangChain agent example using Go Micro services.
|
|
|
|
This example shows how to create a simple LangChain agent that can
|
|
interact with Go Micro services through the MCP gateway.
|
|
"""
|
|
|
|
from langchain_go_micro import GoMicroToolkit
|
|
from langchain.agents import initialize_agent, AgentType
|
|
from langchain_openai import ChatOpenAI
|
|
|
|
|
|
def main():
|
|
"""Run basic agent example."""
|
|
# Initialize toolkit from MCP gateway
|
|
print("Connecting to MCP gateway...")
|
|
toolkit = GoMicroToolkit.from_gateway("http://localhost:3000")
|
|
|
|
# Get available tools
|
|
tools = toolkit.get_tools()
|
|
print(f"\nDiscovered {len(tools)} tools:")
|
|
for tool in tools:
|
|
print(f" - {tool.name}: {tool.description}")
|
|
|
|
# Create LangChain agent
|
|
print("\nCreating LangChain agent...")
|
|
llm = ChatOpenAI(model="gpt-4", temperature=0)
|
|
agent = initialize_agent(
|
|
tools,
|
|
llm,
|
|
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
|
|
verbose=True
|
|
)
|
|
|
|
# Example queries
|
|
queries = [
|
|
"Create a user named Alice with email alice@example.com",
|
|
"Get the user we just created",
|
|
]
|
|
|
|
for query in queries:
|
|
print(f"\n{'='*60}")
|
|
print(f"Query: {query}")
|
|
print('='*60)
|
|
result = agent.run(query)
|
|
print(f"\nResult: {result}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|