File size: 800 Bytes
2f235a0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import httpx
from dataclasses import dataclass, field


@dataclass
class MCPClient:
    rag_url: str
    web_url: str
    admin_url: str
    client: httpx.AsyncClient = field(default_factory=lambda: httpx.AsyncClient(timeout=30))


    async def call_rag(self, tenant_id: str, query: str):
        r = await self.client.post(f"{self.rag_url}/search", json={"tenant_id":tenant_id,"query":query})
        return r.json()


    async def call_web(self, tenant_id: str, query: str):
        r = await self.client.post(f"{self.web_url}/search", json={"tenant_id":tenant_id,"query":query})
        return r.json()


    async def call_admin(self, tenant_id: str, query: str):
        r = await self.client.post(f"{self.admin_url}/eval", json={"tenant_id":tenant_id,"query":query})
        return r.json()