Files
dsProject/dsLightRag/Volcengine/T2_CreateIndex.py

62 lines
2.3 KiB
Python
Raw Normal View History

2025-09-07 08:00:15 +08:00
import json
2025-09-07 08:04:43 +08:00
import logging
2025-09-07 08:00:15 +08:00
from Config.Config import VOLC_ACCESSKEY, VOLC_SECRETKEY
2025-09-07 08:02:23 +08:00
from VikingDBMemoryService import VikingDBMemoryService, MEMORY_COLLECTION_NAME
2025-09-07 08:04:43 +08:00
# 控制日志输出
logger = logging.getLogger('CollectionMemory')
logger.setLevel(logging.INFO)
handler = logging.StreamHandler()
handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'))
logger.addHandler(handler)
2025-09-07 08:00:15 +08:00
def create_memory_collection(collection_name, description="情感陪伴记忆库"):
# 初始化记忆库服务
memory_service = VikingDBMemoryService(
ak=VOLC_ACCESSKEY,
sk=VOLC_SECRETKEY,
host="api-knowledgebase.mlp.cn-beijing.volces.com",
region="cn-beijing"
)
try:
# 检查集合是否已存在
2025-09-07 08:04:43 +08:00
logger.info(f"正在检查集合 '{collection_name}'...")
2025-09-07 08:00:15 +08:00
memory_service.get_collection(collection_name)
2025-09-07 08:04:43 +08:00
logger.info(f"集合 '{collection_name}' 已存在,无需重复创建")
2025-09-07 08:00:15 +08:00
return False
except Exception as e:
if "collection not exist" not in str(e):
2025-09-07 08:04:43 +08:00
logger.info(f"检查集合时发生错误: {str(e)}")
2025-09-07 08:00:15 +08:00
raise
# 创建新集合
2025-09-07 08:04:43 +08:00
logger.info(f"开始创建集合 '{collection_name}'...")
2025-09-07 08:00:15 +08:00
try:
response = memory_service.create_collection(
collection_name=collection_name,
description=description,
builtin_event_types=["sys_event_v1", "sys_profile_collect_v1"],
builtin_entity_types=["sys_profile_v1"]
)
2025-09-07 08:04:43 +08:00
logger.info(f"创建响应: {json.dumps(response, ensure_ascii=False, indent=2)}")
logger.info(f"集合 '{collection_name}' 创建成功")
2025-09-07 08:00:15 +08:00
# 等待集合就绪
2025-09-07 08:04:43 +08:00
logger.info("等待集合初始化完成...")
2025-09-07 08:13:00 +08:00
# 将独立函数调用改为实例方法调用
if memory_service.wait_for_collection_ready():
2025-09-07 08:04:43 +08:00
logger.info(f"集合 '{collection_name}' 已就绪,可以开始使用")
2025-09-07 08:00:15 +08:00
return True
else:
2025-09-07 08:04:43 +08:00
logger.info(f"集合 '{collection_name}' 初始化超时")
2025-09-07 08:00:15 +08:00
return False
except Exception as e:
2025-09-07 08:04:43 +08:00
logger.error(f"创建集合失败: {str(e)}")
2025-09-07 08:00:15 +08:00
raise
if __name__ == "__main__":
2025-09-07 08:02:23 +08:00
create_memory_collection(MEMORY_COLLECTION_NAME)