diff --git a/api/apps/sdk/dify_retrieval.py b/api/apps/sdk/dify_retrieval.py index 9723cabbf..cd119a7b1 100644 --- a/api/apps/sdk/dify_retrieval.py +++ b/api/apps/sdk/dify_retrieval.py @@ -1,4 +1,4 @@ -# + # # Copyright 2024 The InfiniFlow Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -75,11 +75,13 @@ def retrieval(tenant_id): for c in ranks["chunks"]: e, doc = DocumentService.get_by_id( c["doc_id"]) c.pop("vector", None) + meta = getattr(doc, 'meta_fields', {}) + meta["doc_id"] = c["doc_id"] records.append({ "content": c["content_with_weight"], "score": c["similarity"], "title": c["docnm_kwd"], - "metadata": getattr(doc, 'meta_fields', {}) + "metadata": meta }) return jsonify({"records": records}) diff --git a/api/db/services/canvas_service.py b/api/db/services/canvas_service.py index d4286b895..e6bee4be4 100644 --- a/api/db/services/canvas_service.py +++ b/api/db/services/canvas_service.py @@ -173,7 +173,8 @@ def completion(tenant_id, agent_id, session_id=None, **kwargs): conv.message.append({"role": "assistant", "content": txt, "created_at": time.time(), "id": message_id}) conv.reference = canvas.get_reference() conv.errors = canvas.error - API4ConversationService.append_message(conv.id, conv.to_dict()) + conv = conv.to_dict() + API4ConversationService.append_message(conv["id"], conv) def completionOpenAI(tenant_id, agent_id, question, session_id=None, stream=True, **kwargs): diff --git a/api/db/services/llm_service.py b/api/db/services/llm_service.py index 97130a9dc..68d7c5e84 100644 --- a/api/db/services/llm_service.py +++ b/api/db/services/llm_service.py @@ -225,6 +225,9 @@ class TenantLLMService(CommonService): if llm_id == llm["llm_name"]: return llm["model_type"].split(",")[-1] + for llm in LLMService.query(llm_name=llm_id): + return llm.model_type + class LLMBundle: def __init__(self, tenant_id, llm_type, llm_name=None, lang="Chinese", **kwargs): diff --git a/rag/utils/s3_conn.py b/rag/utils/s3_conn.py index 6c9170451..0a4178d6f 100644 --- a/rag/utils/s3_conn.py +++ b/rag/utils/s3_conn.py @@ -123,7 +123,7 @@ class RAGFlowS3: @use_prefix_path @use_default_bucket - def put(self, bucket, fnm, binary): + def put(self, bucket, fnm, binary, **kwargs): logging.debug(f"bucket name {bucket}; filename :{fnm}:") for _ in range(1): try: @@ -140,7 +140,7 @@ class RAGFlowS3: @use_prefix_path @use_default_bucket - def rm(self, bucket, fnm): + def rm(self, bucket, fnm, **kwargs): try: self.conn.delete_object(Bucket=bucket, Key=fnm) except Exception: @@ -148,7 +148,7 @@ class RAGFlowS3: @use_prefix_path @use_default_bucket - def get(self, bucket, fnm): + def get(self, bucket, fnm, **kwargs): for _ in range(1): try: r = self.conn.get_object(Bucket=bucket, Key=fnm) @@ -162,7 +162,7 @@ class RAGFlowS3: @use_prefix_path @use_default_bucket - def obj_exist(self, bucket, fnm): + def obj_exist(self, bucket, fnm, **kwargs): try: if self.conn.head_object(Bucket=bucket, Key=fnm): return True @@ -174,7 +174,7 @@ class RAGFlowS3: @use_prefix_path @use_default_bucket - def get_presigned_url(self, bucket, fnm, expires): + def get_presigned_url(self, bucket, fnm, expires, **kwargs): for _ in range(10): try: r = self.conn.generate_presigned_url('get_object',