chore: import upstream snapshot with attribution
govulncheck / govulncheck (push) Has been cancelled
Lint / golangci-lint (push) Has been cancelled
Run Tests / Unit Tests (push) Has been cancelled
Run Tests / Etcd Integration Tests (push) Has been cancelled
Harness (E2E) / Harnesses (mock LLM) (push) Has been cancelled
Harness (E2E) / Provider harnesses (live LLM conformance) (push) Has been cancelled
govulncheck / govulncheck (push) Has been cancelled
Lint / golangci-lint (push) Has been cancelled
Run Tests / Unit Tests (push) Has been cancelled
Run Tests / Etcd Integration Tests (push) Has been cancelled
Harness (E2E) / Harnesses (mock LLM) (push) Has been cancelled
Harness (E2E) / Provider harnesses (live LLM conformance) (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
"""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()
|
||||
Reference in New Issue
Block a user