diff --git a/.github/ISSUE_TEMPLATE/提交一个提问.md b/.github/ISSUE_TEMPLATE/提交一个提问.md new file mode 100644 index 00000000..1c9d7484 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/提交一个提问.md @@ -0,0 +1,11 @@ +--- +name: 提交一个提问 +about: 关于项目使用的问题 +title: 'Question: ' +labels: question +assignees: '' + +--- + +**问题描述** + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..5a12495c --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,22 @@ +## 变更描述 +简要描述这个 PR 做了什么 + +## 变更类型 +- [ ] 新功能 +- [ ] Bug 修复 +- [ ] 文档更新 +- [ ] 其他 + +## 测试 +- [ ] 已在 Docker 环境测试 +- [ ] 相关功能正常工作 + +**相关日志或者截图** + + +## 说明 +(可选)有什么需要特别说明的吗? + +--- + +💡 **提示**: 提交前可以运行 `make lint` 和 `make format` 检查代码规范 \ No newline at end of file diff --git a/server/routers/system_router.py b/server/routers/system_router.py index 92d3c146..02a56cb8 100644 --- a/server/routers/system_router.py +++ b/server/routers/system_router.py @@ -224,7 +224,7 @@ async def get_custom_providers(current_user: User = Depends(get_admin_user)): custom_providers = config.get_custom_providers() return { "providers": {provider: info.model_dump() for provider, info in custom_providers.items()}, - "message": "success" + "message": "success", } except Exception as e: logger.error(f"获取自定义供应商失败: {e}") @@ -235,7 +235,7 @@ async def get_custom_providers(current_user: User = Depends(get_admin_user)): async def add_custom_provider( provider_id: str = Body(..., description="供应商ID"), provider_data: dict = Body(..., description="供应商配置数据"), - current_user: User = Depends(get_admin_user) + current_user: User = Depends(get_admin_user), ): """添加自定义供应商""" try: @@ -253,7 +253,7 @@ async def add_custom_provider( async def update_custom_provider( provider_id: str, provider_data: dict = Body(..., description="供应商配置数据"), - current_user: User = Depends(get_admin_user) + current_user: User = Depends(get_admin_user), ): """更新自定义供应商""" try: @@ -283,9 +283,7 @@ async def delete_custom_provider(provider_id: str, current_user: User = Depends( @system.post("/custom-providers/{provider_id}/test") async def test_custom_provider( - provider_id: str, - request: dict = Body(..., description="测试请求"), - current_user: User = Depends(get_admin_user) + provider_id: str, request: dict = Body(..., description="测试请求"), current_user: User = Depends(get_admin_user) ): """测试自定义供应商连接""" try: diff --git a/src/config/app.py b/src/config/app.py index f9b6ce13..a2feb6a4 100644 --- a/src/config/app.py +++ b/src/config/app.py @@ -26,8 +26,6 @@ from src.config.static.models import ( from src.utils.logging_config import logger - - class Config(BaseModel): """应用配置类""" diff --git a/src/config/static/models.py b/src/config/static/models.py index f6b9a069..897ea980 100644 --- a/src/config/static/models.py +++ b/src/config/static/models.py @@ -147,10 +147,7 @@ DEFAULT_CHAT_MODEL_PROVIDERS: dict[str, ChatModelProvider] = { base_url="https://api-inference.modelscope.cn/v1/", default="deepseek-ai/DeepSeek-V3.2-Exp", env="MODELSCOPE_ACCESS_TOKEN", - models=[ - "Qwen/Qwen3-32B", - "deepseek-ai/DeepSeek-V3.2-Exp" - ], + models=["Qwen/Qwen3-32B", "deepseek-ai/DeepSeek-V3.2-Exp"], ), } diff --git a/src/models/embed.py b/src/models/embed.py index 7d231c9f..ebf0ece9 100644 --- a/src/models/embed.py +++ b/src/models/embed.py @@ -107,6 +107,7 @@ class BaseEmbeddingModel(ABC): logger.error(error_msg) return False, error_msg + class OllamaEmbedding(BaseEmbeddingModel): """ Ollama Embedding Model @@ -184,7 +185,6 @@ class OtherEmbedding(BaseEmbeddingModel): raise ValueError(f"Other Embedding async request failed: {e}, {payload}, {self.base_url=}") - async def test_embedding_model_status(model_id: str) -> dict: """ 测试指定embedding模型的状态 diff --git a/src/plugins/mineru_official_parser.py b/src/plugins/mineru_official_parser.py index d312a487..59bb2376 100644 --- a/src/plugins/mineru_official_parser.py +++ b/src/plugins/mineru_official_parser.py @@ -150,7 +150,7 @@ class MinerUOfficialParser(BaseDocumentProcessor): text = self._download_and_extract(zip_url) processing_time = time.time() - start_time logger.info( - f"MinerU Official 处理成功: {os.path.basename(file_path)} - {len(text)} 字符 ({processing_time:.2f}s)" + f"MinerU Official: {os.path.basename(file_path)} - {len(text)} 字符 ({processing_time:.2f}s)" ) return text @@ -161,6 +161,7 @@ class MinerUOfficialParser(BaseDocumentProcessor): text = processed["markdown_content"] except Exception: import zipfile + text = "" logger.error(f"从 zip 文件中提取 full.md 失败: {zip_path},使用第一个 md 文件") with zipfile.ZipFile(zip_path, "r") as zf: