From 5c7d8792ec37d9fac8cf5de7563a96b3f9943f17 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Sun, 7 Sep 2025 07:44:43 +0800 Subject: [PATCH] 'commit' --- dsLightRag/Volcengine/DropIndex.py | 56 +++++++++++++++++++ .../Volcengine/VikingDBMemoryService.py | 10 ++-- dsLightRag/Volcengine/chat.py | 6 +- 3 files changed, 64 insertions(+), 8 deletions(-) create mode 100644 dsLightRag/Volcengine/DropIndex.py diff --git a/dsLightRag/Volcengine/DropIndex.py b/dsLightRag/Volcengine/DropIndex.py new file mode 100644 index 00000000..6274343b --- /dev/null +++ b/dsLightRag/Volcengine/DropIndex.py @@ -0,0 +1,56 @@ +import json +import requests +from volcengine.base.Request import Request +from volcengine.Credentials import Credentials +from volcengine.auth.SignerV4 import SignerV4 + +from Config.Config import VOLC_ACCESSKEY, VOLC_SECRETKEY + +AK = VOLC_ACCESSKEY +SK = VOLC_SECRETKEY +Domain = "api-knowledgebase.mlp.cn-beijing.volces.com" + +def prepare_request(method, path, ak, sk, data=None): + r = Request() + r.set_shema("http") # 注意这里是 http + r.set_method(method) + r.set_host(Domain) + r.set_path(path) + + if data is not None: + r.set_body(json.dumps(data)) + + # 使用 air 服务和 cn-north-1 区域 + credentials = Credentials(ak, sk, 'air', 'cn-north-1') + SignerV4.sign(r, credentials) + return r + +def internal_request(method, api, payload, params=None): + req = prepare_request( + method=method, + path=api, + ak=AK, + sk=SK, + data=payload + ) + + r = requests.request( + method=req.method, + url="{}://{}{}".format(req.schema, req.host, req.path), + headers=req.headers, + data=req.body, + params=params, + ) + return r + +# 删除记忆库 +path = "/api/memory/collection/delete" +payload = { + "CollectionName": "emotional_support" +} +rsp = internal_request("POST", path, payload) +print(rsp.json()) +if rsp.status_code == 200: + print("记忆库删除成功:", rsp.json()) +else: + print("错误:", rsp.status_code, rsp.text) \ No newline at end of file diff --git a/dsLightRag/Volcengine/VikingDBMemoryService.py b/dsLightRag/Volcengine/VikingDBMemoryService.py index a92cd34f..9bb15294 100644 --- a/dsLightRag/Volcengine/VikingDBMemoryService.py +++ b/dsLightRag/Volcengine/VikingDBMemoryService.py @@ -3,19 +3,19 @@ pip install volcengine pip install --upgrade "volcengine-python-sdk[ark]" """ import json +import os import threading +import time +from dotenv import load_dotenv from volcengine.ApiInfo import ApiInfo from volcengine.Credentials import Credentials -from volcengine.base.Service import Service from volcengine.ServiceInfo import ServiceInfo from volcengine.auth.SignerV4 import SignerV4 -from volcengine.base.Request import Request -import os -import time -from dotenv import load_dotenv +from volcengine.base.Service import Service from volcenginesdkarkruntime import Ark + def initialize_services(ak=None, sk=None, ark_api_key=None): """初始化记忆数据库服务和LLM客户端""" load_dotenv() diff --git a/dsLightRag/Volcengine/chat.py b/dsLightRag/Volcengine/chat.py index 968b1d5b..5e9eb541 100644 --- a/dsLightRag/Volcengine/chat.py +++ b/dsLightRag/Volcengine/chat.py @@ -1,5 +1,4 @@ -import json -from VikingDBMemoryService import VikingDBMemoryService, initialize_services, ensure_collection_exists, search_relevant_memories +import time """ 在记忆库准备好后,我们先模拟一段包含两轮的完整对话。 @@ -7,7 +6,8 @@ from VikingDBMemoryService import VikingDBMemoryService, initialize_services, en AI 就能用刚写入的记忆来回答。 注意:首次写入需要 3–5 分钟建立索引,这段时间内检索会报错。 """ - +import json +from VikingDBMemoryService import initialize_services, ensure_collection_exists, search_relevant_memories def handle_conversation_turn(memory_service, llm_client, collection_name, user_id, user_message, conversation_history): """处理一轮对话,包括记忆搜索和LLM响应。""" print("\n" + "=" * 60)