您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. from .base import Base
  2. from .session import Session
  3. import requests
  4. from typing import List
  5. class Agent(Base):
  6. def __init__(self,rag,res_dict):
  7. self.id = None
  8. self.avatar = None
  9. self.canvas_type = None
  10. self.description = None
  11. self.dsl = None
  12. super().__init__(rag, res_dict)
  13. class Dsl(Base):
  14. def __init__(self,rag,res_dict):
  15. self.answer = []
  16. self.components = {
  17. "begin": {
  18. "downstream": ["Answer:China"],
  19. "obj": {
  20. "component_name": "Begin",
  21. "params": {}
  22. },
  23. "upstream": []
  24. }
  25. }
  26. self.graph = {
  27. "edges": [],
  28. "nodes": [
  29. {
  30. "data": {
  31. "label": "Begin",
  32. "name": "begin"
  33. },
  34. "id": "begin",
  35. "position": {
  36. "x": 50,
  37. "y": 200
  38. },
  39. "sourcePosition": "left",
  40. "targetPosition": "right",
  41. "type": "beginNode"
  42. }
  43. ]
  44. }
  45. self.history = []
  46. self.messages = []
  47. self.path = []
  48. self.reference = []
  49. super().__init__(rag,res_dict)
  50. @staticmethod
  51. def create_session(id,rag) -> Session:
  52. res = requests.post(f"{rag.api_url}/agents/{id}/sessions",headers={"Authorization": f"Bearer {rag.user_key}"},json={})
  53. res = res.json()
  54. if res.get("code") == 0:
  55. return Session(rag,res.get("data"))
  56. raise Exception(res.get("message"))
  57. @staticmethod
  58. def list_sessions(agent_id,rag,page: int = 1, page_size: int = 30, orderby: str = "create_time", desc: bool = True,
  59. id: str = None) -> List[Session]:
  60. url = f"{rag.api_url}/agents/{agent_id}/sessions"
  61. headers = {"Authorization": f"Bearer {rag.user_key}"}
  62. params = {"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id}
  63. res = requests.get(url=url,headers=headers,params=params)
  64. res = res.json()
  65. if res.get("code") == 0:
  66. result_list = []
  67. for data in res.get("data"):
  68. temp_agent = Session(rag,data)
  69. result_list.append(temp_agent)
  70. return result_list
  71. raise Exception(res.get("message"))