原始代码
This commit is contained in:
55
examples/client_demo.py
Normal file
55
examples/client_demo.py
Normal file
@@ -0,0 +1,55 @@
|
||||
import requests
|
||||
|
||||
BASE = "http://127.0.0.1:8010"
|
||||
|
||||
def _post(path, payload):
|
||||
r = requests.post(BASE + path, json=payload, timeout=30)
|
||||
r.raise_for_status()
|
||||
j = r.json()
|
||||
if "success" in j:
|
||||
if not j.get("success"):
|
||||
raise RuntimeError(f"api error: {j}")
|
||||
return j.get("data")
|
||||
return j
|
||||
|
||||
def _get(path):
|
||||
r = requests.get(BASE + path, timeout=15)
|
||||
r.raise_for_status()
|
||||
j = r.json()
|
||||
if "success" in j:
|
||||
if not j.get("success"):
|
||||
raise RuntimeError(f"api error: {j}")
|
||||
return j.get("data")
|
||||
return j
|
||||
|
||||
def main():
|
||||
print("health:", _get("/health"))
|
||||
try:
|
||||
print("version:", _get("/version"))
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
data = _post("/query", {"query": "我想买苹果"})
|
||||
sid = data["session_id"]
|
||||
print("created session:", sid)
|
||||
print("candidates:", data["candidates"])
|
||||
|
||||
# choose first candidate
|
||||
if data["candidates"]:
|
||||
choice = data["candidates"][0]
|
||||
ans = _post("/select", {"session_id": sid, "choice": choice})
|
||||
print("answer:", ans["answer"][:200])
|
||||
|
||||
# continue optimization
|
||||
more = _post("/query_from_message", {"session_id": sid})
|
||||
print("next candidates:", more["candidates"])
|
||||
|
||||
# chat
|
||||
chat = _post("/message", {"session_id": sid, "message": "还有更甜的苹果吗?"})
|
||||
print("chat answer:", chat["answer"][:200])
|
||||
|
||||
# list sessions
|
||||
print("sessions:", _get("/sessions"))
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user