""" pip install pymilvus gensim """ from pymilvus import FieldSchema, DataType, utility from Config.Config import MS_HOST, MS_PORT, MS_MAX_CONNECTIONS, MS_COLLECTION_NAME, MS_DIMENSION from Backup.Milvus.Utils.MilvusCollectionManager import MilvusCollectionManager # 1. 使用连接池管理 Milvus 连接 milvus_pool = MilvusConnectionPool(host=MS_HOST, port=MS_PORT, max_connections=MS_MAX_CONNECTIONS) # 2. 从连接池中获取一个连接 connection = milvus_pool.get_connection() # 3. 初始化集合管理器 collection_name = MS_COLLECTION_NAME collection_manager = MilvusCollectionManager(collection_name) # 4. 判断集合是否存在,存在则删除 if utility.has_collection(collection_name): print(f"集合 '{collection_name}' 已存在,正在删除...") utility.drop_collection(collection_name) print(f"集合 '{collection_name}' 已删除。") # 5. 定义集合的字段和模式 fields = [ FieldSchema(name="id", dtype=DataType.INT64, is_primary=True, auto_id=True), FieldSchema(name="tags", dtype=DataType.JSON), # 改为JSON类型存储多个标签 FieldSchema(name="user_input", dtype=DataType.VARCHAR, max_length=65535), FieldSchema(name="timestamp", dtype=DataType.VARCHAR, max_length=32), FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=MS_DIMENSION) ] schema_description = "Chat records collection with tags , user_input, and timestamp" # 6. 创建集合 print(f"正在创建集合 '{collection_name}'...") collection_manager.create_collection(fields, schema_description) print(f"集合 '{collection_name}' 创建成功。") # 7. 释放连接 milvus_pool.release_connection(connection) # 8. 关闭连接池 milvus_pool.close()