Add sdk for list agents and sessions (#3848)

### What problem does this PR solve?

Add sdk for list agents and sessions

### Type of change

- [x] New Feature (non-breaking change which adds functionality)

Co-authored-by: liuhua <10215101452@stu.ecun.edu.cn>
This commit is contained in:
liuhua
2024-12-04 16:23:22 +08:00
committed by GitHub
parent 289f4f1916
commit 1b589609a4
8 changed files with 1332 additions and 7 deletions

View File

@ -18,6 +18,7 @@ import requests
from .modules.chat import Chat
from .modules.chunk import Chunk
from .modules.dataset import DataSet
from .modules.agent import Agent
class RAGFlow:
@ -86,8 +87,10 @@ class RAGFlow:
return result_list
raise Exception(res["message"])
def create_chat(self, name: str, avatar: str = "", dataset_ids: list[str] = [],
llm: Chat.LLM | None = None, prompt: Chat.Prompt | None = None) -> Chat:
def create_chat(self, name: str, avatar: str = "", dataset_ids=None,
llm: Chat.LLM | None = None, prompt: Chat.Prompt | None = None) -> Chat:
if dataset_ids is None:
dataset_ids = []
dataset_list = []
for id in dataset_ids:
dataset_list.append(id)
@ -176,3 +179,15 @@ class RAGFlow:
chunks.append(chunk)
return chunks
raise Exception(res.get("message"))
def list_agents(self, page: int = 1, page_size: int = 30, orderby: str = "update_time", desc: bool = True,
id: str | None = None, title: str | None = None) -> list[Agent]:
res = self.get("/agents",{"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id, "title": title})
res = res.json()
result_list = []
if res.get("code") == 0:
for data in res['data']:
result_list.append(Agent(self, data))
return result_list
raise Exception(res["message"])