```
feat(config): 添加RAG/Embedding配置选项 - 新增EMBEDDING_MODEL配置项,默认值为"all-MiniLM-L6-v2" - 用于支持RAG服务的嵌入模型配置 feat(database): 增强MySQL数据库初始化功能 - 实现数据库自动创建功能,若数据库不存在则自动创建 - 使用临时连接在不指定数据库的情况下执行CREATE DATABASE语句 - 支持utf8mb4字符集和排序规则设置 refactor(excel): 优化Excel表创建逻辑 - 将表创建方式从ORM模型改为原生SQL语句 - 提高异步操作的兼容性 - 增加自动时间戳字段(created_at, updated_at) feat(rag): 增强RAG服务嵌入模型错误处理 - 添加嵌入模型加载异常处理机制 - 当配置的模型加载失败时自动回退到默认模型 - 改进日志记录,提供更详细的初始化信息 ```
This commit is contained in:
@@ -40,9 +40,17 @@ class RAGService:
|
||||
def _init_embeddings(self):
|
||||
"""初始化嵌入模型"""
|
||||
if self.embedding_model is None:
|
||||
self.embedding_model = SentenceTransformer(settings.EMBEDDING_MODEL)
|
||||
self._dimension = self.embedding_model.get_sentence_embedding_dimension()
|
||||
logger.info(f"RAG 嵌入模型初始化完成: {settings.EMBEDDING_MODEL}, 维度: {self._dimension}")
|
||||
model_name = getattr(settings, 'EMBEDDING_MODEL', 'all-MiniLM-L6-v2')
|
||||
try:
|
||||
self.embedding_model = SentenceTransformer(model_name)
|
||||
self._dimension = self.embedding_model.get_sentence_embedding_dimension()
|
||||
logger.info(f"RAG 嵌入模型初始化完成: {model_name}, 维度: {self._dimension}")
|
||||
except Exception as e:
|
||||
logger.warning(f"嵌入模型 {model_name} 加载失败,使用默认模型: {e}")
|
||||
# 使用轻量级默认模型
|
||||
self.embedding_model = SentenceTransformer('all-MiniLM-L6-v2')
|
||||
self._dimension = self.embedding_model.get_sentence_embedding_dimension()
|
||||
logger.info(f"RAG 嵌入模型使用默认: all-MiniLM-L6-v2, 维度: {self._dimension}")
|
||||
|
||||
def _init_vector_store(self):
|
||||
"""初始化向量存储"""
|
||||
|
||||
Reference in New Issue
Block a user