Переглянути джерело

fix multiple retrieval in knowledge node (#8942)

tags/0.9.1
Jyong 1 рік тому
джерело
коміт
625e4c4c72
Аккаунт користувача з таким Email не знайдено

+ 3
- 1
api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py Переглянути файл

@@ -229,7 +229,9 @@ class KnowledgeRetrievalNode(BaseNode):
source["content"] = segment.get_sign_content()
retrieval_resource_list.append(source)
if retrieval_resource_list:
retrieval_resource_list = sorted(retrieval_resource_list, key=lambda x: x.get("score"), reverse=True)
retrieval_resource_list = sorted(
retrieval_resource_list, key=lambda x: x.get("metadata").get("score"), reverse=True
)
position = 1
for item in retrieval_resource_list:
item["metadata"]["position"] = position

+ 2
- 2
api/services/website_service.py Переглянути файл

@@ -166,6 +166,8 @@ class WebsiteService:
@classmethod
def get_crawl_url_data(cls, job_id: str, provider: str, url: str, tenant_id: str) -> dict | None:
credentials = ApiKeyAuthService.get_auth_credentials(tenant_id, "website", provider)
# decrypt api_key
api_key = encrypter.decrypt_token(tenant_id=tenant_id, token=credentials.get("config").get("api_key"))
if provider == "firecrawl":
file_key = "website_files/" + job_id + ".txt"
if storage.exists(file_key):
@@ -173,8 +175,6 @@ class WebsiteService:
if data:
data = json.loads(data.decode("utf-8"))
else:
# decrypt api_key
api_key = encrypter.decrypt_token(tenant_id=tenant_id, token=credentials.get("config").get("api_key"))
firecrawl_app = FirecrawlApp(api_key=api_key, base_url=credentials.get("config").get("base_url", None))
result = firecrawl_app.check_crawl_status(job_id)
if result.get("status") != "completed":

Завантаження…
Відмінити
Зберегти