'commit'
This commit is contained in:
@@ -15,17 +15,19 @@ from volcengine.auth.SignerV4 import SignerV4
|
|||||||
from volcengine.base.Service import Service
|
from volcengine.base.Service import Service
|
||||||
from volcenginesdkarkruntime import Ark
|
from volcenginesdkarkruntime import Ark
|
||||||
|
|
||||||
|
from Config.Config import VOLC_SECRETKEY, VOLC_ACCESSKEY, VOLC_API_KEY
|
||||||
|
|
||||||
|
|
||||||
def initialize_services(ak=None, sk=None, ark_api_key=None):
|
def initialize_services(ak=None, sk=None, ark_api_key=None):
|
||||||
"""初始化记忆数据库服务和LLM客户端"""
|
"""初始化记忆数据库服务和LLM客户端"""
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
# 如果参数未提供,尝试从环境变量获取
|
# 如果参数未提供,尝试从环境变量获取
|
||||||
if not ak:
|
if not ak:
|
||||||
ak = os.getenv("VOLC_ACCESSKEY")
|
ak = VOLC_ACCESSKEY
|
||||||
if not sk:
|
if not sk:
|
||||||
sk = os.getenv("VOLC_SECRETKEY")
|
sk = VOLC_SECRETKEY
|
||||||
if not ark_api_key:
|
if not ark_api_key:
|
||||||
ark_api_key = os.getenv("VOLC_API_KEY")
|
ark_api_key = VOLC_API_KEY
|
||||||
|
|
||||||
if not all([ak, sk, ark_api_key]):
|
if not all([ak, sk, ark_api_key]):
|
||||||
raise ValueError("必须提供 VOLC_ACCESSKEY, VOLC_SECRETKEY, 和 VOLC_API_KEY。")
|
raise ValueError("必须提供 VOLC_ACCESSKEY, VOLC_SECRETKEY, 和 VOLC_API_KEY。")
|
||||||
|
Binary file not shown.
@@ -1,5 +1,10 @@
|
|||||||
|
import os
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
from volcenginesdkarkruntime import Ark
|
||||||
|
|
||||||
|
from Config.Config import VOLC_API_KEY
|
||||||
|
|
||||||
"""
|
"""
|
||||||
在记忆库准备好后,我们先模拟一段包含两轮的完整对话。
|
在记忆库准备好后,我们先模拟一段包含两轮的完整对话。
|
||||||
对话结束后,把这段对话历史消息写入记忆库。然后再开启一个新话题,提出和刚才相关的问题,
|
对话结束后,把这段对话历史消息写入记忆库。然后再开启一个新话题,提出和刚才相关的问题,
|
||||||
@@ -7,7 +12,9 @@ AI 就能用刚写入的记忆来回答。
|
|||||||
注意:首次写入需要 3–5 分钟建立索引,这段时间内检索会报错。
|
注意:首次写入需要 3–5 分钟建立索引,这段时间内检索会报错。
|
||||||
"""
|
"""
|
||||||
import json
|
import json
|
||||||
|
import time
|
||||||
from VikingDBMemoryService import initialize_services, ensure_collection_exists, search_relevant_memories
|
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):
|
def handle_conversation_turn(memory_service, llm_client, collection_name, user_id, user_message, conversation_history):
|
||||||
"""处理一轮对话,包括记忆搜索和LLM响应。"""
|
"""处理一轮对话,包括记忆搜索和LLM响应。"""
|
||||||
print("\n" + "=" * 60)
|
print("\n" + "=" * 60)
|
||||||
@@ -71,15 +78,32 @@ def archive_conversation(memory_service, collection_name, user_id, assistant_id,
|
|||||||
print(f"归档对话失败: {e}")
|
print(f"归档对话失败: {e}")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def setup_memory_collection(collection_name="emotional_support"):
|
||||||
|
"""独立封装记忆体创建逻辑,返回memory_service供测试使用"""
|
||||||
|
try:
|
||||||
|
memory_service, _ = initialize_services()
|
||||||
|
ensure_collection_exists(memory_service, collection_name)
|
||||||
|
print(f"记忆体 '{collection_name}' 创建/验证成功")
|
||||||
|
return memory_service
|
||||||
|
except Exception as e:
|
||||||
|
print(f"记忆体创建失败: {e}")
|
||||||
|
return None
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
print("开始端到端记忆测试...")
|
print("开始端到端记忆测试...")
|
||||||
|
collection_name="emotional_support"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
memory_service, llm_client = initialize_services()
|
# 调用封装的记忆体创建函数
|
||||||
collection_name = "emotional_support"
|
memory_service = setup_memory_collection()
|
||||||
|
if not memory_service:
|
||||||
|
return
|
||||||
|
llm_client = Ark(
|
||||||
|
base_url="https://ark.cn-beijing.volces.com/api/v3",
|
||||||
|
api_key=VOLC_API_KEY
|
||||||
|
)
|
||||||
user_id = "xiaoming" # 用户ID:小明
|
user_id = "xiaoming" # 用户ID:小明
|
||||||
assistant_id = "assistant1" # 助手ID:助手1
|
assistant_id = "assistant1" # 助手ID:助手1
|
||||||
ensure_collection_exists(memory_service, collection_name)
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"初始化失败: {e}")
|
print(f"初始化失败: {e}")
|
||||||
return
|
return
|
||||||
@@ -114,4 +138,5 @@ def main():
|
|||||||
print("\n端到端记忆测试完成!")
|
print("\n端到端记忆测试完成!")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
setup_memory_collection()
|
||||||
|
# main()
|
Reference in New Issue
Block a user