mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
Fix bugs in agent api and update api document (#3996)
### What problem does this PR solve? Fix bugs in agent api and update api document ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) - [x] New Feature (non-breaking change which adds functionality) --------- Co-authored-by: liuhua <10215101452@stu.ecun.edu.cn>
This commit is contained in:
@ -1,7 +1,9 @@
|
||||
from .base import Base
|
||||
from .session import Session
|
||||
from .session import Session,Message
|
||||
import requests
|
||||
from typing import List
|
||||
import json
|
||||
|
||||
|
||||
class Agent(Base):
|
||||
def __init__(self,rag,res_dict):
|
||||
@ -73,3 +75,30 @@ class Agent(Base):
|
||||
result_list.append(temp_agent)
|
||||
return result_list
|
||||
raise Exception(res.get("message"))
|
||||
|
||||
@staticmethod
|
||||
def ask(agent_id,rag,stream=True,**kwargs):
|
||||
url = f"{rag.api_url}/agents/{agent_id}/completions"
|
||||
headers = {"Authorization": f"Bearer {rag.user_key}"}
|
||||
res = requests.post(url=url, headers=headers, json=kwargs,stream=stream)
|
||||
for line in res.iter_lines():
|
||||
line = line.decode("utf-8")
|
||||
if line.startswith("{"):
|
||||
json_data = json.loads(line)
|
||||
raise Exception(json_data["message"])
|
||||
if line.startswith("data:"):
|
||||
json_data = json.loads(line[5:])
|
||||
if json_data["data"] is not True:
|
||||
if json_data["data"].get("running_status"):
|
||||
continue
|
||||
answer = json_data["data"]["answer"]
|
||||
reference = json_data["data"]["reference"]
|
||||
temp_dict = {
|
||||
"content": answer,
|
||||
"role": "assistant"
|
||||
}
|
||||
if "chunks" in reference:
|
||||
chunks = reference["chunks"]
|
||||
temp_dict["reference"] = chunks
|
||||
message = Message(rag, temp_dict)
|
||||
yield message
|
||||
|
||||
@ -29,7 +29,7 @@ class Session(Base):
|
||||
raise Exception(json_data["message"])
|
||||
if line.startswith("data:"):
|
||||
json_data = json.loads(line[5:])
|
||||
if not json_data["data"]:
|
||||
if json_data["data"] is not True:
|
||||
answer = json_data["data"]["answer"]
|
||||
reference = json_data["data"]["reference"]
|
||||
temp_dict = {
|
||||
|
||||
Reference in New Issue
Block a user