Skip to content

Commit 89dcdee

Browse files
chat agent
1 parent 260e895 commit 89dcdee

4 files changed

Lines changed: 35 additions & 29 deletions

File tree

dockerized_agents/chat/Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM python:3.10-slim
2+
3+
WORKDIR /app
4+
5+
COPY ../../ .
6+
7+
RUN pip install --upgrade pip
8+
RUN pip install fastapi
9+
RUN pip install -e .
10+
11+
CMD ["python", "dockerized_agents/chat/agent.py"]

dockerized_agents/chat/agent.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ async def google_search(query: str, num_results: int = 3) -> Dict[str, Any]:
7575
output_type="MessageHistory",
7676
connected_nodes={*tools},
7777
max_tool_calls=10,
78+
host= "0.0.0.0",
79+
port=8000
7880
)
7981

8082
with rc.Runner(rc.ExecutorConfig(timeout=600)) as runner:
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
version: '3.8'
2+
services:
3+
chat-agent:
4+
build:
5+
context: ../../
6+
dockerfile: dockerized_agents/chat/Dockerfile
7+
container_name: chat-agent
8+
environment:
9+
GOOGLE_SEARCH_API_KEY: ${GOOGLE_SEARCH_API_KEY}
10+
GOOGLE_SEARCH_ENGINE_ID: ${GOOGLE_SEARCH_ENGINE_ID}
11+
ports:
12+
- "8000:8000"
13+
command: ["python", "dockerized_agents/chat/agent.py"]
14+
restart: unless-stopped

langchain_oauth.py

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
# tools = from_mcp_server(MCPHttpParams(url="https://remote.mcpservers.org/fetch/mcp"))
88
# tools = from_mcp_server(MCPHttpParams(url="https://mcp.paypal.com/sse"))
99

10+
1011
def get_paypal_auth():
1112
response = requests.post( # paypal only atm
1213
"https://api-m.sandbox.paypal.com/v1/oauth2/token",
@@ -23,54 +24,32 @@ def get_paypal_auth():
2324

2425
paypal_headers = {"Authorization": f"Bearer {get_paypal_auth()}"}
2526

26-
async def langchain():
27-
from langchain.chat_models import init_chat_model
28-
from langchain_mcp_adapters.client import MultiServerMCPClient
29-
client = MultiServerMCPClient(
30-
{
31-
"fetch": { # no auth needed
32-
"transport": "streamable_http",
33-
"url": "https://remote.mcpservers.org/fetch/mcp",
34-
},
35-
"paypal": { # sse + oauth2.0
36-
"transport": "sse",
37-
"url": "https://mcp.paypal.com/sse",
38-
"headers": paypal_headers,
39-
},
40-
}
41-
)
42-
mcp_tools = await client.get_tools()
43-
# print(mcp_tools)
44-
model_gpt = init_chat_model("gpt-4o-mini", model_provider="openai").bind_tools(tools=mcp_tools)
45-
# message = "Who is Aryan Ballani? look up aryanballani.github.io"
46-
message = "List the tools you available to you related to paypal"
47-
response = model_gpt.invoke(message)
48-
print(response.content)
27+
# #paragon
28+
# import requestcompletion as rc
29+
# paypal_headers = {"Authorization": f"Bearer {rc.oauth("paypal")}"}
4930

5031
def request_completion():
5132
import requestcompletion as rc
5233
from requestcompletion.nodes.library import from_mcp_server, tool_call_llm
5334
from requestcompletion.rc_mcp import MCPHttpParams
5435

55-
fetch_tools = from_mcp_server(MCPHttpParams(url="https://remote.mcpservers.org/fetch/mcp"))
56-
paypal_tools = from_mcp_server(MCPHttpParams(url="https://mcp.paypal.com/sse", headers=paypal_headers))
36+
fetch_tools = from_mcp_server(MCPHttpParams(url="https://remote.mcpservers.org/fetch/mcp")).tools
37+
paypal_tools = from_mcp_server(MCPHttpParams(url="https://mcp.paypal.com/sse", headers=paypal_headers)).tools
5738
tools = fetch_tools + paypal_tools
58-
5939
agent = tool_call_llm(
6040
connected_nodes={*tools},
6141
system_message="""You are a master paypal agent. You love creating beautiful
6242
and well-structured paypal pages and make sure that everything is correctly formatted.""",
6343
model=rc.llm.OpenAILLM("gpt-4o"),
64-
)
44+
)
6545

6646
user_prompt = """List the tools you available to you related to paypal"""
67-
mh = rc.llm.MessageHistory(rc.llm.UserMessage(user_prompt))
47+
mh = rc.llm.MessageHistory([rc.llm.UserMessage(user_prompt)])
6848

6949
with rc.Runner(rc.ExecutorConfig(logging_setting="VERBOSE")) as run:
7050
result = run.run_sync(agent, mh)
7151
print(result.answer.content)
7252

7353
# Run the functions
74-
# asyncio.run(langchain())
7554
# asyncio.run(request_completion())
7655
request_completion()

0 commit comments

Comments
 (0)