Fix: renrank_model and pdf_parser bugs | Update: session API (#2601)

### What problem does this PR solve?

Fix: renrank_model and pdf_parser bugs | Update: session API
#2575
#2559
### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
- [x] Refactoring

---------

Co-authored-by: liuhua <10215101452@stu.ecun.edu.cn>
This commit is contained in:
liuhua
2024-09-26 16:05:25 +08:00
committed by GitHub
parent f6bfe4d970
commit b68d349bd6
6 changed files with 68 additions and 41 deletions

View File

@ -76,7 +76,7 @@ class Assistant(Base):
raise Exception(res["retmsg"])
def get_session(self, id) -> Session:
res = self.get("/session/get", {"id": id})
res = self.get("/session/get", {"id": id,"assistant_id":self.id})
res = res.json()
if res.get("retmsg") == "success":
return Session(self.rag, res["data"])

View File

@ -16,9 +16,12 @@ class Session(Base):
if "reference" in message:
message.pop("reference")
res = self.post("/session/completion",
{"id": self.id, "question": question, "stream": stream}, stream=True)
{"session_id": self.id, "question": question, "stream": True}, 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["retmsg"])
if line.startswith("data:"):
json_data = json.loads(line[5:])
if json_data["data"] != True:
@ -69,6 +72,7 @@ class Message(Base):
self.reference = None
self.role = "assistant"
self.prompt = None
self.id = None
super().__init__(rag, res_dict)
@ -76,10 +80,10 @@ class Chunk(Base):
def __init__(self, rag, res_dict):
self.id = None
self.content = None
self.document_id = None
self.document_name = None
self.knowledgebase_id = None
self.image_id = None
self.document_id = ""
self.document_name = ""
self.knowledgebase_id = ""
self.image_id = ""
self.similarity = None
self.vector_similarity = None
self.term_similarity = None

View File

@ -19,7 +19,7 @@ class TestSession:
question = "What is AI"
for ans in session.chat(question, stream=True):
pass
assert ans.content!="\n**ERROR**", "Please check this error."
assert not ans.content.startswith("**ERROR**"), "Please check this error."
def test_delete_session_with_success(self):
rag = RAGFlow(API_KEY, HOST_ADDRESS)