46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
import json
|
|
import logging
|
|
|
|
from VikingDBMemoryService import VikingDBMemoryService, MEMORY_COLLECTION_NAME
|
|
from Config.Config import VOLC_ACCESSKEY, VOLC_SECRETKEY
|
|
|
|
# 控制日志输出
|
|
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)
|
|
|
|
def drop_existing_collection(collection_name):
|
|
# 初始化记忆库服务
|
|
memory_service = VikingDBMemoryService(
|
|
ak=VOLC_ACCESSKEY,
|
|
sk=VOLC_SECRETKEY,
|
|
host="api-knowledgebase.mlp.cn-beijing.volces.com",
|
|
region="cn-beijing"
|
|
)
|
|
|
|
try:
|
|
# 检查集合是否存在
|
|
logger.info(f"正在检查集合 '{collection_name}'...")
|
|
memory_service.get_collection(collection_name)
|
|
logger.info(f"集合 '{collection_name}' 已存在,准备删除...")
|
|
|
|
# 删除集合
|
|
response = memory_service.drop_collection(collection_name)
|
|
logger.info(f"删除响应: {json.dumps(response, ensure_ascii=False, indent=2)}")
|
|
logger.info(f"集合 '{collection_name}' 删除成功")
|
|
return True
|
|
|
|
except Exception as e:
|
|
error_msg = str(e)
|
|
if "collection not exist" in error_msg:
|
|
logger.info(f"集合 '{collection_name}' 不存在,无需删除")
|
|
return False
|
|
else:
|
|
logger.error(f"操作失败: {error_msg}")
|
|
raise
|
|
|
|
if __name__ == "__main__":
|
|
# 可修改为目标集合名称
|
|
drop_existing_collection(MEMORY_COLLECTION_NAME) |