From bdabed6bfa05df41bb00024c11d37b55e757ceb4 Mon Sep 17 00:00:00 2001 From: wizardchen Date: Sun, 10 Aug 2025 17:04:39 +0800 Subject: [PATCH] feat: Added web page for configuring model information --- .env.example | 116 +- README.md | 32 + cmd/server/main.go | 9 - config/config.yaml | 35 +- docker-compose.yml | 4 + docker/Dockerfile.docreader | 23 +- docs/images/config.png | Bin 0 -> 640642 bytes frontend/src/api/initialization/index.ts | 278 ++ frontend/src/components/menu.vue | 7 +- frontend/src/hooks/useKnowledgeBase.ts | 28 +- frontend/src/router/index.ts | 43 + .../initialization/InitializationConfig.vue | 2626 +++++++++++++++++ go.mod | 2 +- go.sum | 4 +- internal/application/service/knowledge.go | 53 +- internal/application/service/knowledgebase.go | 7 +- internal/application/service/test_data.go | 1 + internal/container/container.go | 1 + internal/handler/initialization.go | 1718 +++++++++++ internal/handler/knowledge.go | 4 + internal/handler/session.go | 48 +- internal/handler/test_data.go | 18 +- internal/middleware/auth.go | 13 +- internal/models/chat/ollama.go | 4 +- internal/models/utils/ollama/ollama.go | 5 + internal/router/router.go | 40 +- internal/types/knowledgebase.go | 72 + internal/types/tenant.go | 4 + migrations/mysql/00-init-db.sql | 6 +- migrations/paradedb/00-init-db.sql | 7 + scripts/start_all.sh | 14 +- services/docreader/requirements.txt | 9 +- services/docreader/scripts/generate_proto.sh | 2 +- services/docreader/src/parser/base_parser.py | 171 +- services/docreader/src/parser/caption.py | 125 +- services/docreader/src/parser/image_parser.py | 8 +- services/docreader/src/parser/image_utils.py | 43 + services/docreader/src/parser/ocr_engine.py | 32 +- services/docreader/src/parser/parser.py | 4 + services/docreader/src/proto/docreader.pb.go | 278 +- services/docreader/src/proto/docreader.proto | 20 + .../docreader/src/proto/docreader_pb2_grpc.py | 57 +- services/docreader/src/server/server.py | 56 + 43 files changed, 5689 insertions(+), 338 deletions(-) create mode 100644 docs/images/config.png create mode 100644 frontend/src/api/initialization/index.ts create mode 100644 frontend/src/views/initialization/InitializationConfig.vue create mode 100644 internal/handler/initialization.go create mode 100644 services/docreader/src/parser/image_utils.py diff --git a/.env.example b/.env.example index 6d986ae..6879932 100644 --- a/.env.example +++ b/.env.example @@ -112,73 +112,79 @@ ENABLE_GRAPH_RAG=false # COS_ENABLE_OLD_DOMAIN=true 表示启用旧的域名格式,默认为 true COS_ENABLE_OLD_DOMAIN=true -# 初始化默认租户与知识库 -# 租户ID,通常是一个字符串 -INIT_TEST_TENANT_ID=1 -# 知识库ID,通常是一个字符串 -INIT_TEST_KNOWLEDGE_BASE_ID=kb-00000001 +############################################################## -# LLM Model -# 使用的LLM模型名称 -# 默认使用 Ollama 的 Qwen3 8B 模型,ollama 会自动处理模型下载和加载 -# 如果需要使用其他模型,请替换为实际的模型名称 -INIT_LLM_MODEL_NAME=qwen3:8b +###### 注意: 以下配置不再生效,已在Web“配置初始化”阶段完成 ######### -# LLM模型的访问地址 -# 支持第三方模型服务的URL -# 如果使用 Ollama 的本地服务,可以留空,ollama 会自动处理 -# INIT_LLM_MODEL_BASE_URL=your_llm_model_base_url -# LLM模型的API密钥,如果需要身份验证,可以设置 -# 支持第三方模型服务的API密钥 -# 如果使用 Ollama 的本地服务,可以留空,ollama 会自动处理 -# INIT_LLM_MODEL_API_KEY=your_llm_model_api_key +# # 初始化默认租户与知识库 +# # 租户ID,通常是一个字符串 +# INIT_TEST_TENANT_ID=1 -# Embedding Model -# 使用的Embedding模型名称 -# 默认使用 nomic-embed-text 模型,支持文本嵌入 -# 如果需要使用其他模型,请替换为实际的模型名称 -INIT_EMBEDDING_MODEL_NAME=nomic-embed-text +# # 知识库ID,通常是一个字符串 +# INIT_TEST_KNOWLEDGE_BASE_ID=kb-00000001 -# Embedding模型向量维度 -INIT_EMBEDDING_MODEL_DIMENSION=768 +# # LLM Model +# # 使用的LLM模型名称 +# # 默认使用 Ollama 的 Qwen3 8B 模型,ollama 会自动处理模型下载和加载 +# # 如果需要使用其他模型,请替换为实际的模型名称 +# INIT_LLM_MODEL_NAME=qwen3:8b -# Embedding模型的ID,通常是一个字符串 -INIT_EMBEDDING_MODEL_ID=builtin:nomic-embed-text:768 +# # LLM模型的访问地址 +# # 支持第三方模型服务的URL +# # 如果使用 Ollama 的本地服务,可以留空,ollama 会自动处理 +# # INIT_LLM_MODEL_BASE_URL=your_llm_model_base_url -# Embedding模型的访问地址 -# 支持第三方模型服务的URL -# 如果使用 Ollama 的本地服务,可以留空,ollama 会自动处理 -# INIT_EMBEDDING_MODEL_BASE_URL=your_embedding_model_base_url +# # LLM模型的API密钥,如果需要身份验证,可以设置 +# # 支持第三方模型服务的API密钥 +# # 如果使用 Ollama 的本地服务,可以留空,ollama 会自动处理 +# # INIT_LLM_MODEL_API_KEY=your_llm_model_api_key -# Embedding模型的API密钥,如果需要身份验证,可以设置 -# 支持第三方模型服务的API密钥 -# 如果使用 Ollama 的本地服务,可以留空,ollama 会自动处理 -# INIT_EMBEDDING_MODEL_API_KEY=your_embedding_model_api_key +# # Embedding Model +# # 使用的Embedding模型名称 +# # 默认使用 nomic-embed-text 模型,支持文本嵌入 +# # 如果需要使用其他模型,请替换为实际的模型名称 +# INIT_EMBEDDING_MODEL_NAME=nomic-embed-text -# Rerank Model(可选) -# 对于rag来说,使用Rerank模型对提升文档搜索的准确度有着重要作用 -# 目前 ollama 暂不支持运行 Rerank 模型 -# 使用的Rerank模型名称 -# INIT_RERANK_MODEL_NAME=your_rerank_model_name +# # Embedding模型向量维度 +# INIT_EMBEDDING_MODEL_DIMENSION=768 -# Rerank模型的访问地址 -# 支持第三方模型服务的URL -# INIT_RERANK_MODEL_BASE_URL=your_rerank_model_base_url +# # Embedding模型的ID,通常是一个字符串 +# INIT_EMBEDDING_MODEL_ID=builtin:nomic-embed-text:768 -# Rerank模型的API密钥,如果需要身份验证,可以设置 -# 支持第三方模型服务的API密钥 -# INIT_RERANK_MODEL_API_KEY=your_rerank_model_api_key +# # Embedding模型的访问地址 +# # 支持第三方模型服务的URL +# # 如果使用 Ollama 的本地服务,可以留空,ollama 会自动处理 +# # INIT_EMBEDDING_MODEL_BASE_URL=your_embedding_model_base_url -# VLM_MODEL_NAME 使用的多模态模型名称 -# 用于解析图片数据 -# VLM_MODEL_NAME=your_vlm_model_name +# # Embedding模型的API密钥,如果需要身份验证,可以设置 +# # 支持第三方模型服务的API密钥 +# # 如果使用 Ollama 的本地服务,可以留空,ollama 会自动处理 +# # INIT_EMBEDDING_MODEL_API_KEY=your_embedding_model_api_key -# VLM_MODEL_BASE_URL 使用的多模态模型访问地址 -# 支持第三方模型服务的URL -# VLM_MODEL_BASE_URL=your_vlm_model_base_url +# # Rerank Model(可选) +# # 对于rag来说,使用Rerank模型对提升文档搜索的准确度有着重要作用 +# # 目前 ollama 暂不支持运行 Rerank 模型 +# # 使用的Rerank模型名称 +# # INIT_RERANK_MODEL_NAME=your_rerank_model_name -# VLM_MODEL_API_KEY 使用的多模态模型API密钥 -# 支持第三方模型服务的API密钥 -# VLM_MODEL_API_KEY=your_vlm_model_api_key \ No newline at end of file +# # Rerank模型的访问地址 +# # 支持第三方模型服务的URL +# # INIT_RERANK_MODEL_BASE_URL=your_rerank_model_base_url + +# # Rerank模型的API密钥,如果需要身份验证,可以设置 +# # 支持第三方模型服务的API密钥 +# # INIT_RERANK_MODEL_API_KEY=your_rerank_model_api_key + +# # VLM_MODEL_NAME 使用的多模态模型名称 +# # 用于解析图片数据 +# # VLM_MODEL_NAME=your_vlm_model_name + +# # VLM_MODEL_BASE_URL 使用的多模态模型访问地址 +# # 支持第三方模型服务的URL +# # VLM_MODEL_BASE_URL=your_vlm_model_base_url + +# # VLM_MODEL_API_KEY 使用的多模态模型API密钥 +# # 支持第三方模型服务的API密钥 +# # VLM_MODEL_API_KEY=your_vlm_model_api_key \ No newline at end of file diff --git a/README.md b/README.md index 5da87a8..c37ae1e 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,38 @@ WeKnora 作为[微信对话开放平台](https://chatbot.weixin.qq.com)的核心 - **高效问题管理**:支持高频问题的独立分类管理,提供丰富的数据工具,确保回答精准可靠且易于维护 - **微信生态覆盖**:通过微信对话开放平台,WeKnora 的智能问答能力可无缝集成到公众号、小程序等微信场景中,提升用户交互体验 +## 🔧 初始化配置引导 + +为了方便用户快速配置各类模型,降低试错成本,我们改进了原来的配置文件初始化方式,增加了Web UI界面进行各种模型的配置。在使用之前,请确保代码更新到最新版本。具体使用步骤如下: +如果是第一次使用本项目,可跳过①②步骤,直接进入③④步骤。 + +### ① 关闭服务 + +```bash +./scripts/start_all.sh --stop +``` + +### ② 清空原有数据表(建议在没有重要数据的情况下使用) + +```bash +make clean-db +``` + +### ③ 编译并启动服务 + +```bash +./scripts/start_all.sh +``` + +### ④ 访问Web UI + +http://localhost + +首次访问会自动跳转到初始化配置页面,配置完成后会自动跳转到知识库页面。请按照页面提示信息完成模型的配置。 + +![配置页面](./docs/images/config.png) + + ## 📱 功能展示 ### Web UI 界面 diff --git a/cmd/server/main.go b/cmd/server/main.go index 403f889..b253f35 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -14,7 +14,6 @@ import ( "github.com/gin-gonic/gin" - "github.com/Tencent/WeKnora/internal/application/service" "github.com/Tencent/WeKnora/internal/config" "github.com/Tencent/WeKnora/internal/container" "github.com/Tencent/WeKnora/internal/runtime" @@ -42,7 +41,6 @@ func main() { cfg *config.Config, router *gin.Engine, tracer *tracing.Tracer, - testDataService *service.TestDataService, resourceCleaner interfaces.ResourceCleaner, ) error { // Create context for resource cleanup @@ -58,13 +56,6 @@ func main() { return tracer.Cleanup(cleanupCtx) }) - // Initialize test data - if testDataService != nil { - if err := testDataService.InitializeTestData(context.Background()); err != nil { - log.Printf("Failed to initialize test data: %v", err) - } - } - // Create HTTP server server := &http.Server{ Addr: fmt.Sprintf("%s:%d", cfg.Server.Host, cfg.Server.Port), diff --git a/config/config.yaml b/config/config.yaml index f88b3f0..d739a83 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -151,26 +151,27 @@ conversation: Output: generate_summary_prompt: | - 你是一个总结助手,你的任务是总结文章或者片段内容。 + 你是一个精准的文章总结专家。你的任务是提取并总结用户提供的文章或片段的核心内容。 - ## 准则要求 - - 总结结果长度不能超过100个字 - - 保持客观,不添加个人观点或评价 - - 使用第三人称陈述语气 - - 不要基于任何先验知识回答用户的问题,只基于文章内容生成摘要 - - 直接输出总结结果,不要有任何前缀或解释 - - 使用中文输出总结结果 - - 不能输出“无法生成”、“无法总结”等字眼 + ## 核心要求 + - 总结结果长度为50-100个字,根据内容复杂度灵活调整 + - 完全基于提供的文章内容生成总结,不添加任何未在文章中出现的信息 + - 确保总结包含文章的关键信息点和主要结论 + - 即使文章内容较复杂或专业,也必须尝试提取核心要点进行总结 + - 直接输出总结结果,不包含任何引言、前缀或解释 - ## Few-shot示例 + ## 格式与风格 + - 使用客观、中立的第三人称陈述语气 + - 使用清晰简洁的中文表达 + - 保持逻辑连贯性,确保句与句之间有合理过渡 + - 避免重复使用相同的表达方式或句式结构 - 用户给出的文章内容: - 随着5G技术的快速发展,各行各业正经历数字化转型。5G网络凭借高速率、低延迟和大连接的特性,正在推动智慧城市、工业互联网和远程医疗等领域的创新。专家预测,到2025年,5G将为全球经济贡献约2.2万亿美元。然而,5G建设也面临基础设施投入大、覆盖不均等挑战。 - - 文章总结: - 5G技术凭借高速率、低延迟和大连接特性推动各行业数字化转型,促进智慧城市、工业互联网和远程医疗创新。预计2025年将贡献约2.2万亿美元经济价值,但仍面临基础设施投入大和覆盖不均等挑战。 - - ## 用户给出的文章内容是: + ## 注意事项 + - 绝对不输出"无法生成"、"无法总结"、"内容不足"等拒绝回应的词语 + - 不要照抄或参考示例中的任何内容,确保总结完全基于用户提供的新文章 + - 对于任何文本都尽最大努力提取重点并总结,无论长度或复杂度 + + ## 以下是用户给出的文章相关信息: generate_session_title_prompt: | 你是一个专业的会话标题生成助手,你的任务是为用户提问创建简洁、精准且具描述性的标题。 diff --git a/docker-compose.yml b/docker-compose.yml index 9521ae6..420582b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -87,6 +87,8 @@ services: build: context: . dockerfile: docker/Dockerfile.docreader + args: + - PLATFORM=${PLATFORM:-linux/amd64} container_name: WeKnora-docreader ports: - "50051:50051" @@ -104,6 +106,8 @@ services: networks: - WeKnora-network restart: unless-stopped + extra_hosts: + - "host.docker.internal:host-gateway" jaeger: image: jaegertracing/all-in-one:latest diff --git a/docker/Dockerfile.docreader b/docker/Dockerfile.docreader index 3cec8a2..b49ad55 100644 --- a/docker/Dockerfile.docreader +++ b/docker/Dockerfile.docreader @@ -93,14 +93,29 @@ RUN apt-get update && apt-get install -y \ # 下载并安装最新版本的 LibreOffice 25.2.4 RUN mkdir -p /tmp/libreoffice && \ cd /tmp/libreoffice && \ - wget -q https://mirrors.tuna.tsinghua.edu.cn/libreoffice/libreoffice/stable/25.2.4/deb/x86_64/LibreOffice_25.2.4_Linux_x86-64_deb.tar.gz && \ - tar -xzf LibreOffice_25.2.4_Linux_x86-64_deb.tar.gz && \ - cd LibreOffice_25.2.4*_Linux_x86-64_deb/DEBS && \ - dpkg -i *.deb && \ + if [ "$(uname -m)" = "x86_64" ]; then \ + wget -q https://mirrors.tuna.tsinghua.edu.cn/libreoffice/libreoffice/stable/25.2.4/deb/x86_64/LibreOffice_25.2.4_Linux_x86-64_deb.tar.gz && \ + tar -xzf LibreOffice_25.2.4_Linux_x86-64_deb.tar.gz && \ + cd LibreOffice_25.2.4*_Linux_x86-64_deb/DEBS && \ + dpkg -i *.deb; \ + elif [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "arm64" ]; then \ + wget -q https://mirrors.tuna.tsinghua.edu.cn/libreoffice/libreoffice/testing/25.8.0/deb/aarch64/LibreOffice_25.8.0.2_Linux_aarch64_deb.tar.gz && \ + tar -xzf LibreOffice_25.8.0.2_Linux_aarch64_deb.tar.gz && \ + cd LibreOffice_25.8.0*_Linux_aarch64_deb/DEBS && \ + dpkg -i *.deb; \ + else \ + echo "Unsupported architecture: $(uname -m)" && exit 1; \ + fi && \ cd / && \ rm -rf /tmp/libreoffice # 设置 LibreOffice 环境变量 +RUN if [ "$(uname -m)" = "x86_64" ]; then \ + echo 'export LIBREOFFICE_PATH=/opt/libreoffice25.2/program/soffice' >> /etc/environment; \ + elif [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "arm64" ]; then \ + echo 'export LIBREOFFICE_PATH=/opt/libreoffice25.2/program/soffice' >> /etc/environment; \ + fi + ENV LIBREOFFICE_PATH=/opt/libreoffice25.2/program/soffice # 从构建阶段复制已安装的依赖和生成的代码 diff --git a/docs/images/config.png b/docs/images/config.png new file mode 100644 index 0000000000000000000000000000000000000000..9c1580adfd319bc63c823613773d2e39d5ef6b31 GIT binary patch literal 640642 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

ej`(ZD$@IXX_@ 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

dwq6k(h?z=VlEsys`JcNK5(FGQ#W$d#``_ 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 z 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 z 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

10*?c>w%)NFnNI(VvXK)+4#uA0N4uhp2G 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 poyMQFZNm=re+XV#o5h11eo#m6D_d!B=K { + return new Promise((resolve, reject) => { + get('/api/v1/initialization/status') + .then((response: any) => { + resolve(response.data || { initialized: false }); + }) + .catch((error: any) => { + console.warn('检查初始化状态失败,假设需要初始化:', error); + resolve({ initialized: false }); + }); + }); +} + +// 执行系统初始化 +export function initializeSystem(config: InitializationConfig): Promise { + return new Promise((resolve, reject) => { + console.log('开始系统初始化...', config); + post('/api/v1/initialization/initialize', config) + .then((response: any) => { + console.log('系统初始化完成', response); + // 设置本地初始化状态标记 + localStorage.setItem('system_initialized', 'true'); + resolve(response); + }) + .catch((error: any) => { + console.error('系统初始化失败:', error); + reject(error); + }); + }); +} + +// 检查Ollama服务状态 +export function checkOllamaStatus(): Promise<{ available: boolean; version?: string; error?: string }> { + return new Promise((resolve, reject) => { + get('/api/v1/initialization/ollama/status') + .then((response: any) => { + resolve(response.data || { available: false }); + }) + .catch((error: any) => { + console.error('检查Ollama状态失败:', error); + resolve({ available: false, error: error.message || '检查失败' }); + }); + }); +} + +// 检查Ollama模型状态 +export function checkOllamaModels(models: string[]): Promise<{ models: Record }> { + return new Promise((resolve, reject) => { + post('/api/v1/initialization/ollama/models/check', { models }) + .then((response: any) => { + resolve(response.data || { models: {} }); + }) + .catch((error: any) => { + console.error('检查Ollama模型状态失败:', error); + reject(error); + }); + }); +} + +// 启动Ollama模型下载(异步) +export function downloadOllamaModel(modelName: string): Promise<{ taskId: string; modelName: string; status: string; progress: number }> { + return new Promise((resolve, reject) => { + post('/api/v1/initialization/ollama/models/download', { modelName }) + .then((response: any) => { + resolve(response.data || { taskId: '', modelName, status: 'failed', progress: 0 }); + }) + .catch((error: any) => { + console.error('启动Ollama模型下载失败:', error); + reject(error); + }); + }); +} + +// 查询下载进度 +export function getDownloadProgress(taskId: string): Promise { + return new Promise((resolve, reject) => { + get(`/api/v1/initialization/ollama/download/progress/${taskId}`) + .then((response: any) => { + resolve(response.data); + }) + .catch((error: any) => { + console.error('查询下载进度失败:', error); + reject(error); + }); + }); +} + +// 获取所有下载任务 +export function listDownloadTasks(): Promise { + return new Promise((resolve, reject) => { + get('/api/v1/initialization/ollama/download/tasks') + .then((response: any) => { + resolve(response.data || []); + }) + .catch((error: any) => { + console.error('获取下载任务列表失败:', error); + reject(error); + }); + }); +} + +// 获取当前系统配置 +export function getCurrentConfig(): Promise { + return new Promise((resolve, reject) => { + get('/api/v1/initialization/config') + .then((response: any) => { + resolve(response.data || {}); + }) + .catch((error: any) => { + console.error('获取当前配置失败:', error); + reject(error); + }); + }); +} + +// 检查远程API模型 +export function checkRemoteModel(modelConfig: { + modelName: string; + baseUrl: string; + apiKey?: string; +}): Promise<{ + available: boolean; + message?: string; +}> { + return new Promise((resolve, reject) => { + post('/api/v1/initialization/remote/check', modelConfig) + .then((response: any) => { + resolve(response.data || {}); + }) + .catch((error: any) => { + console.error('检查远程模型失败:', error); + reject(error); + }); + }); +} + +export function checkRerankModel(modelConfig: { + modelName: string; + baseUrl: string; + apiKey?: string; +}): Promise<{ + available: boolean; + message?: string; +}> { + return new Promise((resolve, reject) => { + post('/api/v1/initialization/rerank/check', modelConfig) + .then((response: any) => { + resolve(response.data || {}); + }) + .catch((error: any) => { + console.error('检查Rerank模型失败:', error); + reject(error); + }); + }); +} + +export function testMultimodalFunction(testData: { + image: File; + vlm_model: string; + vlm_base_url: string; + vlm_api_key?: string; + vlm_interface_type?: string; + cos_secret_id: string; + cos_secret_key: string; + cos_region: string; + cos_bucket_name: string; + cos_app_id: string; + cos_path_prefix?: string; + chunk_size: number; + chunk_overlap: number; + separators: string[]; +}): Promise<{ + success: boolean; + caption?: string; + ocr?: string; + processing_time?: number; + message?: string; +}> { + return new Promise((resolve, reject) => { + const formData = new FormData(); + formData.append('image', testData.image); + formData.append('vlm_model', testData.vlm_model); + formData.append('vlm_base_url', testData.vlm_base_url); + if (testData.vlm_api_key) { + formData.append('vlm_api_key', testData.vlm_api_key); + } + if (testData.vlm_interface_type) { + formData.append('vlm_interface_type', testData.vlm_interface_type); + } + formData.append('cos_secret_id', testData.cos_secret_id); + formData.append('cos_secret_key', testData.cos_secret_key); + formData.append('cos_region', testData.cos_region); + formData.append('cos_bucket_name', testData.cos_bucket_name); + formData.append('cos_app_id', testData.cos_app_id); + if (testData.cos_path_prefix) { + formData.append('cos_path_prefix', testData.cos_path_prefix); + } + formData.append('chunk_size', testData.chunk_size.toString()); + formData.append('chunk_overlap', testData.chunk_overlap.toString()); + formData.append('separators', JSON.stringify(testData.separators)); + + // 使用原生fetch因为需要发送FormData + fetch('/api/v1/initialization/multimodal/test', { + method: 'POST', + body: formData + }) + .then(response => response.json()) + .then((data: any) => { + if (data.success) { + resolve(data.data || {}); + } else { + resolve({ success: false, message: data.message || '测试失败' }); + } + }) + .catch((error: any) => { + console.error('多模态测试失败:', error); + reject(error); + }); + }); +} \ No newline at end of file diff --git a/frontend/src/components/menu.vue b/frontend/src/components/menu.vue index b656c04..cc1d7f1 100644 --- a/frontend/src/components/menu.vue +++ b/frontend/src/components/menu.vue @@ -173,7 +173,12 @@ const getIcon = (path) => { getIcon(route.name) const gotopage = (path) => { pathPrefix.value = path; - router.push(`/platform/${path}`); + // 如果是系统设置,跳转到初始化配置页面 + if (path === 'settings') { + router.push('/initialization'); + } else { + router.push(`/platform/${path}`); + } getIcon(path) } diff --git a/frontend/src/hooks/useKnowledgeBase.ts b/frontend/src/hooks/useKnowledgeBase.ts index 08ce546..63ba904 100644 --- a/frontend/src/hooks/useKnowledgeBase.ts +++ b/frontend/src/hooks/useKnowledgeBase.ts @@ -23,7 +23,7 @@ export default function () { }); const getKnowled = (query = { page: 1, page_size: 35 }) => { getKnowledgeBase(query) - .then((result: object) => { + .then((result: any) => { let { data, total: totalResult } = result; let cardList_ = data.map((item) => { item["file_name"] = item.file_name.substring( @@ -50,7 +50,7 @@ export default function () { cardList.value[index].isMore = false; moreIndex.value = -1; delKnowledgeDetails(item.id) - .then((result) => { + .then((result: any) => { if (result.success) { MessagePlugin.info("知识删除成功!"); getKnowled(); @@ -76,17 +76,29 @@ export default function () { return; } uploadKnowledgeBase({ file }) - .then((result) => { + .then((result: any) => { if (result.success) { MessagePlugin.info("上传成功!"); getKnowled(); } else { - MessagePlugin.error("上传失败!"); + // 检查错误码,如果是重复文件则显示特定提示 + if (result.code === 'duplicate_file') { + MessagePlugin.error("文件已存在"); + } else { + MessagePlugin.error(result.message || (result.error && result.error.message) || "上传失败!"); + } } uploadInput.value.value = ""; }) - .catch((err) => { - MessagePlugin.error("上传失败!"); + .catch((err: any) => { + // 检查错误响应中的错误码 + if (err.code === 'duplicate_file') { + MessagePlugin.error("文件已存在"); + } else if (err.message) { + MessagePlugin.error(err.message); + } else { + MessagePlugin.error("上传失败!"); + } uploadInput.value.value = ""; }); } else { @@ -101,7 +113,7 @@ export default function () { id: "", }); getKnowledgeDetails(item.id) - .then((result) => { + .then((result: any) => { if (result.success && result.data) { let { data } = result; Object.assign(details, { @@ -116,7 +128,7 @@ export default function () { }; const getfDetails = (id, page) => { getKnowledgeDetailsCon(id, page) - .then((result) => { + .then((result: any) => { if (result.success && result.data) { let { data, total: totalResult } = result; if (page == 1) { diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 2e37e21..6e1d7b8 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -1,4 +1,5 @@ import { createRouter, createWebHistory } from 'vue-router' +import { checkInitializationStatus } from '@/api/initialization' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -7,40 +8,82 @@ const router = createRouter({ path: "/", redirect: "/platform", }, + { + path: "/initialization", + name: "initialization", + component: () => import("../views/initialization/InitializationConfig.vue"), + meta: { requiresInit: false } // 初始化页面不需要检查初始化状态 + }, { path: "/knowledgeBase", name: "home", component: () => import("../views/knowledge/KnowledgeBase.vue"), + meta: { requiresInit: true } }, { path: "/platform", name: "Platform", redirect: "/platform/knowledgeBase", component: () => import("../views/platform/index.vue"), + meta: { requiresInit: true }, children: [ { path: "knowledgeBase", name: "knowledgeBase", component: () => import("../views/knowledge/KnowledgeBase.vue"), + meta: { requiresInit: true } }, { path: "creatChat", name: "creatChat", component: () => import("../views/creatChat/creatChat.vue"), + meta: { requiresInit: true } }, { path: "chat/:chatid", name: "chat", component: () => import("../views/chat/index.vue"), + meta: { requiresInit: true } }, { path: "settings", name: "settings", component: () => import("../views/settings/Settings.vue"), + meta: { requiresInit: true } }, ], }, ], }); +// 路由守卫:检查系统初始化状态 +router.beforeEach(async (to, from, next) => { + // 如果访问的是初始化页面,直接放行 + if (to.meta.requiresInit === false) { + next(); + return; + } + +1 + + try { + // 检查系统是否已初始化 + const { initialized } = await checkInitializationStatus(); + + if (initialized) { + // 系统已初始化,记录到本地存储并正常跳转 + localStorage.setItem('system_initialized', 'true'); + next(); + } else { + // 系统未初始化,跳转到初始化页面 + console.log('系统未初始化,跳转到初始化页面'); + next('/initialization'); + } + } catch (error) { + console.error('检查初始化状态失败:', error); + // 如果检查失败,默认认为需要初始化 + next('/initialization'); + } +}); + export default router diff --git a/frontend/src/views/initialization/InitializationConfig.vue b/frontend/src/views/initialization/InitializationConfig.vue new file mode 100644 index 0000000..4a2a71e --- /dev/null +++ b/frontend/src/views/initialization/InitializationConfig.vue @@ -0,0 +1,2626 @@ + + + + + \ No newline at end of file diff --git a/go.mod b/go.mod index ef5699a..d9206bd 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/google/uuid v1.6.0 github.com/hibiken/asynq v0.25.1 github.com/minio/minio-go/v7 v7.0.90 - github.com/ollama/ollama v0.9.6 + github.com/ollama/ollama v0.11.4 github.com/panjf2000/ants/v2 v2.11.2 github.com/parquet-go/parquet-go v0.25.0 github.com/pgvector/pgvector-go v0.3.0 diff --git a/go.sum b/go.sum index b0c93ea..96e533f 100644 --- a/go.sum +++ b/go.sum @@ -141,8 +141,8 @@ github.com/mozillazg/go-httpheader v0.2.1 h1:geV7TrjbL8KXSyvghnFm+NyTux/hxwueTSr github.com/mozillazg/go-httpheader v0.2.1/go.mod h1:jJ8xECTlalr6ValeXYdOF8fFUISeBAdw6E61aqQma60= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/ollama/ollama v0.9.6 h1:HZNJmB52pMt6zLkGkkheBuXBXM5478eiSAj7GR75AMc= -github.com/ollama/ollama v0.9.6/go.mod h1:zLwx3iZ3AI4Rc/egsrx3u1w4RU2MHQ/Ylxse48jvyt4= +github.com/ollama/ollama v0.11.4 h1:6xLYLEPTKtw6N20qQecyEL/rrBktPO4o5U05cnvkSmI= +github.com/ollama/ollama v0.11.4/go.mod h1:9+1//yWPsDE2u+l1a5mpaKrYw4VdnSsRU3ioq5BvMms= github.com/panjf2000/ants/v2 v2.11.2 h1:AVGpMSePxUNpcLaBO34xuIgM1ZdKOiGnpxLXixLi5Jo= github.com/panjf2000/ants/v2 v2.11.2/go.mod h1:8u92CYMUc6gyvTIw8Ru7Mt7+/ESnJahz5EVtqfrilek= github.com/parquet-go/parquet-go v0.25.0 h1:GwKy11MuF+al/lV6nUsFw8w8HCiPOSAx1/y8yFxjH5c= diff --git a/internal/application/service/knowledge.go b/internal/application/service/knowledge.go index b093cf5..038c40e 100644 --- a/internal/application/service/knowledge.go +++ b/internal/application/service/knowledge.go @@ -19,6 +19,7 @@ import ( "github.com/Tencent/WeKnora/internal/application/service/retriever" "github.com/Tencent/WeKnora/internal/config" + werrors "github.com/Tencent/WeKnora/internal/errors" "github.com/Tencent/WeKnora/internal/logger" "github.com/Tencent/WeKnora/internal/models/chat" "github.com/Tencent/WeKnora/internal/models/utils" @@ -105,6 +106,28 @@ func (s *knowledgeService) CreateKnowledgeFromFile(ctx context.Context, return nil, err } + // 检查多模态配置完整性 - 只在图片文件时校验 + // 检查是否为图片文件 + if !IsImageType(getFileType(file.Filename)) { + logger.Info(ctx, "Non-image file with multimodal enabled, skipping COS/VLM validation") + } else { + // 检查COS配置 + if kb.COSConfig.SecretID == "" || kb.COSConfig.SecretKey == "" || + kb.COSConfig.Region == "" || kb.COSConfig.BucketName == "" || + kb.COSConfig.AppID == "" { + logger.Error(ctx, "COS configuration incomplete for image multimodal processing") + return nil, werrors.NewBadRequestError("上传图片文件需要完整的COS配置信息") + } + + // 检查VLM配置 + if kb.VLMConfig.ModelName == "" || kb.VLMConfig.BaseURL == "" { + logger.Error(ctx, "VLM configuration incomplete for image multimodal processing") + return nil, werrors.NewBadRequestError("上传图片文件需要完整的VLM配置信息") + } + + logger.Info(ctx, "Image multimodal configuration validation passed") + } + // Validate file type logger.Infof(ctx, "Checking file type: %s", file.Filename) if !isValidFileType(file.Filename) { @@ -647,6 +670,20 @@ func (s *knowledgeService) processDocument(ctx context.Context, ChunkOverlap: int32(kb.ChunkingConfig.ChunkOverlap), Separators: kb.ChunkingConfig.Separators, EnableMultimodal: enableMultimodel, + CosConfig: &proto.COSConfig{ + SecretId: kb.COSConfig.SecretID, + SecretKey: kb.COSConfig.SecretKey, + Region: kb.COSConfig.Region, + BucketName: kb.COSConfig.BucketName, + AppId: kb.COSConfig.AppID, + PathPrefix: kb.COSConfig.PathPrefix, + }, + VlmConfig: &proto.VLMConfig{ + ModelName: kb.VLMConfig.ModelName, + BaseUrl: kb.VLMConfig.BaseURL, + ApiKey: kb.VLMConfig.APIKey, + InterfaceType: kb.VLMConfig.InterfaceType, + }, }, RequestId: ctx.Value(types.RequestIDContextKey).(string), }) @@ -687,6 +724,20 @@ func (s *knowledgeService) processDocumentFromURL(ctx context.Context, ChunkOverlap: int32(kb.ChunkingConfig.ChunkOverlap), Separators: kb.ChunkingConfig.Separators, EnableMultimodal: enableMultimodel, + CosConfig: &proto.COSConfig{ + SecretId: kb.COSConfig.SecretID, + SecretKey: kb.COSConfig.SecretKey, + Region: kb.COSConfig.Region, + BucketName: kb.COSConfig.BucketName, + AppId: kb.COSConfig.AppID, + PathPrefix: kb.COSConfig.PathPrefix, + }, + VlmConfig: &proto.VLMConfig{ + ModelName: kb.VLMConfig.ModelName, + BaseUrl: kb.VLMConfig.BaseURL, + ApiKey: kb.VLMConfig.APIKey, + InterfaceType: kb.VLMConfig.InterfaceType, + }, }, RequestId: ctx.Value(types.RequestIDContextKey).(string), }) @@ -1145,7 +1196,7 @@ func (s *knowledgeService) getSummary(ctx context.Context, chunkContents = chunkContents + imageAnnotations } - if len(chunkContents) < 30 { + if len(chunkContents) < 300 { return chunkContents, nil } diff --git a/internal/application/service/knowledgebase.go b/internal/application/service/knowledgebase.go index 326290a..1710d31 100644 --- a/internal/application/service/knowledgebase.go +++ b/internal/application/service/knowledgebase.go @@ -47,7 +47,9 @@ func (s *knowledgeBaseService) CreateKnowledgeBase(ctx context.Context, kb *types.KnowledgeBase, ) (*types.KnowledgeBase, error) { // Generate UUID and set creation timestamps - kb.ID = uuid.New().String() + if kb.ID == "" { + kb.ID = uuid.New().String() + } kb.CreatedAt = time.Now() kb.TenantID = ctx.Value(types.TenantIDContextKey).(uint) kb.UpdatedAt = time.Now() @@ -245,6 +247,9 @@ func (s *knowledgeBaseService) CopyKnowledgeBase(ctx context.Context, ImageProcessingConfig: sourceKB.ImageProcessingConfig, EmbeddingModelID: sourceKB.EmbeddingModelID, SummaryModelID: sourceKB.SummaryModelID, + RerankModelID: sourceKB.RerankModelID, + VLMModelID: sourceKB.VLMModelID, + COSConfig: sourceKB.COSConfig, } if err := s.repo.CreateKnowledgeBase(ctx, targetKB); err != nil { return nil, nil, err diff --git a/internal/application/service/test_data.go b/internal/application/service/test_data.go index b0679b3..49e098d 100644 --- a/internal/application/service/test_data.go +++ b/internal/application/service/test_data.go @@ -144,6 +144,7 @@ func (s *TestDataService) initKnowledgeBase(ctx context.Context) error { }, EmbeddingModelID: s.EmbedModel.GetModelID(), SummaryModelID: s.LLMModel.GetModelID(), + RerankModelID: s.RerankModel.GetModelID(), } // 初始化测试知识库 diff --git a/internal/container/container.go b/internal/container/container.go index 6808760..614ff7b 100644 --- a/internal/container/container.go +++ b/internal/container/container.go @@ -115,6 +115,7 @@ func BuildContainer(container *dig.Container) *dig.Container { must(container.Provide(handler.NewTestDataHandler)) must(container.Provide(handler.NewModelHandler)) must(container.Provide(handler.NewEvaluationHandler)) + must(container.Provide(handler.NewInitializationHandler)) // Router configuration must(container.Provide(router.NewRouter)) diff --git a/internal/handler/initialization.go b/internal/handler/initialization.go new file mode 100644 index 0000000..3e79478 --- /dev/null +++ b/internal/handler/initialization.go @@ -0,0 +1,1718 @@ +package handler + +import ( + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "os" + "strings" + "sync" + "time" + + "strconv" + + "github.com/Tencent/WeKnora/internal/config" + "github.com/Tencent/WeKnora/internal/errors" + "github.com/Tencent/WeKnora/internal/logger" + "github.com/Tencent/WeKnora/internal/models/utils/ollama" + "github.com/Tencent/WeKnora/internal/types" + "github.com/Tencent/WeKnora/internal/types/interfaces" + "github.com/Tencent/WeKnora/services/docreader/src/client" + "github.com/Tencent/WeKnora/services/docreader/src/proto" + "github.com/gin-gonic/gin" + "github.com/google/uuid" + "github.com/ollama/ollama/api" +) + +// DownloadTask 下载任务信息 +type DownloadTask struct { + ID string `json:"id"` + ModelName string `json:"modelName"` + Status string `json:"status"` // pending, downloading, completed, failed + Progress float64 `json:"progress"` + Message string `json:"message"` + StartTime time.Time `json:"startTime"` + EndTime *time.Time `json:"endTime,omitempty"` +} + +// 全局下载任务管理器 +var ( + downloadTasks = make(map[string]*DownloadTask) + tasksMutex sync.RWMutex +) + +// InitializationHandler 初始化处理器 +type InitializationHandler struct { + config *config.Config + tenantService interfaces.TenantService + modelService interfaces.ModelService + kbService interfaces.KnowledgeBaseService + kbRepository interfaces.KnowledgeBaseRepository + knowledgeService interfaces.KnowledgeService + ollamaService *ollama.OllamaService + docReaderClient *client.Client +} + +// NewInitializationHandler 创建初始化处理器 +func NewInitializationHandler( + config *config.Config, + tenantService interfaces.TenantService, + modelService interfaces.ModelService, + kbService interfaces.KnowledgeBaseService, + kbRepository interfaces.KnowledgeBaseRepository, + knowledgeService interfaces.KnowledgeService, + ollamaService *ollama.OllamaService, + docReaderClient *client.Client, +) *InitializationHandler { + return &InitializationHandler{ + config: config, + tenantService: tenantService, + modelService: modelService, + kbService: kbService, + kbRepository: kbRepository, + knowledgeService: knowledgeService, + ollamaService: ollamaService, + docReaderClient: docReaderClient, + } +} + +// InitializationRequest 初始化请求结构 +type InitializationRequest struct { + LLM struct { + Source string `json:"source" binding:"required"` + ModelName string `json:"modelName" binding:"required"` + BaseURL string `json:"baseUrl"` + APIKey string `json:"apiKey"` + } `json:"llm" binding:"required"` + + Embedding struct { + Source string `json:"source" binding:"required"` + ModelName string `json:"modelName" binding:"required"` + BaseURL string `json:"baseUrl"` + APIKey string `json:"apiKey"` + Dimension int `json:"dimension"` // 添加embedding维度字段 + } `json:"embedding" binding:"required"` + + Rerank struct { + Enabled bool `json:"enabled"` + ModelName string `json:"modelName"` + BaseURL string `json:"baseUrl"` + APIKey string `json:"apiKey"` + } `json:"rerank"` + + Multimodal struct { + Enabled bool `json:"enabled"` + VLM *struct { + ModelName string `json:"modelName"` + BaseURL string `json:"baseUrl"` + APIKey string `json:"apiKey"` + InterfaceType string `json:"interfaceType"` // "ollama" or "openai" + } `json:"vlm,omitempty"` + COS *struct { + SecretID string `json:"secretId"` + SecretKey string `json:"secretKey"` + Region string `json:"region"` + BucketName string `json:"bucketName"` + AppID string `json:"appId"` + PathPrefix string `json:"pathPrefix"` + } `json:"cos,omitempty"` + } `json:"multimodal"` + + DocumentSplitting struct { + ChunkSize int `json:"chunkSize" binding:"required,min=100,max=10000"` + ChunkOverlap int `json:"chunkOverlap" binding:"required,min=0"` + Separators []string `json:"separators" binding:"required,min=1"` + } `json:"documentSplitting" binding:"required"` +} + +// CheckStatus 检查系统初始化状态 +func (h *InitializationHandler) CheckStatus(c *gin.Context) { + ctx := c.Request.Context() + logger.Info(ctx, "Checking system initialization status") + + // 检查是否存在租户 + tenant, err := h.tenantService.GetTenantByID(ctx, types.InitDefaultTenantID) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "initialized": false, + }, + }) + return + } + + // 如果没有租户,说明系统未初始化 + if tenant == nil { + logger.Info(ctx, "No tenants found, system not initialized") + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "initialized": false, + }, + }) + return + } + ctx = context.WithValue(ctx, types.TenantIDContextKey, types.InitDefaultTenantID) + + // 检查是否存在模型 + models, err := h.modelService.ListModels(ctx) + if err != nil || len(models) == 0 { + logger.Info(ctx, "No models found, system not initialized") + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "initialized": false, + }, + }) + return + } + + logger.Info(ctx, "System is already initialized") + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "initialized": true, + }, + }) +} + +// Initialize 执行系统初始化 +func (h *InitializationHandler) Initialize(c *gin.Context) { + ctx := c.Request.Context() + + logger.Info(ctx, "Starting system initialization") + + var req InitializationRequest + if err := c.ShouldBindJSON(&req); err != nil { + logger.Error(ctx, "Failed to parse initialization request", err) + c.Error(errors.NewBadRequestError(err.Error())) + return + } + + // 验证多模态配置 + if req.Multimodal.Enabled { + if req.Multimodal.VLM == nil || req.Multimodal.COS == nil { + logger.Error(ctx, "Multimodal enabled but missing VLM or COS configuration") + c.Error(errors.NewBadRequestError("启用多模态时需要配置VLM和COS信息")) + return + } + if req.Multimodal.VLM.InterfaceType == "ollama" { + req.Multimodal.VLM.BaseURL = os.Getenv("OLLAMA_BASE_URL") + "/v1" + } + if req.Multimodal.VLM.ModelName == "" || req.Multimodal.VLM.BaseURL == "" { + logger.Error(ctx, "VLM configuration incomplete") + c.Error(errors.NewBadRequestError("VLM配置不完整")) + return + } + if req.Multimodal.COS.SecretID == "" || req.Multimodal.COS.SecretKey == "" || + req.Multimodal.COS.Region == "" || req.Multimodal.COS.BucketName == "" || + req.Multimodal.COS.AppID == "" { + logger.Error(ctx, "COS configuration incomplete") + c.Error(errors.NewBadRequestError("COS配置不完整")) + return + } + } + + // 验证Rerank配置(如果启用) + if req.Rerank.Enabled { + if req.Rerank.ModelName == "" || req.Rerank.BaseURL == "" { + logger.Error(ctx, "Rerank configuration incomplete") + c.Error(errors.NewBadRequestError("启用Rerank时需要配置模型名称和Base URL")) + return + } + } + + // 验证文档分割配置 + if req.DocumentSplitting.ChunkOverlap >= req.DocumentSplitting.ChunkSize { + logger.Error(ctx, "Chunk overlap must be less than chunk size") + c.Error(errors.NewBadRequestError("分块重叠大小必须小于分块大小")) + return + } + if len(req.DocumentSplitting.Separators) == 0 { + logger.Error(ctx, "Document separators cannot be empty") + c.Error(errors.NewBadRequestError("文档分隔符不能为空")) + return + } + var err error + // 1. 处理租户 - 检查是否存在,不存在则创建 + tenant, _ := h.tenantService.GetTenantByID(ctx, types.InitDefaultTenantID) + if tenant == nil { + logger.Info(ctx, "Tenant not found, creating tenant") + // 创建默认租户 + tenant = &types.Tenant{ + ID: types.InitDefaultTenantID, + Name: "Default Tenant", + Description: "System Default Tenant", + RetrieverEngines: types.RetrieverEngines{ + Engines: []types.RetrieverEngineParams{ + { + RetrieverType: types.KeywordsRetrieverType, + RetrieverEngineType: types.PostgresRetrieverEngineType, + }, + { + RetrieverType: types.VectorRetrieverType, + RetrieverEngineType: types.PostgresRetrieverEngineType, + }, + }, + }, + } + logger.Info(ctx, "Creating default tenant") + tenant, err = h.tenantService.CreateTenant(ctx, tenant) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.Error(errors.NewInternalServerError("创建租户失败: " + err.Error())) + return + } + } else { + logger.Info(ctx, "Tenant exists, updating if needed") + // 更新租户信息(如果需要) + updated := false + if tenant.Name != "Default Tenant" { + tenant.Name = "Default Tenant" + updated = true + } + if tenant.Description != "System Default Tenant" { + tenant.Description = "System Default Tenant" + updated = true + } + + if updated { + _, err = h.tenantService.UpdateTenant(ctx, tenant) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.Error(errors.NewInternalServerError("更新租户失败: " + err.Error())) + return + } + logger.Info(ctx, "Tenant updated successfully") + } + } + + // 创建带有租户ID的新上下文 + newCtx := context.WithValue(ctx, types.TenantIDContextKey, types.InitDefaultTenantID) + + // 2. 处理模型 - 检查现有模型并更新或创建 + existingModels, err := h.modelService.ListModels(newCtx) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + // 如果获取失败,继续执行创建流程 + existingModels = []*types.Model{} + } + + // 构建模型映射,按类型分组 + modelMap := make(map[types.ModelType]*types.Model) + for _, model := range existingModels { + modelMap[model.Type] = model + } + + // 要处理的模型配置 + modelsToProcess := []struct { + modelType types.ModelType + name string + source types.ModelSource + description string + baseURL string + apiKey string + dimension int + }{ + { + modelType: types.ModelTypeKnowledgeQA, + name: req.LLM.ModelName, + source: types.ModelSource(req.LLM.Source), + description: "LLM Model for Knowledge QA", + baseURL: req.LLM.BaseURL, + apiKey: req.LLM.APIKey, + }, + { + modelType: types.ModelTypeEmbedding, + name: req.Embedding.ModelName, + source: types.ModelSource(req.Embedding.Source), + description: "Embedding Model", + baseURL: req.Embedding.BaseURL, + apiKey: req.Embedding.APIKey, + dimension: req.Embedding.Dimension, + }, + } + + // 如果启用Rerank,添加Rerank模型 + if req.Rerank.Enabled { + modelsToProcess = append(modelsToProcess, struct { + modelType types.ModelType + name string + source types.ModelSource + description string + baseURL string + apiKey string + dimension int + }{ + modelType: types.ModelTypeRerank, + name: req.Rerank.ModelName, + source: types.ModelSourceRemote, + description: "Rerank Model", + baseURL: req.Rerank.BaseURL, + apiKey: req.Rerank.APIKey, + }) + } + + // 如果启用多模态,添加VLM模型 + if req.Multimodal.Enabled && req.Multimodal.VLM != nil { + modelsToProcess = append(modelsToProcess, struct { + modelType types.ModelType + name string + source types.ModelSource + description string + baseURL string + apiKey string + dimension int + }{ + modelType: types.ModelTypeVLLM, + name: req.Multimodal.VLM.ModelName, + source: types.ModelSourceRemote, + description: "Vision Language Model", + baseURL: req.Multimodal.VLM.BaseURL, + apiKey: req.Multimodal.VLM.APIKey, + }) + } + + // 处理每个模型 + var processedModels []*types.Model + for _, modelConfig := range modelsToProcess { + existingModel, exists := modelMap[modelConfig.modelType] + + if exists { + // 更新现有模型 + logger.Infof(ctx, "Updating existing model: %s (%s)", + modelConfig.name, modelConfig.modelType, + ) + existingModel.Name = modelConfig.name + existingModel.Source = modelConfig.source + existingModel.Description = modelConfig.description + existingModel.Parameters = types.ModelParameters{ + BaseURL: modelConfig.baseURL, + APIKey: modelConfig.apiKey, + EmbeddingParameters: types.EmbeddingParameters{ + Dimension: modelConfig.dimension, + }, + } + existingModel.IsDefault = true + existingModel.Status = types.ModelStatusActive + + err := h.modelService.UpdateModel(newCtx, existingModel) + if err != nil { + logger.ErrorWithFields(ctx, err, map[string]interface{}{ + "model_name": modelConfig.name, + "model_type": modelConfig.modelType, + }) + c.Error(errors.NewInternalServerError("更新模型失败: " + err.Error())) + return + } + processedModels = append(processedModels, existingModel) + } else { + // 创建新模型 + logger.Infof(ctx, + "Creating new model: %s (%s)", + modelConfig.name, modelConfig.modelType, + ) + newModel := &types.Model{ + TenantID: types.InitDefaultTenantID, + Name: modelConfig.name, + Type: modelConfig.modelType, + Source: modelConfig.source, + Description: modelConfig.description, + Parameters: types.ModelParameters{ + BaseURL: modelConfig.baseURL, + APIKey: modelConfig.apiKey, + EmbeddingParameters: types.EmbeddingParameters{ + Dimension: modelConfig.dimension, + }, + }, + IsDefault: true, + Status: types.ModelStatusActive, + } + + err := h.modelService.CreateModel(newCtx, newModel) + if err != nil { + logger.ErrorWithFields(ctx, err, map[string]interface{}{ + "model_name": modelConfig.name, + "model_type": modelConfig.modelType, + }) + c.Error(errors.NewInternalServerError("创建模型失败: " + err.Error())) + return + } + processedModels = append(processedModels, newModel) + } + } + + // 删除不需要的VLM模型(如果多模态被禁用) + if !req.Multimodal.Enabled { + if existingVLM, exists := modelMap[types.ModelTypeVLLM]; exists { + logger.Info(ctx, "Deleting VLM model as multimodal is disabled") + err := h.modelService.DeleteModel(newCtx, existingVLM.ID) + if err != nil { + logger.ErrorWithFields(ctx, err, map[string]interface{}{ + "model_id": existingVLM.ID, + }) + // 记录错误但不阻止流程 + logger.Warn(ctx, "Failed to delete VLM model, but continuing") + } + } + } + + // 删除不需要的Rerank模型(如果Rerank被禁用) + if !req.Rerank.Enabled { + if existingRerank, exists := modelMap[types.ModelTypeRerank]; exists { + logger.Info(ctx, "Deleting Rerank model as rerank is disabled") + err := h.modelService.DeleteModel(newCtx, existingRerank.ID) + if err != nil { + logger.ErrorWithFields(ctx, err, map[string]interface{}{ + "model_id": existingRerank.ID, + }) + // 记录错误但不阻止流程 + logger.Warn(ctx, "Failed to delete Rerank model, but continuing") + } + } + } + + // 3. 处理知识库 - 检查是否存在,不存在则创建,存在则更新 + kb, err := h.kbService.GetKnowledgeBaseByID(newCtx, types.InitDefaultKnowledgeBaseID) + + // 找到embedding模型ID和LLM模型ID + var embeddingModelID, llmModelID, rerankModelID, vlmModelID string + for _, model := range processedModels { + if model.Type == types.ModelTypeEmbedding { + embeddingModelID = model.ID + } + if model.Type == types.ModelTypeKnowledgeQA { + llmModelID = model.ID + } + if model.Type == types.ModelTypeRerank && req.Rerank.Enabled { + rerankModelID = model.ID + } + if model.Type == types.ModelTypeVLLM { + vlmModelID = model.ID + } + } + + if kb == nil { + // 创建新知识库 + logger.Info(ctx, "Creating default knowledge base") + kb = &types.KnowledgeBase{ + ID: types.InitDefaultKnowledgeBaseID, + Name: "Default Knowledge Base", + Description: "System Default Knowledge Base", + TenantID: types.InitDefaultTenantID, + ChunkingConfig: types.ChunkingConfig{ + ChunkSize: req.DocumentSplitting.ChunkSize, + ChunkOverlap: req.DocumentSplitting.ChunkOverlap, + Separators: req.DocumentSplitting.Separators, + EnableMultimodal: req.Multimodal.Enabled, + }, + EmbeddingModelID: embeddingModelID, + SummaryModelID: llmModelID, + RerankModelID: rerankModelID, + VLMModelID: vlmModelID, + VLMConfig: types.VLMConfig{ + ModelName: req.Multimodal.VLM.ModelName, + BaseURL: req.Multimodal.VLM.BaseURL, + APIKey: req.Multimodal.VLM.APIKey, + InterfaceType: req.Multimodal.VLM.InterfaceType, + }, + COSConfig: types.COSConfig{ + SecretID: req.Multimodal.COS.SecretID, + SecretKey: req.Multimodal.COS.SecretKey, + Region: req.Multimodal.COS.Region, + BucketName: req.Multimodal.COS.BucketName, + AppID: req.Multimodal.COS.AppID, + PathPrefix: req.Multimodal.COS.PathPrefix, + }, + } + + _, err = h.kbService.CreateKnowledgeBase(newCtx, kb) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.Error(errors.NewInternalServerError("创建知识库失败: " + err.Error())) + return + } + } else { + // 更新现有知识库 + logger.Info(ctx, "Updating existing knowledge base") + + // 检查是否有文件,如果有文件则不允许修改Embedding模型 + knowledgeList, err := h.knowledgeService.ListKnowledgeByKnowledgeBaseID( + newCtx, types.InitDefaultKnowledgeBaseID, + ) + hasFiles := err == nil && len(knowledgeList) > 0 + + // 先更新模型ID(直接在对象上) + kb.SummaryModelID = llmModelID + if req.Rerank.Enabled { + kb.RerankModelID = rerankModelID + } else { + kb.RerankModelID = "" // 清空Rerank模型ID + } + if req.Multimodal.Enabled { + kb.VLMModelID = vlmModelID + // 更新VLM配置 + kb.VLMConfig = types.VLMConfig{ + ModelName: req.Multimodal.VLM.ModelName, + BaseURL: req.Multimodal.VLM.BaseURL, + APIKey: req.Multimodal.VLM.APIKey, + InterfaceType: req.Multimodal.VLM.InterfaceType, + } + kb.COSConfig = types.COSConfig{ + SecretID: req.Multimodal.COS.SecretID, + SecretKey: req.Multimodal.COS.SecretKey, + Region: req.Multimodal.COS.Region, + BucketName: req.Multimodal.COS.BucketName, + AppID: req.Multimodal.COS.AppID, + PathPrefix: req.Multimodal.COS.PathPrefix, + } + } else { + kb.VLMModelID = "" // 清空VLM模型ID + // 清空VLM配置 + kb.VLMConfig = types.VLMConfig{} + kb.COSConfig = types.COSConfig{} + } + if !hasFiles { + kb.EmbeddingModelID = embeddingModelID + } + kb.ChunkingConfig = types.ChunkingConfig{ + ChunkSize: req.DocumentSplitting.ChunkSize, + ChunkOverlap: req.DocumentSplitting.ChunkOverlap, + Separators: req.DocumentSplitting.Separators, + EnableMultimodal: req.Multimodal.Enabled, + } + + // 更新基本信息和配置 + err = h.kbRepository.UpdateKnowledgeBase(newCtx, kb) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.Error(errors.NewInternalServerError("更新知识库配置失败: " + err.Error())) + return + } + + // 如果需要更新模型ID,使用repository直接更新 + if !hasFiles || kb.SummaryModelID != llmModelID { + // 刷新知识库对象以获取最新信息 + kb, err = h.kbService.GetKnowledgeBaseByID(newCtx, types.InitDefaultKnowledgeBaseID) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.Error(errors.NewInternalServerError("获取更新后的知识库失败: " + err.Error())) + return + } + + // 更新模型ID + kb.SummaryModelID = llmModelID + if req.Rerank.Enabled { + kb.RerankModelID = rerankModelID + } else { + kb.RerankModelID = "" // 清空Rerank模型ID + } + + // 使用repository直接更新模型ID + err = h.kbRepository.UpdateKnowledgeBase(newCtx, kb) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.Error(errors.NewInternalServerError("更新知识库模型ID失败: " + err.Error())) + return + } + + logger.Info(ctx, "Model IDs updated successfully") + } + } + + logger.Info(ctx, "System initialization completed successfully") + c.JSON(http.StatusOK, gin.H{ + "success": true, + "message": "系统初始化成功", + "data": gin.H{ + "tenant": tenant, + "models": processedModels, + "knowledge_base": kb, + }, + }) +} + +// CheckOllamaStatus 检查Ollama服务状态 +func (h *InitializationHandler) CheckOllamaStatus(c *gin.Context) { + ctx := c.Request.Context() + + logger.Info(ctx, "Checking Ollama service status") + + // 检查Ollama服务是否可用 + err := h.ollamaService.StartService(ctx) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "available": false, + "error": err.Error(), + }, + }) + return + } + + version, err := h.ollamaService.GetVersion(ctx) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + version = "unknown" + } + + logger.Info(ctx, "Ollama service is available") + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "available": h.ollamaService.IsAvailable(), + "version": version, + }, + }) +} + +// CheckOllamaModels 检查Ollama模型状态 +func (h *InitializationHandler) CheckOllamaModels(c *gin.Context) { + ctx := c.Request.Context() + + logger.Info(ctx, "Checking Ollama models status") + + var req struct { + Models []string `json:"models" binding:"required"` + } + + if err := c.ShouldBindJSON(&req); err != nil { + logger.Error(ctx, "Failed to parse models check request", err) + c.Error(errors.NewBadRequestError(err.Error())) + return + } + + // 检查Ollama服务是否可用 + if !h.ollamaService.IsAvailable() { + err := h.ollamaService.StartService(ctx) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.Error(errors.NewInternalServerError("Ollama服务不可用: " + err.Error())) + return + } + } + + modelStatus := make(map[string]bool) + + // 检查每个模型是否存在 + for _, modelName := range req.Models { + available, err := h.ollamaService.IsModelAvailable(ctx, modelName) + if err != nil { + logger.ErrorWithFields(ctx, err, map[string]interface{}{ + "model_name": modelName, + }) + modelStatus[modelName] = false + } else { + modelStatus[modelName] = available + } + + logger.Infof(ctx, "Model %s availability: %v", modelName, modelStatus[modelName]) + } + + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "models": modelStatus, + }, + }) +} + +// DownloadOllamaModel 异步下载Ollama模型 +func (h *InitializationHandler) DownloadOllamaModel(c *gin.Context) { + ctx := c.Request.Context() + + logger.Info(ctx, "Starting async Ollama model download") + + var req struct { + ModelName string `json:"modelName" binding:"required"` + } + + if err := c.ShouldBindJSON(&req); err != nil { + logger.Error(ctx, "Failed to parse model download request", err) + c.Error(errors.NewBadRequestError(err.Error())) + return + } + + // 检查Ollama服务是否可用 + if !h.ollamaService.IsAvailable() { + err := h.ollamaService.StartService(ctx) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.Error(errors.NewInternalServerError("Ollama服务不可用: " + err.Error())) + return + } + } + + // 检查模型是否已存在 + available, err := h.ollamaService.IsModelAvailable(ctx, req.ModelName) + if err != nil { + logger.ErrorWithFields(ctx, err, map[string]interface{}{ + "model_name": req.ModelName, + }) + c.Error(errors.NewInternalServerError("检查模型状态失败: " + err.Error())) + return + } + + if available { + logger.Infof(ctx, "Model %s already exists", req.ModelName) + c.JSON(http.StatusOK, gin.H{ + "success": true, + "message": "模型已存在", + "data": gin.H{ + "modelName": req.ModelName, + "status": "completed", + "progress": 100.0, + }, + }) + return + } + + // 检查是否已有相同模型的下载任务 + tasksMutex.RLock() + for _, task := range downloadTasks { + if task.ModelName == req.ModelName && (task.Status == "pending" || task.Status == "downloading") { + tasksMutex.RUnlock() + c.JSON(http.StatusOK, gin.H{ + "success": true, + "message": "模型下载任务已存在", + "data": gin.H{ + "taskId": task.ID, + "modelName": task.ModelName, + "status": task.Status, + "progress": task.Progress, + }, + }) + return + } + } + tasksMutex.RUnlock() + + // 创建下载任务 + taskID := uuid.New().String() + task := &DownloadTask{ + ID: taskID, + ModelName: req.ModelName, + Status: "pending", + Progress: 0.0, + Message: "准备下载", + StartTime: time.Now(), + } + + tasksMutex.Lock() + downloadTasks[taskID] = task + tasksMutex.Unlock() + + // 启动异步下载 + newCtx, cancel := context.WithTimeout(context.Background(), 12*time.Hour) + go func() { + defer cancel() + h.downloadModelAsync(newCtx, taskID, req.ModelName) + }() + + logger.Infof(ctx, "Created download task for model: %s, task ID: %s", req.ModelName, taskID) + c.JSON(http.StatusOK, gin.H{ + "success": true, + "message": "模型下载任务已创建", + "data": gin.H{ + "taskId": taskID, + "modelName": req.ModelName, + "status": "pending", + "progress": 0.0, + }, + }) +} + +// GetDownloadProgress 获取下载进度 +func (h *InitializationHandler) GetDownloadProgress(c *gin.Context) { + taskID := c.Param("taskId") + + if taskID == "" { + c.Error(errors.NewBadRequestError("任务ID不能为空")) + return + } + + tasksMutex.RLock() + task, exists := downloadTasks[taskID] + tasksMutex.RUnlock() + + if !exists { + c.Error(errors.NewNotFoundError("下载任务不存在")) + return + } + + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": task, + }) +} + +// ListDownloadTasks 列出所有下载任务 +func (h *InitializationHandler) ListDownloadTasks(c *gin.Context) { + tasksMutex.RLock() + tasks := make([]*DownloadTask, 0, len(downloadTasks)) + for _, task := range downloadTasks { + tasks = append(tasks, task) + } + tasksMutex.RUnlock() + + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": tasks, + }) +} + +// downloadModelAsync 异步下载模型 +func (h *InitializationHandler) downloadModelAsync(ctx context.Context, + taskID, modelName string, +) { + logger.Infof(ctx, "Starting async download for model: %s, task: %s", modelName, taskID) + + // 更新任务状态为下载中 + h.updateTaskStatus(taskID, "downloading", 0.0, "开始下载模型") + + // 执行下载,带进度回调 + err := h.pullModelWithProgress(ctx, modelName, func(progress float64, message string) { + h.updateTaskStatus(taskID, "downloading", progress, message) + }) + + if err != nil { + logger.ErrorWithFields(ctx, err, map[string]interface{}{ + "model_name": modelName, + "task_id": taskID, + }) + h.updateTaskStatus(taskID, "failed", 0.0, fmt.Sprintf("下载失败: %v", err)) + return + } + + // 下载成功 + logger.Infof(ctx, "Model %s downloaded successfully, task: %s", modelName, taskID) + h.updateTaskStatus(taskID, "completed", 100.0, "下载完成") +} + +// pullModelWithProgress 下载模型并提供进度回调 +func (h *InitializationHandler) pullModelWithProgress(ctx context.Context, + modelName string, + progressCallback func(float64, string), +) error { + // 检查服务是否可用 + if err := h.ollamaService.StartService(ctx); err != nil { + logger.ErrorWithFields(ctx, err, nil) + return err + } + + // 检查模型是否已存在 + available, err := h.ollamaService.IsModelAvailable(ctx, modelName) + if err != nil { + logger.ErrorWithFields(ctx, err, map[string]interface{}{ + "model_name": modelName, + }) + return err + } + if available { + progressCallback(100.0, "模型已存在") + return nil + } + + logger.GetLogger(ctx).Infof("Pulling model %s...", modelName) + + // 创建下载请求 + pullReq := &api.PullRequest{ + Name: modelName, + } + + // 使用Ollama客户端的Pull方法,带进度回调 + err = h.ollamaService.GetClient().Pull(ctx, pullReq, func(progress api.ProgressResponse) error { + var progressPercent float64 = 0.0 + var message string = "下载中" + + if progress.Total > 0 && progress.Completed > 0 { + progressPercent = float64(progress.Completed) / float64(progress.Total) * 100 + message = fmt.Sprintf("下载中: %.1f%% (%s)", progressPercent, progress.Status) + } else if progress.Status != "" { + message = progress.Status + } + + // 调用进度回调 + progressCallback(progressPercent, message) + + logger.Infof(ctx, + "Download progress for %s: %.2f%% - %s", + modelName, progressPercent, message, + ) + return nil + }) + + if err != nil { + return fmt.Errorf("failed to pull model: %w", err) + } + + return nil +} + +// updateTaskStatus 更新任务状态 +func (h *InitializationHandler) updateTaskStatus( + taskID, status string, progress float64, message string, +) { + tasksMutex.Lock() + defer tasksMutex.Unlock() + + if task, exists := downloadTasks[taskID]; exists { + task.Status = status + task.Progress = progress + task.Message = message + + if status == "completed" || status == "failed" { + now := time.Now() + task.EndTime = &now + } + } +} + +// 清理过期任务 (可以在后台定期执行) +func (h *InitializationHandler) cleanupExpiredTasks() { + tasksMutex.Lock() + defer tasksMutex.Unlock() + + cutoff := time.Now().Add(-24 * time.Hour) // 保留24小时内的任务 + + for id, task := range downloadTasks { + if task.EndTime != nil && task.EndTime.Before(cutoff) { + delete(downloadTasks, id) + } + } +} + +// GetCurrentConfig 获取当前系统配置信息 +func (h *InitializationHandler) GetCurrentConfig(c *gin.Context) { + ctx := c.Request.Context() + + logger.Info(ctx, "Getting current system configuration") + + // 设置租户上下文 + newCtx := context.WithValue(ctx, types.TenantIDContextKey, types.InitDefaultTenantID) + + // 获取模型信息 + models, err := h.modelService.ListModels(newCtx) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.Error(errors.NewInternalServerError("获取模型列表失败: " + err.Error())) + return + } + + // 获取知识库信息 + kb, err := h.kbService.GetKnowledgeBaseByID(newCtx, types.InitDefaultKnowledgeBaseID) + if err != nil { + logger.ErrorWithFields(ctx, err, nil) + c.Error(errors.NewInternalServerError("获取知识库信息失败: " + err.Error())) + return + } + + // 检查知识库是否有文件 + knowledgeList, err := h.knowledgeService.ListPagedKnowledgeByKnowledgeBaseID(newCtx, + types.InitDefaultKnowledgeBaseID, &types.Pagination{ + Page: 1, + PageSize: 1, + }) + hasFiles := false + if err == nil && knowledgeList != nil && knowledgeList.Total > 0 { + hasFiles = true + } + + // 构建配置响应 + config := buildConfigResponse(models, kb, hasFiles) + + logger.Info(ctx, "Current system configuration retrieved successfully") + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": config, + }) +} + +// buildConfigResponse 构建配置响应数据 +func buildConfigResponse(models []*types.Model, + kb *types.KnowledgeBase, hasFiles bool, +) map[string]interface{} { + config := map[string]interface{}{ + "hasFiles": hasFiles, + } + + // 按类型分组模型 + for _, model := range models { + switch model.Type { + case types.ModelTypeKnowledgeQA: + config["llm"] = map[string]interface{}{ + "source": string(model.Source), + "modelName": model.Name, + "baseUrl": model.Parameters.BaseURL, + "apiKey": model.Parameters.APIKey, + } + case types.ModelTypeEmbedding: + config["embedding"] = map[string]interface{}{ + "source": string(model.Source), + "modelName": model.Name, + "baseUrl": model.Parameters.BaseURL, + "apiKey": model.Parameters.APIKey, + "dimension": model.Parameters.EmbeddingParameters.Dimension, + } + case types.ModelTypeRerank: + config["rerank"] = map[string]interface{}{ + "enabled": true, + "modelName": model.Name, + "baseUrl": model.Parameters.BaseURL, + "apiKey": model.Parameters.APIKey, + } + case types.ModelTypeVLLM: + if config["multimodal"] == nil { + config["multimodal"] = map[string]interface{}{ + "enabled": true, + } + } + multimodal := config["multimodal"].(map[string]interface{}) + multimodal["vlm"] = map[string]interface{}{ + "modelName": model.Name, + "baseUrl": model.Parameters.BaseURL, + "apiKey": model.Parameters.APIKey, + "interfaceType": kb.VLMConfig.InterfaceType, + } + } + } + + // 如果没有VLM模型,设置multimodal为disabled + if config["multimodal"] == nil { + config["multimodal"] = map[string]interface{}{ + "enabled": false, + } + } + + // 如果没有Rerank模型,设置rerank为disabled + if config["rerank"] == nil { + config["rerank"] = map[string]interface{}{ + "enabled": false, + "modelName": "", + "baseUrl": "", + "apiKey": "", + } + } + + // 添加知识库的文档分割配置 + if kb != nil { + config["documentSplitting"] = map[string]interface{}{ + "chunkSize": kb.ChunkingConfig.ChunkSize, + "chunkOverlap": kb.ChunkingConfig.ChunkOverlap, + "separators": kb.ChunkingConfig.Separators, + } + + // 添加多模态的COS配置信息 + if kb.COSConfig.SecretID != "" { + if config["multimodal"] == nil { + config["multimodal"] = map[string]interface{}{ + "enabled": true, + } + } + multimodal := config["multimodal"].(map[string]interface{}) + multimodal["cos"] = map[string]interface{}{ + "secretId": kb.COSConfig.SecretID, + "secretKey": kb.COSConfig.SecretKey, + "region": kb.COSConfig.Region, + "bucketName": kb.COSConfig.BucketName, + "appId": kb.COSConfig.AppID, + "pathPrefix": kb.COSConfig.PathPrefix, + } + } + } + + return config +} + +// RemoteModelCheckRequest 远程模型检查请求结构 +type RemoteModelCheckRequest struct { + ModelName string `json:"modelName" binding:"required"` + BaseURL string `json:"baseUrl" binding:"required"` + APIKey string `json:"apiKey"` +} + +// CheckRemoteModel 检查远程API模型连接 +func (h *InitializationHandler) CheckRemoteModel(c *gin.Context) { + ctx := c.Request.Context() + + logger.Info(ctx, "Checking remote model connection") + + var req RemoteModelCheckRequest + if err := c.ShouldBindJSON(&req); err != nil { + logger.Error(ctx, "Failed to parse remote model check request", err) + c.Error(errors.NewBadRequestError(err.Error())) + return + } + + // 验证请求参数 + if req.ModelName == "" || req.BaseURL == "" { + logger.Error(ctx, "Model name and base URL are required") + c.Error(errors.NewBadRequestError("模型名称和Base URL不能为空")) + return + } + + // 创建模型配置进行测试 + modelConfig := &types.Model{ + Name: req.ModelName, + Source: "remote", + Parameters: types.ModelParameters{ + BaseURL: req.BaseURL, + APIKey: req.APIKey, + }, + Type: "llm", // 默认类型,实际检查时不区分具体类型 + } + + // 检查远程模型连接 + available, message := h.checkRemoteModelConnection(ctx, modelConfig) + + logger.Info(ctx, + fmt.Sprintf( + "Remote model check completed: modelName=%s, baseUrl=%s, available=%v, message=%s", + req.ModelName, req.BaseURL, available, message, + ), + ) + + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "available": available, + "message": message, + }, + }) +} + +// checkRemoteModelConnection 检查远程模型连接的内部方法 +func (h *InitializationHandler) checkRemoteModelConnection(ctx context.Context, + model *types.Model, +) (bool, string) { + // 这里需要根据实际情况实现远程API的连接检查 + // 可以发送一个简单的请求来验证连接和认证 + + client := &http.Client{ + Timeout: 10 * time.Second, + } + + // 根据不同的API类型构造测试请求 + testEndpoint := "" + if model.Parameters.BaseURL != "" { + // 常见的API端点模式 + if strings.Contains(model.Parameters.BaseURL, "openai.com") || + strings.Contains(model.Parameters.BaseURL, "api.openai.com") { + testEndpoint = model.Parameters.BaseURL + "/models" + } else if strings.Contains(model.Parameters.BaseURL, "v1") { + testEndpoint = model.Parameters.BaseURL + "/models" + } else { + testEndpoint = model.Parameters.BaseURL + "/v1/models" + } + } + + req, err := http.NewRequestWithContext(ctx, "GET", testEndpoint, nil) + if err != nil { + return false, fmt.Sprintf("创建请求失败: %v", err) + } + + // 添加认证头 + if model.Parameters.APIKey != "" { + req.Header.Set("Authorization", "Bearer "+model.Parameters.APIKey) + } + req.Header.Set("Content-Type", "application/json") + + resp, err := client.Do(req) + if err != nil { + return false, fmt.Sprintf("连接失败: %v", err) + } + defer resp.Body.Close() + + // 检查响应状态 + if resp.StatusCode >= 200 && resp.StatusCode < 300 { + // 连接成功,现在检查模型是否存在 + return h.checkModelExistence(ctx, resp, model.Name) + } else if resp.StatusCode == 401 { + return false, "认证失败,请检查API Key" + } else if resp.StatusCode == 403 { + return false, "权限不足,请检查API Key权限" + } else if resp.StatusCode == 404 { + return false, "API端点不存在,请检查Base URL" + } else { + return false, fmt.Sprintf("API返回错误状态: %d", resp.StatusCode) + } +} + +// checkModelExistence 检查指定模型是否在模型列表中存在 +func (h *InitializationHandler) checkModelExistence(ctx context.Context, + resp *http.Response, modelName string) (bool, string) { + body, err := io.ReadAll(resp.Body) + if err != nil { + return true, "连接正常,但无法验证模型列表" + } + + var modelsResp struct { + Data []struct { + ID string `json:"id"` + Object string `json:"object"` + } `json:"data"` + Object string `json:"object"` + } + + // 尝试解析模型列表响应 + if err := json.Unmarshal(body, &modelsResp); err != nil { + // 如果无法解析,可能是非标准API,只要连接成功就认为可用 + return true, "连接正常" + } + + // 检查模型是否在列表中 + for _, model := range modelsResp.Data { + if model.ID == modelName { + return true, "连接正常,模型存在" + } + } + + // 模型不在列表中,返回可用的模型建议 + if len(modelsResp.Data) > 0 { + availableModels := make([]string, 0, min(3, len(modelsResp.Data))) + for i, model := range modelsResp.Data { + if i >= 3 { + break + } + availableModels = append(availableModels, model.ID) + } + return false, fmt.Sprintf("模型 '%s' 不存在,可用模型: %s", modelName, strings.Join(availableModels, ", ")) + } + + return false, fmt.Sprintf("模型 '%s' 不存在", modelName) +} + +// min returns the minimum of two integers +func min(a, b int) int { + if a < b { + return a + } + return b +} + +// checkRerankModelConnection 检查Rerank模型连接和功能的内部方法 +func (h *InitializationHandler) checkRerankModelConnection(ctx context.Context, + modelName, baseURL, apiKey string) (bool, string) { + client := &http.Client{ + Timeout: 15 * time.Second, + } + + // 构造重排API端点 + rerankEndpoint := "" + if strings.Contains(baseURL, "v1") { + // 去除v1 + baseURL = strings.Replace(baseURL, "/v1", "", 1) + rerankEndpoint = baseURL + "/rerank" + } else { + rerankEndpoint = baseURL + "/rerank" + } + + // Mock测试数据 + testQuery := "什么是人工智能?" + testPassages := []string{ + "机器学习是人工智能的一个子领域,专注于算法和统计模型,使计算机系统能够通过经验自动改进。", + "深度学习是机器学习的一个子集,使用人工神经网络来模拟人脑的工作方式。", + } + + // 构造重排请求 + rerankRequest := map[string]interface{}{ + "model": modelName, + "query": testQuery, + "documents": testPassages, + "truncate_prompt_tokens": 512, + } + + jsonData, err := json.Marshal(rerankRequest) + if err != nil { + return false, fmt.Sprintf("构造请求失败: %v", err) + } + + logger.Infof(ctx, "Rerank request: %s, modelName=%s, baseURL=%s, apiKey=%s", + string(jsonData), modelName, baseURL, apiKey) + + req, err := http.NewRequestWithContext( + ctx, "POST", rerankEndpoint, strings.NewReader(string(jsonData)), + ) + if err != nil { + return false, fmt.Sprintf("创建请求失败: %v", err) + } + + // 添加认证头 + if apiKey != "" { + req.Header.Set("Authorization", "Bearer "+apiKey) + } + req.Header.Set("Content-Type", "application/json") + + resp, err := client.Do(req) + if err != nil { + return false, fmt.Sprintf("连接失败: %v", err) + } + defer resp.Body.Close() + + // 读取响应 + body, err := io.ReadAll(resp.Body) + if err != nil { + return false, fmt.Sprintf("读取响应失败: %v", err) + } + + // 检查响应状态 + if resp.StatusCode >= 200 && resp.StatusCode < 300 { + // 尝试解析重排响应 + var rerankResp struct { + Results []struct { + Index int `json:"index"` + Document string `json:"document"` + RelevanceScore float64 `json:"relevance_score"` + } `json:"results"` + } + + if err := json.Unmarshal(body, &rerankResp); err != nil { + // 如果无法解析标准重排响应,检查是否有其他格式 + return true, "连接正常,但响应格式非标准" + } + + // 检查是否返回了重排结果 + if len(rerankResp.Results) > 0 { + return true, fmt.Sprintf("重排功能正常,返回%d个结果", len(rerankResp.Results)) + } else { + return false, "重排接口连接成功,但未返回重排结果" + } + } else if resp.StatusCode == 401 { + return false, "认证失败,请检查API Key" + } else if resp.StatusCode == 403 { + return false, "权限不足,请检查API Key权限" + } else if resp.StatusCode == 404 { + return false, "重排API端点不存在,请检查Base URL" + } else if resp.StatusCode == 422 { + return false, fmt.Sprintf("请求参数错误: %s", string(body)) + } else { + return false, fmt.Sprintf("API返回错误状态: %d, 响应: %s", resp.StatusCode, string(body)) + } +} + +// CheckRerankModel 检查Rerank模型连接和功能 +func (h *InitializationHandler) CheckRerankModel(c *gin.Context) { + ctx := c.Request.Context() + + logger.Info(ctx, "Checking rerank model connection and functionality") + + var req struct { + ModelName string `json:"modelName" binding:"required"` + BaseURL string `json:"baseUrl" binding:"required"` + APIKey string `json:"apiKey"` + } + + if err := c.ShouldBindJSON(&req); err != nil { + logger.Error(ctx, "Failed to parse rerank model check request", err) + c.Error(errors.NewBadRequestError(err.Error())) + return + } + + // 验证请求参数 + if req.ModelName == "" || req.BaseURL == "" { + logger.Error(ctx, "Model name and base URL are required") + c.Error(errors.NewBadRequestError("模型名称和Base URL不能为空")) + return + } + + // 检查Rerank模型连接和功能 + available, message := h.checkRerankModelConnection( + ctx, req.ModelName, req.BaseURL, req.APIKey, + ) + + logger.Info(ctx, + fmt.Sprintf("Rerank model check completed: modelName=%s, baseUrl=%s, available=%v, message=%s", + req.ModelName, req.BaseURL, available, message, + ), + ) + + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "available": available, + "message": message, + }, + }) +} + +// TestMultimodalFunction 测试多模态功能 +func (h *InitializationHandler) TestMultimodalFunction(c *gin.Context) { + ctx := c.Request.Context() + + logger.Info(ctx, "Testing multimodal functionality") + + // 解析表单数据 + vlmModel := c.PostForm("vlm_model") + vlmBaseURL := c.PostForm("vlm_base_url") + vlmAPIKey := c.PostForm("vlm_api_key") + vlmInterfaceType := c.PostForm("vlm_interface_type") + + if vlmInterfaceType == "ollama" { + vlmBaseURL = os.Getenv("OLLAMA_BASE_URL") + "/v1" + } + + // 如果没有提供VLM配置,尝试从KnowledgeBase获取 + if vlmModel == "" || vlmBaseURL == "" { + logger.Info(ctx, "VLM configuration not provided, trying to get from KnowledgeBase") + + // 获取默认知识库 + kb, err := h.kbService.GetKnowledgeBaseByID(ctx, types.InitDefaultKnowledgeBaseID) + if err != nil { + logger.Error(ctx, "Failed to get KnowledgeBase", err) + c.Error(errors.NewBadRequestError("获取知识库配置失败")) + return + } + + // 使用知识库中的VLM配置 + if kb.VLMConfig.ModelName != "" && kb.VLMConfig.BaseURL != "" { + vlmModel = kb.VLMConfig.ModelName + vlmBaseURL = kb.VLMConfig.BaseURL + vlmAPIKey = kb.VLMConfig.APIKey + vlmInterfaceType = kb.VLMConfig.InterfaceType + logger.Infof(ctx, "Using VLM config from KnowledgeBase: Model=%s, URL=%s, Type=%s", + vlmModel, vlmBaseURL, vlmInterfaceType) + } else { + logger.Error(ctx, "VLM configuration not found in KnowledgeBase") + c.Error(errors.NewBadRequestError("知识库中未找到VLM配置信息")) + return + } + } + + // COS配置 + cosSecretID := c.PostForm("cos_secret_id") + cosSecretKey := c.PostForm("cos_secret_key") + cosRegion := c.PostForm("cos_region") + cosBucketName := c.PostForm("cos_bucket_name") + cosAppID := c.PostForm("cos_app_id") + cosPathPrefix := c.PostForm("cos_path_prefix") + + // 如果没有提供COS配置,尝试从KnowledgeBase获取 + if cosSecretID == "" || cosSecretKey == "" || + cosRegion == "" || cosBucketName == "" || cosAppID == "" { + logger.Info(ctx, "COS configuration not provided, trying to get from KnowledgeBase") + + // 获取默认知识库 + kb, err := h.kbService.GetKnowledgeBaseByID(ctx, types.InitDefaultKnowledgeBaseID) + if err != nil { + logger.Error(ctx, "Failed to get KnowledgeBase", err) + c.Error(errors.NewBadRequestError("获取知识库配置失败")) + return + } + + // 使用知识库中的COS配置 + if kb.COSConfig.SecretID != "" && kb.COSConfig.SecretKey != "" { + cosSecretID = kb.COSConfig.SecretID + cosSecretKey = kb.COSConfig.SecretKey + cosRegion = kb.COSConfig.Region + cosBucketName = kb.COSConfig.BucketName + cosAppID = kb.COSConfig.AppID + cosPathPrefix = kb.COSConfig.PathPrefix + logger.Infof(ctx, "Using COS config from KnowledgeBase: Region=%s, Bucket=%s, App=%s", + cosRegion, cosBucketName, cosAppID) + } else { + logger.Error(ctx, "COS configuration not found in KnowledgeBase") + c.Error(errors.NewBadRequestError("知识库中未找到COS配置信息")) + return + } + } + + // 文档分割配置 + chunkSizeStr := c.PostForm("chunk_size") + chunkOverlapStr := c.PostForm("chunk_overlap") + separatorsStr := c.PostForm("separators") + + if vlmModel == "" || vlmBaseURL == "" { + logger.Error(ctx, "VLM model name and base URL are required") + c.Error(errors.NewBadRequestError("VLM模型名称和Base URL不能为空")) + return + } + + if cosSecretID == "" || cosSecretKey == "" || + cosRegion == "" || cosBucketName == "" || cosAppID == "" { + logger.Error(ctx, "COS configuration is required") + c.Error(errors.NewBadRequestError("COS配置信息不能为空")) + return + } + + // 记录COS配置信息用于日志 + logger.Infof(ctx, "COS config: ID=%s, Region=%s, Bucket=%s, App=%s, Prefix=%s", + cosSecretID, cosRegion, cosBucketName, cosAppID, cosPathPrefix) + logger.Infof(ctx, "VLM config: Model=%s, URL=%s, HasKey=%v, Type=%s", + vlmModel, vlmBaseURL, vlmAPIKey != "", vlmInterfaceType) + + // 获取上传的图片文件 + file, header, err := c.Request.FormFile("image") + if err != nil { + logger.Error(ctx, "Failed to get uploaded image", err) + c.Error(errors.NewBadRequestError("获取上传图片失败")) + return + } + defer file.Close() + + // 验证文件类型 + if !strings.HasPrefix(header.Header.Get("Content-Type"), "image/") { + logger.Error(ctx, "Invalid file type, only images are allowed") + c.Error(errors.NewBadRequestError("只允许上传图片文件")) + return + } + + // 验证文件大小 (10MB) + if header.Size > 10*1024*1024 { + logger.Error(ctx, "File size too large") + c.Error(errors.NewBadRequestError("图片文件大小不能超过10MB")) + return + } + + logger.Infof(ctx, "Processing image: %s, size: %d bytes", header.Filename, header.Size) + + // 解析文档分割配置 + chunkSize, err := strconv.Atoi(chunkSizeStr) + if err != nil || chunkSize < 100 || chunkSize > 10000 { + chunkSize = 1000 // 默认值 + } + + chunkOverlap, err := strconv.Atoi(chunkOverlapStr) + if err != nil || chunkOverlap < 0 || chunkOverlap >= chunkSize { + chunkOverlap = 200 // 默认值 + } + + var separators []string + if separatorsStr != "" { + if err := json.Unmarshal([]byte(separatorsStr), &separators); err != nil { + separators = []string{"\n\n", "\n", "。", "!", "?", ";", ";"} // 默认值 + } + } else { + separators = []string{"\n\n", "\n", "。", "!", "?", ";", ";"} // 默认值 + } + + // 读取图片文件内容 + imageContent, err := io.ReadAll(file) + if err != nil { + logger.Error(ctx, "Failed to read image file", err) + c.Error(errors.NewBadRequestError("读取图片文件失败")) + return + } + + // 调用多模态测试 + startTime := time.Now() + result, err := h.testMultimodalWithDocReader(ctx, imageContent, header.Filename, + chunkSize, chunkOverlap, separators, + vlmModel, vlmBaseURL, vlmAPIKey, vlmInterfaceType, + cosSecretID, cosSecretKey, cosRegion, cosBucketName, cosAppID, cosPathPrefix) + processingTime := time.Since(startTime).Milliseconds() + + if err != nil { + logger.ErrorWithFields(ctx, err, map[string]interface{}{ + "vlm_model": vlmModel, + "vlm_base_url": vlmBaseURL, + "filename": header.Filename, + }) + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "success": false, + "message": err.Error(), + "processing_time": processingTime, + }, + }) + return + } + + logger.Info(ctx, fmt.Sprintf("Multimodal test completed successfully in %dms", processingTime)) + + c.JSON(http.StatusOK, gin.H{ + "success": true, + "data": gin.H{ + "success": true, + "caption": result["caption"], + "ocr": result["ocr"], + "processing_time": processingTime, + }, + }) +} + +// testMultimodalWithDocReader 调用docreader服务进行多模态处理 +func (h *InitializationHandler) testMultimodalWithDocReader(ctx context.Context, + imageContent []byte, filename string, + chunkSize, chunkOverlap int, separators []string, + vlmModel, vlmBaseURL, vlmAPIKey, vlmInterfaceType, + cosSecretID, cosSecretKey, cosRegion, cosBucketName, cosAppID, cosPathPrefix string) ( + map[string]string, error) { + // 获取文件扩展名 + fileExt := "" + if idx := strings.LastIndex(filename, "."); idx != -1 { + fileExt = strings.ToLower(filename[idx+1:]) + } + + // 检查docreader服务配置 + if h.docReaderClient == nil { + return nil, fmt.Errorf("DocReader service not configured") + } + + // 构造请求 + request := &proto.ReadFromFileRequest{ + FileContent: imageContent, + FileName: filename, + FileType: fileExt, + ReadConfig: &proto.ReadConfig{ + ChunkSize: int32(chunkSize), + ChunkOverlap: int32(chunkOverlap), + Separators: separators, + EnableMultimodal: true, // 启用多模态处理 + VlmConfig: &proto.VLMConfig{ + ModelName: vlmModel, + BaseUrl: vlmBaseURL, + ApiKey: vlmAPIKey, + InterfaceType: vlmInterfaceType, + }, + CosConfig: &proto.COSConfig{ + SecretId: cosSecretID, + SecretKey: cosSecretKey, + Region: cosRegion, + BucketName: cosBucketName, + AppId: cosAppID, + PathPrefix: cosPathPrefix, + }, + }, + RequestId: ctx.Value(types.RequestIDContextKey).(string), + } + + // 调用docreader服务 + response, err := h.docReaderClient.ReadFromFile(ctx, request) + if err != nil { + return nil, fmt.Errorf("调用DocReader服务失败: %v", err) + } + + if response.Error != "" { + return nil, fmt.Errorf("DocReader服务返回错误: %s", response.Error) + } + + // 处理响应,提取Caption和OCR信息 + result := make(map[string]string) + var allCaptions, allOCRTexts []string + + for _, chunk := range response.Chunks { + if len(chunk.Images) > 0 { + for _, image := range chunk.Images { + if image.Caption != "" { + allCaptions = append(allCaptions, image.Caption) + } + if image.OcrText != "" { + allOCRTexts = append(allOCRTexts, image.OcrText) + } + } + } + } + + // 合并所有Caption和OCR结果 + result["caption"] = strings.Join(allCaptions, "; ") + result["ocr"] = strings.Join(allOCRTexts, "; ") + + return result, nil +} diff --git a/internal/handler/knowledge.go b/internal/handler/knowledge.go index d9ddcdf..dac6ffe 100644 --- a/internal/handler/knowledge.go +++ b/internal/handler/knowledge.go @@ -135,6 +135,10 @@ func (h *KnowledgeHandler) CreateKnowledgeFromFile(c *gin.Context) { if h.handleDuplicateKnowledgeError(c, err, knowledge, "file") { return } + if appErr, ok := errors.IsAppError(err); ok { + c.Error(appErr) + return + } logger.ErrorWithFields(ctx, err, nil) c.Error(errors.NewInternalServerError(err.Error())) return diff --git a/internal/handler/session.go b/internal/handler/session.go index 73a88de..7149e19 100644 --- a/internal/handler/session.go +++ b/internal/handler/session.go @@ -18,11 +18,12 @@ import ( // SessionHandler handles all HTTP requests related to conversation sessions type SessionHandler struct { - messageService interfaces.MessageService // Service for managing messages - sessionService interfaces.SessionService // Service for managing sessions - streamManager interfaces.StreamManager // Manager for handling streaming responses - config *config.Config // Application configuration - testDataService *service.TestDataService // Service for test data (models, etc.) + messageService interfaces.MessageService // Service for managing messages + sessionService interfaces.SessionService // Service for managing sessions + streamManager interfaces.StreamManager // Manager for handling streaming responses + config *config.Config // Application configuration + testDataService *service.TestDataService // Service for test data (models, etc.) + knowledgebaseService interfaces.KnowledgeBaseService } // NewSessionHandler creates a new instance of SessionHandler with all necessary dependencies @@ -32,13 +33,15 @@ func NewSessionHandler( streamManager interfaces.StreamManager, config *config.Config, testDataService *service.TestDataService, + knowledgebaseService interfaces.KnowledgeBaseService, ) *SessionHandler { return &SessionHandler{ - sessionService: sessionService, - messageService: messageService, - streamManager: streamManager, - config: config, - testDataService: testDataService, + sessionService: sessionService, + messageService: messageService, + streamManager: streamManager, + config: config, + testDataService: testDataService, + knowledgebaseService: knowledgebaseService, } } @@ -191,27 +194,24 @@ func (h *SessionHandler) CreateSession(c *gin.Context) { logger.Debug(ctx, "Using default session strategy") } - // Get model IDs from test data service if not provided + kb, err := h.knowledgebaseService.GetKnowledgeBaseByID(ctx, request.KnowledgeBaseID) + if err != nil { + logger.Error(ctx, "Failed to get knowledge base", err) + c.Error(errors.NewInternalServerError(err.Error())) + return + } + + // Get model IDs from knowledge base if not provided if createdSession.SummaryModelID == "" { - if h.testDataService != nil { - createdSession.SummaryModelID = h.testDataService.LLMModel.GetModelID() - logger.Debug(ctx, "Using summary model ID from test data service") - } else { - logger.Error(ctx, "Summary model ID is empty and cannot get default value") - c.Error(errors.NewBadRequestError("Summary model ID cannot be empty")) - return - } + createdSession.SummaryModelID = kb.SummaryModelID } if createdSession.RerankModelID == "" { - if h.testDataService != nil && h.testDataService.RerankModel != nil { - createdSession.RerankModelID = h.testDataService.RerankModel.GetModelID() - logger.Debug(ctx, "Using rerank model ID from test data service") - } + createdSession.RerankModelID = kb.RerankModelID } // Call service to create session logger.Infof(ctx, "Calling session service to create session") - createdSession, err := h.sessionService.CreateSession(ctx, createdSession) + createdSession, err = h.sessionService.CreateSession(ctx, createdSession) if err != nil { logger.ErrorWithFields(ctx, err, nil) c.Error(errors.NewInternalServerError(err.Error())) diff --git a/internal/handler/test_data.go b/internal/handler/test_data.go index bdfe12b..b0eeebb 100644 --- a/internal/handler/test_data.go +++ b/internal/handler/test_data.go @@ -4,7 +4,6 @@ import ( "errors" "net/http" "os" - "strconv" "github.com/gin-gonic/gin" @@ -65,26 +64,19 @@ func (h *TestDataHandler) GetTestData(c *gin.Context) { return } - tenantID := os.Getenv("INIT_TEST_TENANT_ID") - logger.Debugf(ctx, "Test tenant ID environment variable: %s", tenantID) - - tenantIDUint, err := strconv.ParseUint(tenantID, 10, 64) - if err != nil { - logger.Errorf(ctx, "Failed to parse tenant ID: %s", tenantID) - c.Error(err) - return - } + tenantID := uint(types.InitDefaultTenantID) + logger.Debugf(ctx, "Test tenant ID environment variable: %d", tenantID) // Retrieve the test tenant data - logger.Infof(ctx, "Retrieving test tenant, ID: %d", tenantIDUint) - tenant, err := h.tenantService.GetTenantByID(ctx, uint(tenantIDUint)) + logger.Infof(ctx, "Retrieving test tenant, ID: %d", tenantID) + tenant, err := h.tenantService.GetTenantByID(ctx, tenantID) if err != nil { logger.ErrorWithFields(ctx, err, nil) c.Error(err) return } - knowledgeBaseID := os.Getenv("INIT_TEST_KNOWLEDGE_BASE_ID") + knowledgeBaseID := types.InitDefaultKnowledgeBaseID logger.Debugf(ctx, "Test knowledge base ID environment variable: %s", knowledgeBaseID) // Retrieve the test knowledge base data diff --git a/internal/middleware/auth.go b/internal/middleware/auth.go index ddd7072..7f81ef5 100644 --- a/internal/middleware/auth.go +++ b/internal/middleware/auth.go @@ -6,6 +6,7 @@ import ( "log" "net/http" "slices" + "strings" "github.com/Tencent/WeKnora/internal/config" "github.com/Tencent/WeKnora/internal/types" @@ -15,14 +16,20 @@ import ( // 无需认证的API列表 var noAuthAPI = map[string][]string{ - "/api/v1/test-data": {"GET"}, - "/api/v1/tenants": {"POST"}, + "/api/v1/test-data": {"GET"}, + "/api/v1/tenants": {"POST"}, + "/api/v1/initialization/*": {"GET", "POST"}, } // 检查请求是否在无需认证的API列表中 func isNoAuthAPI(path string, method string) bool { for api, methods := range noAuthAPI { - if api == path && slices.Contains(methods, method) { + // 如果以*结尾,按照前缀匹配,否则按照全路径匹配 + if strings.HasSuffix(api, "*") { + if strings.HasPrefix(path, strings.TrimSuffix(api, "*")) && slices.Contains(methods, method) { + return true + } + } else if path == api && slices.Contains(methods, method) { return true } } diff --git a/internal/models/chat/ollama.go b/internal/models/chat/ollama.go index 5cdfe3b..4371f29 100644 --- a/internal/models/chat/ollama.go +++ b/internal/models/chat/ollama.go @@ -63,7 +63,9 @@ func (c *OllamaChat) buildChatRequest(messages []Message, opts *ChatOptions, isS chatReq.Options["num_predict"] = opts.MaxTokens } if opts.Thinking != nil { - chatReq.Options["think"] = *opts.Thinking + chatReq.Think = &ollamaapi.ThinkValue{ + Value: *opts.Thinking, + } } } diff --git a/internal/models/utils/ollama/ollama.go b/internal/models/utils/ollama/ollama.go index c4fbf9f..76b88ce 100644 --- a/internal/models/utils/ollama/ollama.go +++ b/internal/models/utils/ollama/ollama.go @@ -309,3 +309,8 @@ func (s *OllamaService) Generate(ctx context.Context, req *api.GenerateRequest, // Use official client Generate method return s.client.Generate(ctx, req, fn) } + +// GetClient returns the underlying ollama client for advanced operations +func (s *OllamaService) GetClient() *api.Client { + return s.client +} diff --git a/internal/router/router.go b/internal/router/router.go index 1826cd3..4e1997e 100644 --- a/internal/router/router.go +++ b/internal/router/router.go @@ -17,17 +17,18 @@ import ( type RouterParams struct { dig.In - Config *config.Config - KBHandler *handler.KnowledgeBaseHandler - KnowledgeHandler *handler.KnowledgeHandler - TenantHandler *handler.TenantHandler - TenantService interfaces.TenantService - ChunkHandler *handler.ChunkHandler - SessionHandler *handler.SessionHandler - MessageHandler *handler.MessageHandler - TestDataHandler *handler.TestDataHandler - ModelHandler *handler.ModelHandler - EvaluationHandler *handler.EvaluationHandler + Config *config.Config + KBHandler *handler.KnowledgeBaseHandler + KnowledgeHandler *handler.KnowledgeHandler + TenantHandler *handler.TenantHandler + TenantService interfaces.TenantService + ChunkHandler *handler.ChunkHandler + SessionHandler *handler.SessionHandler + MessageHandler *handler.MessageHandler + TestDataHandler *handler.TestDataHandler + ModelHandler *handler.ModelHandler + EvaluationHandler *handler.EvaluationHandler + InitializationHandler *handler.InitializationHandler } // NewRouter 创建新的路由 @@ -62,6 +63,23 @@ func NewRouter(params RouterParams) *gin.Engine { // 测试数据接口(不需要认证) r.GET("/api/v1/test-data", params.TestDataHandler.GetTestData) + // 初始化接口(不需要认证) + r.GET("/api/v1/initialization/status", params.InitializationHandler.CheckStatus) + r.GET("/api/v1/initialization/config", params.InitializationHandler.GetCurrentConfig) + r.POST("/api/v1/initialization/initialize", params.InitializationHandler.Initialize) + + // Ollama相关接口(不需要认证) + r.GET("/api/v1/initialization/ollama/status", params.InitializationHandler.CheckOllamaStatus) + r.POST("/api/v1/initialization/ollama/models/check", params.InitializationHandler.CheckOllamaModels) + r.POST("/api/v1/initialization/ollama/models/download", params.InitializationHandler.DownloadOllamaModel) + r.GET("/api/v1/initialization/ollama/download/progress/:taskId", params.InitializationHandler.GetDownloadProgress) + r.GET("/api/v1/initialization/ollama/download/tasks", params.InitializationHandler.ListDownloadTasks) + + // 远程API相关接口(不需要认证) + r.POST("/api/v1/initialization/remote/check", params.InitializationHandler.CheckRemoteModel) + r.POST("/api/v1/initialization/rerank/check", params.InitializationHandler.CheckRerankModel) + r.POST("/api/v1/initialization/multimodal/test", params.InitializationHandler.TestMultimodalFunction) + // 需要认证的API路由 v1 := r.Group("/api/v1") { diff --git a/internal/types/knowledgebase.go b/internal/types/knowledgebase.go index 8e14f27..e4be935 100644 --- a/internal/types/knowledgebase.go +++ b/internal/types/knowledgebase.go @@ -8,6 +8,10 @@ import ( "gorm.io/gorm" ) +const ( + InitDefaultKnowledgeBaseID = "kb-00000001" +) + // KnowledgeBase represents a knowledge base type KnowledgeBase struct { // Unique identifier of the knowledge base @@ -26,6 +30,14 @@ type KnowledgeBase struct { EmbeddingModelID string `yaml:"embedding_model_id" json:"embedding_model_id"` // Summary model ID SummaryModelID string `yaml:"summary_model_id" json:"summary_model_id"` + // Rerank model ID + RerankModelID string `yaml:"rerank_model_id" json:"rerank_model_id"` + // VLM model ID + VLMModelID string `yaml:"vlm_model_id" json:"vlm_model_id"` + // VLM config + VLMConfig VLMConfig `yaml:"vlm_config" json:"vlm_config" gorm:"type:json"` + // COS config + COSConfig COSConfig `yaml:"cos_config" json:"cos_config" gorm:"type:json"` // Creation time of the knowledge base CreatedAt time.Time `yaml:"created_at" json:"created_at"` // Last updated time of the knowledge base @@ -54,6 +66,37 @@ type ChunkingConfig struct { EnableMultimodal bool `yaml:"enable_multimodal" json:"enable_multimodal"` } +// COSConfig represents the COS configuration +type COSConfig struct { + // Secret ID + SecretID string `yaml:"secret_id" json:"secret_id"` + // Secret Key + SecretKey string `yaml:"secret_key" json:"secret_key"` + // Region + Region string `yaml:"region" json:"region"` + // Bucket Name + BucketName string `yaml:"bucket_name" json:"bucket_name"` + // App ID + AppID string `yaml:"app_id" json:"app_id"` + // Path Prefix + PathPrefix string `yaml:"path_prefix" json:"path_prefix"` +} + +func (c *COSConfig) Value() (driver.Value, error) { + return json.Marshal(c) +} + +func (c *COSConfig) Scan(value interface{}) error { + if value == nil { + return nil + } + b, ok := value.([]byte) + if !ok { + return nil + } + return json.Unmarshal(b, c) +} + // ImageProcessingConfig represents the image processing configuration type ImageProcessingConfig struct { // Model ID @@ -93,3 +136,32 @@ func (c *ImageProcessingConfig) Scan(value interface{}) error { } return json.Unmarshal(b, c) } + +// VLMConfig represents the VLM configuration +type VLMConfig struct { + // Model Name + ModelName string `yaml:"model_name" json:"model_name"` + // Base URL + BaseURL string `yaml:"base_url" json:"base_url"` + // API Key + APIKey string `yaml:"api_key" json:"api_key"` + // Interface Type: "ollama" or "openai" + InterfaceType string `yaml:"interface_type" json:"interface_type"` +} + +// Value implements the driver.Valuer interface, used to convert VLMConfig to database value +func (c VLMConfig) Value() (driver.Value, error) { + return json.Marshal(c) +} + +// Scan implements the sql.Scanner interface, used to convert database value to VLMConfig +func (c *VLMConfig) Scan(value interface{}) error { + if value == nil { + return nil + } + b, ok := value.([]byte) + if !ok { + return nil + } + return json.Unmarshal(b, c) +} diff --git a/internal/types/tenant.go b/internal/types/tenant.go index 64485f2..20e2e14 100644 --- a/internal/types/tenant.go +++ b/internal/types/tenant.go @@ -8,6 +8,10 @@ import ( "gorm.io/gorm" ) +const ( + InitDefaultTenantID uint = 1 +) + // Tenant represents the tenant type Tenant struct { // ID diff --git a/migrations/mysql/00-init-db.sql b/migrations/mysql/00-init-db.sql index 0c0f0f5..000e6fc 100644 --- a/migrations/mysql/00-init-db.sql +++ b/migrations/mysql/00-init-db.sql @@ -19,7 +19,7 @@ CREATE TABLE tenants ( created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted_at TIMESTAMP NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=10000; CREATE TABLE models ( id VARCHAR(64) PRIMARY KEY, @@ -47,6 +47,10 @@ CREATE TABLE knowledge_bases ( image_processing_config JSON NOT NULL, embedding_model_id VARCHAR(64) NOT NULL, summary_model_id VARCHAR(64) NOT NULL, + rerank_model_id VARCHAR(64) NOT NULL, + vlm_model_id VARCHAR(64) NOT NULL, + cos_config JSON NOT NULL, + vlm_config JSON NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted_at TIMESTAMP NULL DEFAULT NULL diff --git a/migrations/paradedb/00-init-db.sql b/migrations/paradedb/00-init-db.sql index 94d10e3..1354ba1 100644 --- a/migrations/paradedb/00-init-db.sql +++ b/migrations/paradedb/00-init-db.sql @@ -21,6 +21,9 @@ CREATE TABLE IF NOT EXISTS tenants ( deleted_at TIMESTAMP WITH TIME ZONE ); +-- Set the starting value for tenants id sequence +ALTER SEQUENCE tenants_id_seq RESTART WITH 10000; + -- Add indexes CREATE INDEX IF NOT EXISTS idx_tenants_api_key ON tenants(api_key); CREATE INDEX IF NOT EXISTS idx_tenants_status ON tenants(status); @@ -55,6 +58,10 @@ CREATE TABLE IF NOT EXISTS knowledge_bases ( image_processing_config JSONB NOT NULL DEFAULT '{"enable_multimodal": false, "model_id": ""}', embedding_model_id VARCHAR(64) NOT NULL, summary_model_id VARCHAR(64) NOT NULL, + rerank_model_id VARCHAR(64) NOT NULL, + vlm_model_id VARCHAR(64) NOT NULL, + cos_config JSONB NOT NULL DEFAULT '{}', + vlm_config JSONB NOT NULL DEFAULT '{}', created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, deleted_at TIMESTAMP WITH TIME ZONE diff --git a/scripts/start_all.sh b/scripts/start_all.sh index 7bdb0c3..6706d7d 100755 --- a/scripts/start_all.sh +++ b/scripts/start_all.sh @@ -227,12 +227,24 @@ start_docker() { source "$PROJECT_ROOT/.env" storage_type=${STORAGE_TYPE:-local} + # 检测当前系统平台 + log_info "检测系统平台信息..." + if [ "$(uname -m)" = "x86_64" ]; then + export PLATFORM="linux/amd64" + elif [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "arm64" ]; then + export PLATFORM="linux/arm64" + else + log_warning "未识别的平台类型:$(uname -m),将使用默认平台 linux/amd64" + export PLATFORM="linux/amd64" + fi + log_info "当前平台:$PLATFORM" + # 进入项目根目录再执行docker-compose命令 cd "$PROJECT_ROOT" # 启动基本服务 log_info "启动核心服务容器..." - docker-compose up --build -d + PLATFORM=$PLATFORM docker-compose up --build -d if [ $? -ne 0 ]; then log_error "Docker容器启动失败" return 1 diff --git a/services/docreader/requirements.txt b/services/docreader/requirements.txt index a811c43..245d1c1 100644 --- a/services/docreader/requirements.txt +++ b/services/docreader/requirements.txt @@ -13,7 +13,6 @@ urllib3 markdownify mistletoe goose3[all] -# paddlepaddle==3.0.0 (普通CPU版本已被注释) paddleocr==3.0.0 markdown pypdf @@ -21,6 +20,10 @@ cos-python-sdk-v5 textract antiword openai +ollama ---extra-index-url https://www.paddlepaddle.org.cn/packages/stable/cu126/ -paddlepaddle-gpu==3.0.0 \ No newline at end of file +--extra-index-url https://www.paddlepaddle.org.cn/packages/stable/cpu/ +paddlepaddle==3.0.0 + +# --extra-index-url https://www.paddlepaddle.org.cn/packages/stable/cu126/ +# paddlepaddle-gpu==3.0.0 \ No newline at end of file diff --git a/services/docreader/scripts/generate_proto.sh b/services/docreader/scripts/generate_proto.sh index bca24c1..86249db 100644 --- a/services/docreader/scripts/generate_proto.sh +++ b/services/docreader/scripts/generate_proto.sh @@ -7,7 +7,7 @@ PYTHON_OUT="src/proto" GO_OUT="src/proto" # 生成Python代码 -python -m grpc_tools.protoc -I${PROTO_DIR} \ +python3 -m grpc_tools.protoc -I${PROTO_DIR} \ --python_out=${PYTHON_OUT} \ --grpc_python_out=${PYTHON_OUT} \ ${PROTO_DIR}/docreader.proto diff --git a/services/docreader/src/parser/base_parser.py b/services/docreader/src/parser/base_parser.py index 4a83fb6..1a1c2f7 100644 --- a/services/docreader/src/parser/base_parser.py +++ b/services/docreader/src/parser/base_parser.py @@ -3,7 +3,7 @@ import re import os import uuid import asyncio -from typing import List, Dict, Any, Optional, Tuple +from typing import List, Dict, Any, Optional, Tuple, Union from abc import ABC, abstractmethod from dataclasses import dataclass, field import logging @@ -13,6 +13,7 @@ import traceback import numpy as np import time from .ocr_engine import OCREngine +from .image_utils import image_to_base64 # Add parent directory to Python path for src imports current_dir = os.path.dirname(os.path.abspath(__file__)) @@ -100,6 +101,7 @@ class BaseParser(ABC): max_image_size: int = 1920, # Maximum image size max_concurrent_tasks: int = 5, # Max concurrent tasks max_chunks: int = 1000, # Max number of returned chunks + chunking_config: object = None, # Chunking configuration object ): """Initialize parser @@ -127,6 +129,7 @@ class BaseParser(ABC): self.max_image_size = max_image_size self.max_concurrent_tasks = max_concurrent_tasks self.max_chunks = max_chunks + self.chunking_config = chunking_config logger.info( f"Initializing {self.__class__.__name__} for file: {file_name}, type: {self.file_type}" @@ -141,7 +144,12 @@ class BaseParser(ABC): # Only initialize Caption service if multimodal is enabled if self.enable_multimodal: try: - self.caption_parser = Caption() + # Get VLM config from chunking config if available + vlm_config = None + if self.chunking_config and hasattr(self.chunking_config, 'vlm_config'): + vlm_config = self.chunking_config.vlm_config + + self.caption_parser = Caption(vlm_config) except Exception as e: logger.warning(f"Failed to initialize Caption service: {str(e)}") self.caption_parser = None @@ -200,55 +208,51 @@ class BaseParser(ABC): resized_image.close() def _resize_image_if_needed(self, image): - """Resize image to avoid processing large images + """Resize image if it exceeds maximum size limit Args: image: Image object (PIL.Image or numpy array) Returns: - Resized image + Resized image object """ try: - # Check if it's a PIL.Image object - if hasattr(image, 'width') and hasattr(image, 'height'): - width, height = image.width, image.height - # Check if resizing is needed + # If it's a PIL Image + if hasattr(image, 'size'): + width, height = image.size if width > self.max_image_size or height > self.max_image_size: - logger.info(f"Resizing image, original size: {width}x{height}") - # Calculate scaling factor + logger.info(f"Resizing PIL image, original size: {width}x{height}") scale = min(self.max_image_size / width, self.max_image_size / height) new_width = int(width * scale) new_height = int(height * scale) - # Resize resized_image = image.resize((new_width, new_height)) - logger.info(f"Image resized to: {new_width}x{new_height}") + logger.info(f"Resized to: {new_width}x{new_height}") return resized_image + else: + logger.info(f"PIL image size {width}x{height} is within limits, no resizing needed") + return image # If it's a numpy array - elif hasattr(image, 'shape') and len(image.shape) == 3: - height, width = image.shape[0], image.shape[1] + elif hasattr(image, 'shape'): + height, width = image.shape[:2] if width > self.max_image_size or height > self.max_image_size: logger.info(f"Resizing numpy image, original size: {width}x{height}") - # Use PIL for resizing - from PIL import Image + scale = min(self.max_image_size / width, self.max_image_size / height) + new_width = int(width * scale) + new_height = int(height * scale) + # Use PIL for resizing numpy arrays pil_image = Image.fromarray(image) - try: - scale = min(self.max_image_size / width, self.max_image_size / height) - new_width = int(width * scale) - new_height = int(height * scale) - resized_image = pil_image.resize((new_width, new_height)) - # Convert back to numpy array - import numpy as np - resized_array = np.array(resized_image) - logger.info(f"numpy image resized to: {new_width}x{new_height}") - return resized_array - finally: - # Ensure PIL image is closed - pil_image.close() - if 'resized_image' in locals() and hasattr(resized_image, 'close'): - resized_image.close() - return image + resized_pil = pil_image.resize((new_width, new_height)) + resized_image = np.array(resized_pil) + logger.info(f"Resized to: {new_width}x{new_height}") + return resized_image + else: + logger.info(f"Numpy image size {width}x{height} is within limits, no resizing needed") + return image + else: + logger.warning(f"Unknown image type: {type(image)}, cannot resize") + return image except Exception as e: - logger.warning(f"Failed to resize image: {str(e)}, using original image") + logger.error(f"Error resizing image: {str(e)}") return image def process_image(self, image, image_url=None): @@ -273,15 +277,21 @@ class BaseParser(ABC): ocr_text = self.perform_ocr(image) caption = "" - if self.caption_parser and image_url: + if self.caption_parser: logger.info(f"OCR successfully extracted {len(ocr_text)} characters, continuing to get caption") - caption = self.get_image_caption(image_url) - if caption: - logger.info(f"Successfully obtained image caption: {caption}") + # Convert image to base64 for caption generation + img_base64 = image_to_base64(image) + if img_base64: + caption = self.get_image_caption(img_base64) + if caption: + logger.info(f"Successfully obtained image caption: {caption}") + else: + logger.warning("Failed to get caption") else: - logger.warning("Failed to get caption") + logger.warning("Failed to convert image to base64") + caption = "" else: - logger.info("image_url not provided or Caption service not initialized, skipping caption retrieval") + logger.info("Caption service not initialized, skipping caption retrieval") # Release image resources del image @@ -323,21 +333,27 @@ class BaseParser(ABC): logger.info(f"OCR successfully extracted {len(ocr_text)} characters, continuing to get caption") caption = "" - if self.caption_parser and image_url: + if self.caption_parser: try: - # Add timeout to avoid blocking caption retrieval (30 seconds timeout) - caption_task = self.get_image_caption_async(image_url) - image_url, caption = await asyncio.wait_for(caption_task, timeout=30.0) - if caption: - logger.info(f"Successfully obtained image caption: {caption}") + # Convert image to base64 for caption generation + img_base64 = image_to_base64(resized_image) + if img_base64: + # Add timeout to avoid blocking caption retrieval (30 seconds timeout) + caption_task = self.get_image_caption_async(img_base64) + image_data, caption = await asyncio.wait_for(caption_task, timeout=30.0) + if caption: + logger.info(f"Successfully obtained image caption: {caption}") + else: + logger.warning("Failed to get caption") else: - logger.warning("Failed to get caption") + logger.warning("Failed to convert image to base64") + caption = "" except asyncio.TimeoutError: logger.warning("Caption retrieval timed out, skipping") except Exception as e: logger.error(f"Failed to get caption: {str(e)}") else: - logger.info("image_url not provided or Caption service not initialized, skipping caption retrieval") + logger.info("Caption service not initialized, skipping caption retrieval") return ocr_text, caption, image_url finally: @@ -473,56 +489,66 @@ class BaseParser(ABC): logger.info(f"Decoded text length: {len(text)} characters") return text - def get_image_caption(self, image_url: str) -> str: + def get_image_caption(self, image_data: str) -> str: """Get image description Args: - image_url: Image URL + image_data: Image data (base64 encoded string or URL) Returns: Image description """ start_time = time.time() logger.info( - f"Getting caption for image: {image_url[:250]}..." - if len(image_url) > 250 - else f"Getting caption for image: {image_url}" + f"Getting caption for image: {image_data[:250]}..." + if len(image_data) > 250 + else f"Getting caption for image: {image_data}" ) - caption = self.caption_parser.get_caption(image_url) + caption = self.caption_parser.get_caption(image_data) if caption: logger.info( - f"Received caption of length: {len(caption)}, caption: {caption}, image_url: {image_url}," + f"Received caption of length: {len(caption)}, caption: {caption}," f"cost: {time.time() - start_time} seconds" ) else: logger.warning("Failed to get caption for image") return caption - async def get_image_caption_async(self, image_url: str) -> Tuple[str, str]: + async def get_image_caption_async(self, image_data: str) -> Tuple[str, str]: """Asynchronously get image description Args: - image_url: Image URL + image_data: Image data (base64 encoded string or URL) Returns: - Tuple[str, str]: Image URL and corresponding description + Tuple[str, str]: Image data and corresponding description """ - caption = self.get_image_caption(image_url) - return image_url, caption + caption = self.get_image_caption(image_data) + return image_data, caption - def _init_cos_client(self): + def _init_cos_client(self, cos_config=None): """Initialize Tencent Cloud COS client""" try: - # Get COS configuration from environment variables - secret_id = os.getenv("COS_SECRET_ID") - secret_key = os.getenv("COS_SECRET_KEY") - region = os.getenv("COS_REGION") - bucket_name = os.getenv("COS_BUCKET_NAME") - appid = os.getenv("COS_APP_ID") - prefix = os.getenv("COS_PATH_PREFIX") - enable_old_domain = ( - os.getenv("COS_ENABLE_OLD_DOMAIN", "true").lower() == "true" - ) + # Use provided COS config if available, otherwise fall back to environment variables + if cos_config: + secret_id = cos_config.get("secret_id") + secret_key = cos_config.get("secret_key") + region = cos_config.get("region") + bucket_name = cos_config.get("bucket_name") + appid = cos_config.get("app_id") + prefix = cos_config.get("path_prefix", "") + enable_old_domain = cos_config.get("enable_old_domain", "true").lower() == "true" + else: + # Get COS configuration from environment variables + secret_id = os.getenv("COS_SECRET_ID") + secret_key = os.getenv("COS_SECRET_KEY") + region = os.getenv("COS_REGION") + bucket_name = os.getenv("COS_BUCKET_NAME") + appid = os.getenv("COS_APP_ID") + prefix = os.getenv("COS_PATH_PREFIX") + enable_old_domain = ( + os.getenv("COS_ENABLE_OLD_DOMAIN", "true").lower() == "true" + ) if not all([secret_id, secret_key, region, bucket_name, appid]): logger.error( @@ -600,12 +626,13 @@ class BaseParser(ABC): logger.error(f"Failed to upload file to COS: {str(e)}") return "" - def upload_bytes(self, content: bytes, file_ext: str = ".png") -> str: + def upload_bytes(self, content: bytes, file_ext: str = ".png", cos_config=None) -> str: """Directly upload file content to Tencent Cloud COS Args: content: File byte content file_ext: File extension, default is .png + cos_config: COS configuration dictionary Returns: File URL @@ -614,7 +641,7 @@ class BaseParser(ABC): f"Uploading bytes content to COS, content size: {len(content)} bytes" ) try: - client, bucket_name, region, prefix = self._init_cos_client() + client, bucket_name, region, prefix = self._init_cos_client(cos_config) if not client: return "" diff --git a/services/docreader/src/parser/caption.py b/services/docreader/src/parser/caption.py index 6d7f8b3..bd51290 100644 --- a/services/docreader/src/parser/caption.py +++ b/services/docreader/src/parser/caption.py @@ -1,10 +1,13 @@ import json import logging import os +import time from dataclasses import dataclass, field from typing import List, Optional, Union import requests +import ollama + logger = logging.getLogger(__name__) @@ -168,39 +171,108 @@ class Caption: Uses an external API to process images and return textual descriptions. """ - def __init__(self): - """Initialize the Caption service with configuration from environment variables.""" + def __init__(self, vlm_config=None): + """Initialize the Caption service with configuration from parameters or environment variables.""" logger.info("Initializing Caption service") self.prompt = """简单凝炼的描述图片的主要内容""" - if os.getenv("VLM_MODEL_BASE_URL") == "" or os.getenv("VLM_MODEL_NAME") == "": - logger.error("VLM_MODEL_BASE_URL or VLM_MODEL_NAME is not set") - return - self.completion_url = os.getenv("VLM_MODEL_BASE_URL") + "/v1/chat/completions" - self.model = os.getenv("VLM_MODEL_NAME") - self.api_key = os.getenv("VLM_MODEL_API_KEY") + + # Use provided VLM config if available, otherwise fall back to environment variables + if vlm_config: + self.completion_url = vlm_config.get("base_url", "") + "/chat/completions" + self.model = vlm_config.get("model_name", "") + self.api_key = vlm_config.get("api_key", "") + self.interface_type = vlm_config.get("interface_type", "openai").lower() + else: + if os.getenv("VLM_MODEL_BASE_URL") == "" or os.getenv("VLM_MODEL_NAME") == "": + logger.error("VLM_MODEL_BASE_URL or VLM_MODEL_NAME is not set") + return + self.completion_url = os.getenv("VLM_MODEL_BASE_URL") + "/chat/completions" + self.model = os.getenv("VLM_MODEL_NAME") + self.api_key = os.getenv("VLM_MODEL_API_KEY") + self.interface_type = os.getenv("VLM_INTERFACE_TYPE", "openai").lower() + + # 验证接口类型 + if self.interface_type not in ["ollama", "openai"]: + logger.warning(f"Unknown interface type: {self.interface_type}, defaulting to openai") + self.interface_type = "openai" + logger.info( - f"Service configured with model: {self.model}, endpoint: {self.completion_url}" + f"Service configured with model: {self.model}, endpoint: {self.completion_url}, interface: {self.interface_type}" ) - def _call_caption_api(self, image_url: str) -> Optional[CaptionChatResp]: + def _call_caption_api(self, image_data: str) -> Optional[CaptionChatResp]: """ Call the Caption API to generate a description for the given image. Args: - image_url: URL of the image to be captioned + image_data: URL of the image or base64 encoded image data Returns: CaptionChatResp object if successful, None otherwise """ logger.info(f"Calling Caption API for image captioning") - logger.info(f"Processing image from URL: {image_url}") + logger.info(f"Processing image data: {image_data[:50] if len(image_data) > 50 else image_data}") + # 根据接口类型选择调用方式 + if self.interface_type == "ollama": + return self._call_ollama_api(image_data) + else: + return self._call_openai_api(image_data) + + def _call_ollama_api(self, image_base64: str) -> Optional[CaptionChatResp]: + """Call Ollama API for image captioning using base64 encoded image data.""" + + host = self.completion_url.replace("/v1/chat/completions", "") + + client = ollama.Client( + host=host, + ) + + try: + logger.info(f"Calling Ollama API with model: {self.model}") + + # 调用Ollama API,使用images参数传递base64编码的图片 + response = client.generate( + model=self.model, + prompt="简单凝炼的描述图片的主要内容", + images=[image_base64], # image_base64是base64编码的图片数据 + options={"temperature": 0.1}, + stream=False, + ) + + # 构造响应对象 + caption_resp = CaptionChatResp( + id="ollama_response", + created=int(time.time()), + model=self.model, + object="chat.completion", + choices=[ + Choice( + message=Message( + role="assistant", + content=response.response + ) + ) + ] + ) + + logger.info("Successfully received response from Ollama API") + return caption_resp + + except Exception as e: + logger.error(f"Error calling Ollama API: {e}") + return None + + def _call_openai_api(self, image_base64: str) -> Optional[CaptionChatResp]: + """Call OpenAI-compatible API for image captioning.""" + logger.info(f"Calling OpenAI-compatible API with model: {self.model}") + user_msg = UserMessage( role="user", content=[ Content(type="text", text=self.prompt), Content( - type="image_url", image_url=ImageUrl(url=image_url, detail="auto") + type="image_url", image_url=ImageUrl(url="data:image/png;base64," + image_base64, detail="auto") ), ], ) @@ -223,7 +295,7 @@ class Caption: headers["Authorization"] = f"Bearer {self.api_key}" try: - logger.info(f"Sending request to Caption API with model: {self.model}") + logger.info(f"Sending request to OpenAI-compatible API with model: {self.model}") response = requests.post( self.completion_url, data=json.dumps(gpt_req, default=lambda o: o.__dict__, indent=4), @@ -232,12 +304,12 @@ class Caption: ) if response.status_code != 200: logger.error( - f"Caption API returned non-200 status code: {response.status_code}" + f"OpenAI-compatible API returned non-200 status code: {response.status_code}" ) response.raise_for_status() logger.info( - f"Successfully received response from Caption API with status: {response.status_code}" + f"Successfully received response from OpenAI-compatible API with status: {response.status_code}" ) logger.info(f"Converting response to CaptionChatResp object") caption_resp = CaptionChatResp.from_json(response.json()) @@ -250,33 +322,30 @@ class Caption: return caption_resp except requests.exceptions.Timeout: - logger.error(f"Timeout while calling Caption API after 30 seconds") + logger.error(f"Timeout while calling OpenAI-compatible API after 30 seconds") return None except requests.exceptions.RequestException as e: - logger.error(f"Request error calling Caption API: {e}") + logger.error(f"Request error calling OpenAI-compatible API: {e}") return None except Exception as e: - logger.error(f"Error calling Caption API: {str(e)}") - logger.info( - f"Request details: model={self.model}, URL={self.completion_url}" - ) + logger.error(f"Unexpected error calling OpenAI-compatible API: {e}") return None - def get_caption(self, image_url: str) -> str: + def get_caption(self, image_data: str) -> str: """ - Get a caption for the provided image URL. + Get a caption for the provided image data. Args: - image_url: URL of the image to be captioned + image_data: URL of the image or base64 encoded image data Returns: Caption text as string, or empty string if captioning failed """ logger.info("Getting caption for image") - if not image_url or self.completion_url is None: - logger.error("Image URL is not set") + if not image_data or self.completion_url is None: + logger.error("Image data is not set") return "" - caption_resp = self._call_caption_api(image_url) + caption_resp = self._call_caption_api(image_data) if caption_resp: caption = caption_resp.choice_data() caption_length = len(caption) diff --git a/services/docreader/src/parser/image_parser.py b/services/docreader/src/parser/image_parser.py index fb94449..f29f68a 100644 --- a/services/docreader/src/parser/image_parser.py +++ b/services/docreader/src/parser/image_parser.py @@ -37,7 +37,13 @@ class ImageParser(BaseParser): # Upload image to storage service logger.info("Uploading image to storage") _, ext = os.path.splitext(self.file_name) - image_url = self.upload_bytes(content, file_ext=ext) + + # Get COS config from chunking config if available + cos_config = None + if hasattr(self, 'chunking_config') and self.chunking_config and hasattr(self.chunking_config, 'cos_config'): + cos_config = self.chunking_config.cos_config + + image_url = self.upload_bytes(content, file_ext=ext, cos_config=cos_config) if not image_url: logger.error("Failed to upload image to storage") return "" diff --git a/services/docreader/src/parser/image_utils.py b/services/docreader/src/parser/image_utils.py new file mode 100644 index 0000000..55cb474 --- /dev/null +++ b/services/docreader/src/parser/image_utils.py @@ -0,0 +1,43 @@ +import base64 +import io +import logging +from typing import Union +from PIL import Image +import numpy as np + +logger = logging.getLogger(__name__) + +def image_to_base64(image: Union[str, bytes, Image.Image, np.ndarray]) -> str: + """Convert image to base64 encoded string + + Args: + image: Image file path, bytes, PIL Image object, or numpy array + + Returns: + Base64 encoded image string, or empty string if conversion fails + """ + try: + if isinstance(image, str): + # It's a file path + with open(image, "rb") as image_file: + return base64.b64encode(image_file.read()).decode("utf-8") + elif isinstance(image, bytes): + # It's bytes data + return base64.b64encode(image).decode("utf-8") + elif isinstance(image, Image.Image): + # It's a PIL Image + buffer = io.BytesIO() + image.save(buffer, format="PNG") + return base64.b64encode(buffer.getvalue()).decode("utf-8") + elif isinstance(image, np.ndarray): + # It's a numpy array + pil_image = Image.fromarray(image) + buffer = io.BytesIO() + pil_image.save(buffer, format="PNG") + return base64.b64encode(buffer.getvalue()).decode("utf-8") + else: + logger.error(f"Unsupported image type: {type(image)}") + return "" + except Exception as e: + logger.error(f"Error converting image to base64: {str(e)}") + return "" diff --git a/services/docreader/src/parser/ocr_engine.py b/services/docreader/src/parser/ocr_engine.py index b7ae673..6b3ec27 100644 --- a/services/docreader/src/parser/ocr_engine.py +++ b/services/docreader/src/parser/ocr_engine.py @@ -6,6 +6,7 @@ from abc import ABC, abstractmethod from PIL import Image import io import numpy as np +from .image_utils import image_to_base64 logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) @@ -161,35 +162,6 @@ class NanonetsOCRBackend(OCRBackend): logger.error(f"Failed to initialize Nanonets OCR: {str(e)}") self.client = None - def _encode_image(self, image: Union[str, bytes, Image.Image]) -> str: - """Encode image to base64 - - Args: - image: Image file path, bytes, or PIL Image object - - Returns: - Base64 encoded image - """ - try: - if isinstance(image, str): - # It's a file path - with open(image, "rb") as image_file: - return base64.b64encode(image_file.read()).decode("utf-8") - elif isinstance(image, bytes): - # It's bytes data - return base64.b64encode(image).decode("utf-8") - elif isinstance(image, Image.Image): - # It's a PIL Image - buffer = io.BytesIO() - image.save(buffer, format="PNG") - return base64.b64encode(buffer.getvalue()).decode("utf-8") - else: - logger.error(f"Unsupported image type: {type(image)}") - return "" - except Exception as e: - logger.error(f"Error encoding image: {str(e)}") - return "" - def predict(self, image: Union[str, bytes, Image.Image]) -> str: """Extract text from an image using Nanonets OCR @@ -205,7 +177,7 @@ class NanonetsOCRBackend(OCRBackend): try: # Encode image to base64 - img_base64 = self._encode_image(image) + img_base64 = image_to_base64(image) if not img_base64: return "" diff --git a/services/docreader/src/parser/parser.py b/services/docreader/src/parser/parser.py index 14c30a7..d81a191 100644 --- a/services/docreader/src/parser/parser.py +++ b/services/docreader/src/parser/parser.py @@ -30,6 +30,8 @@ class ChunkingConfig: enable_multimodal: bool = ( False # Whether to enable multimodal processing (text + images) ) + cos_config: dict = None # COS configuration for file storage + vlm_config: dict = None # VLM configuration for image captioning @dataclass @@ -138,6 +140,7 @@ class Parser: enable_multimodal=config.enable_multimodal, max_image_size=1920, # Limit image size to 1920px max_concurrent_tasks=5, # Limit concurrent tasks to 5 + chunking_config=config, # Pass the entire chunking config ) logger.info(f"Starting to parse file content, size: {len(content)} bytes") @@ -197,6 +200,7 @@ class Parser: enable_multimodal=config.enable_multimodal, max_image_size=1920, # Limit image size max_concurrent_tasks=5, # Limit concurrent tasks + chunking_config=config, ) logger.info(f"Starting to parse URL content") diff --git a/services/docreader/src/proto/docreader.pb.go b/services/docreader/src/proto/docreader.pb.go index 756f87e..70901b9 100644 --- a/services/docreader/src/proto/docreader.pb.go +++ b/services/docreader/src/proto/docreader.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.6 +// protoc-gen-go v1.36.7 // protoc v5.29.3 // source: docreader.proto @@ -21,19 +21,175 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// COS 配置 +type COSConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + SecretId string `protobuf:"bytes,1,opt,name=secret_id,json=secretId,proto3" json:"secret_id,omitempty"` // COS Secret ID + SecretKey string `protobuf:"bytes,2,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` // COS Secret Key + Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"` // COS Region + BucketName string `protobuf:"bytes,4,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"` // COS Bucket Name + AppId string `protobuf:"bytes,5,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` // COS App ID + PathPrefix string `protobuf:"bytes,6,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"` // COS Path Prefix + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *COSConfig) Reset() { + *x = COSConfig{} + mi := &file_docreader_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *COSConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*COSConfig) ProtoMessage() {} + +func (x *COSConfig) ProtoReflect() protoreflect.Message { + mi := &file_docreader_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use COSConfig.ProtoReflect.Descriptor instead. +func (*COSConfig) Descriptor() ([]byte, []int) { + return file_docreader_proto_rawDescGZIP(), []int{0} +} + +func (x *COSConfig) GetSecretId() string { + if x != nil { + return x.SecretId + } + return "" +} + +func (x *COSConfig) GetSecretKey() string { + if x != nil { + return x.SecretKey + } + return "" +} + +func (x *COSConfig) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *COSConfig) GetBucketName() string { + if x != nil { + return x.BucketName + } + return "" +} + +func (x *COSConfig) GetAppId() string { + if x != nil { + return x.AppId + } + return "" +} + +func (x *COSConfig) GetPathPrefix() string { + if x != nil { + return x.PathPrefix + } + return "" +} + +// VLM 配置 +type VLMConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + ModelName string `protobuf:"bytes,1,opt,name=model_name,json=modelName,proto3" json:"model_name,omitempty"` // VLM Model Name + BaseUrl string `protobuf:"bytes,2,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"` // VLM Base URL + ApiKey string `protobuf:"bytes,3,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"` // VLM API Key + InterfaceType string `protobuf:"bytes,4,opt,name=interface_type,json=interfaceType,proto3" json:"interface_type,omitempty"` // VLM Interface Type: "ollama" or "openai" + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VLMConfig) Reset() { + *x = VLMConfig{} + mi := &file_docreader_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VLMConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VLMConfig) ProtoMessage() {} + +func (x *VLMConfig) ProtoReflect() protoreflect.Message { + mi := &file_docreader_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VLMConfig.ProtoReflect.Descriptor instead. +func (*VLMConfig) Descriptor() ([]byte, []int) { + return file_docreader_proto_rawDescGZIP(), []int{1} +} + +func (x *VLMConfig) GetModelName() string { + if x != nil { + return x.ModelName + } + return "" +} + +func (x *VLMConfig) GetBaseUrl() string { + if x != nil { + return x.BaseUrl + } + return "" +} + +func (x *VLMConfig) GetApiKey() string { + if x != nil { + return x.ApiKey + } + return "" +} + +func (x *VLMConfig) GetInterfaceType() string { + if x != nil { + return x.InterfaceType + } + return "" +} + type ReadConfig struct { state protoimpl.MessageState `protogen:"open.v1"` ChunkSize int32 `protobuf:"varint,1,opt,name=chunk_size,json=chunkSize,proto3" json:"chunk_size,omitempty"` // 分块大小 ChunkOverlap int32 `protobuf:"varint,2,opt,name=chunk_overlap,json=chunkOverlap,proto3" json:"chunk_overlap,omitempty"` // 分块重叠 Separators []string `protobuf:"bytes,3,rep,name=separators,proto3" json:"separators,omitempty"` // 分隔符 EnableMultimodal bool `protobuf:"varint,4,opt,name=enable_multimodal,json=enableMultimodal,proto3" json:"enable_multimodal,omitempty"` // 多模态处理 + CosConfig *COSConfig `protobuf:"bytes,5,opt,name=cos_config,json=cosConfig,proto3" json:"cos_config,omitempty"` // COS 配置 + VlmConfig *VLMConfig `protobuf:"bytes,6,opt,name=vlm_config,json=vlmConfig,proto3" json:"vlm_config,omitempty"` // VLM 配置 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ReadConfig) Reset() { *x = ReadConfig{} - mi := &file_docreader_proto_msgTypes[0] + mi := &file_docreader_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45,7 +201,7 @@ func (x *ReadConfig) String() string { func (*ReadConfig) ProtoMessage() {} func (x *ReadConfig) ProtoReflect() protoreflect.Message { - mi := &file_docreader_proto_msgTypes[0] + mi := &file_docreader_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58,7 +214,7 @@ func (x *ReadConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ReadConfig.ProtoReflect.Descriptor instead. func (*ReadConfig) Descriptor() ([]byte, []int) { - return file_docreader_proto_rawDescGZIP(), []int{0} + return file_docreader_proto_rawDescGZIP(), []int{2} } func (x *ReadConfig) GetChunkSize() int32 { @@ -89,6 +245,20 @@ func (x *ReadConfig) GetEnableMultimodal() bool { return false } +func (x *ReadConfig) GetCosConfig() *COSConfig { + if x != nil { + return x.CosConfig + } + return nil +} + +func (x *ReadConfig) GetVlmConfig() *VLMConfig { + if x != nil { + return x.VlmConfig + } + return nil +} + // 从文件读取文档请求 type ReadFromFileRequest struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -103,7 +273,7 @@ type ReadFromFileRequest struct { func (x *ReadFromFileRequest) Reset() { *x = ReadFromFileRequest{} - mi := &file_docreader_proto_msgTypes[1] + mi := &file_docreader_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115,7 +285,7 @@ func (x *ReadFromFileRequest) String() string { func (*ReadFromFileRequest) ProtoMessage() {} func (x *ReadFromFileRequest) ProtoReflect() protoreflect.Message { - mi := &file_docreader_proto_msgTypes[1] + mi := &file_docreader_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128,7 +298,7 @@ func (x *ReadFromFileRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReadFromFileRequest.ProtoReflect.Descriptor instead. func (*ReadFromFileRequest) Descriptor() ([]byte, []int) { - return file_docreader_proto_rawDescGZIP(), []int{1} + return file_docreader_proto_rawDescGZIP(), []int{3} } func (x *ReadFromFileRequest) GetFileContent() []byte { @@ -179,7 +349,7 @@ type ReadFromURLRequest struct { func (x *ReadFromURLRequest) Reset() { *x = ReadFromURLRequest{} - mi := &file_docreader_proto_msgTypes[2] + mi := &file_docreader_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -191,7 +361,7 @@ func (x *ReadFromURLRequest) String() string { func (*ReadFromURLRequest) ProtoMessage() {} func (x *ReadFromURLRequest) ProtoReflect() protoreflect.Message { - mi := &file_docreader_proto_msgTypes[2] + mi := &file_docreader_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -204,7 +374,7 @@ func (x *ReadFromURLRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReadFromURLRequest.ProtoReflect.Descriptor instead. func (*ReadFromURLRequest) Descriptor() ([]byte, []int) { - return file_docreader_proto_rawDescGZIP(), []int{2} + return file_docreader_proto_rawDescGZIP(), []int{4} } func (x *ReadFromURLRequest) GetUrl() string { @@ -250,7 +420,7 @@ type Image struct { func (x *Image) Reset() { *x = Image{} - mi := &file_docreader_proto_msgTypes[3] + mi := &file_docreader_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -262,7 +432,7 @@ func (x *Image) String() string { func (*Image) ProtoMessage() {} func (x *Image) ProtoReflect() protoreflect.Message { - mi := &file_docreader_proto_msgTypes[3] + mi := &file_docreader_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -275,7 +445,7 @@ func (x *Image) ProtoReflect() protoreflect.Message { // Deprecated: Use Image.ProtoReflect.Descriptor instead. func (*Image) Descriptor() ([]byte, []int) { - return file_docreader_proto_rawDescGZIP(), []int{3} + return file_docreader_proto_rawDescGZIP(), []int{5} } func (x *Image) GetUrl() string { @@ -333,7 +503,7 @@ type Chunk struct { func (x *Chunk) Reset() { *x = Chunk{} - mi := &file_docreader_proto_msgTypes[4] + mi := &file_docreader_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -345,7 +515,7 @@ func (x *Chunk) String() string { func (*Chunk) ProtoMessage() {} func (x *Chunk) ProtoReflect() protoreflect.Message { - mi := &file_docreader_proto_msgTypes[4] + mi := &file_docreader_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -358,7 +528,7 @@ func (x *Chunk) ProtoReflect() protoreflect.Message { // Deprecated: Use Chunk.ProtoReflect.Descriptor instead. func (*Chunk) Descriptor() ([]byte, []int) { - return file_docreader_proto_rawDescGZIP(), []int{4} + return file_docreader_proto_rawDescGZIP(), []int{6} } func (x *Chunk) GetContent() string { @@ -407,7 +577,7 @@ type ReadResponse struct { func (x *ReadResponse) Reset() { *x = ReadResponse{} - mi := &file_docreader_proto_msgTypes[5] + mi := &file_docreader_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -419,7 +589,7 @@ func (x *ReadResponse) String() string { func (*ReadResponse) ProtoMessage() {} func (x *ReadResponse) ProtoReflect() protoreflect.Message { - mi := &file_docreader_proto_msgTypes[5] + mi := &file_docreader_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -432,7 +602,7 @@ func (x *ReadResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ReadResponse.ProtoReflect.Descriptor instead. func (*ReadResponse) Descriptor() ([]byte, []int) { - return file_docreader_proto_rawDescGZIP(), []int{5} + return file_docreader_proto_rawDescGZIP(), []int{7} } func (x *ReadResponse) GetChunks() []*Chunk { @@ -453,7 +623,23 @@ var File_docreader_proto protoreflect.FileDescriptor const file_docreader_proto_rawDesc = "" + "\n" + - "\x0fdocreader.proto\x12\tdocreader\"\x9d\x01\n" + + "\x0fdocreader.proto\x12\tdocreader\"\xb8\x01\n" + + "\tCOSConfig\x12\x1b\n" + + "\tsecret_id\x18\x01 \x01(\tR\bsecretId\x12\x1d\n" + + "\n" + + "secret_key\x18\x02 \x01(\tR\tsecretKey\x12\x16\n" + + "\x06region\x18\x03 \x01(\tR\x06region\x12\x1f\n" + + "\vbucket_name\x18\x04 \x01(\tR\n" + + "bucketName\x12\x15\n" + + "\x06app_id\x18\x05 \x01(\tR\x05appId\x12\x1f\n" + + "\vpath_prefix\x18\x06 \x01(\tR\n" + + "pathPrefix\"\x85\x01\n" + + "\tVLMConfig\x12\x1d\n" + + "\n" + + "model_name\x18\x01 \x01(\tR\tmodelName\x12\x19\n" + + "\bbase_url\x18\x02 \x01(\tR\abaseUrl\x12\x17\n" + + "\aapi_key\x18\x03 \x01(\tR\x06apiKey\x12%\n" + + "\x0einterface_type\x18\x04 \x01(\tR\rinterfaceType\"\x87\x02\n" + "\n" + "ReadConfig\x12\x1d\n" + "\n" + @@ -462,7 +648,11 @@ const file_docreader_proto_rawDesc = "" + "\n" + "separators\x18\x03 \x03(\tR\n" + "separators\x12+\n" + - "\x11enable_multimodal\x18\x04 \x01(\bR\x10enableMultimodal\"\xc9\x01\n" + + "\x11enable_multimodal\x18\x04 \x01(\bR\x10enableMultimodal\x123\n" + + "\n" + + "cos_config\x18\x05 \x01(\v2\x14.docreader.COSConfigR\tcosConfig\x123\n" + + "\n" + + "vlm_config\x18\x06 \x01(\v2\x14.docreader.VLMConfigR\tvlmConfig\"\xc9\x01\n" + "\x13ReadFromFileRequest\x12!\n" + "\ffile_content\x18\x01 \x01(\fR\vfileContent\x12\x1b\n" + "\tfile_name\x18\x02 \x01(\tR\bfileName\x12\x1b\n" + @@ -510,29 +700,33 @@ func file_docreader_proto_rawDescGZIP() []byte { return file_docreader_proto_rawDescData } -var file_docreader_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_docreader_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_docreader_proto_goTypes = []any{ - (*ReadConfig)(nil), // 0: docreader.ReadConfig - (*ReadFromFileRequest)(nil), // 1: docreader.ReadFromFileRequest - (*ReadFromURLRequest)(nil), // 2: docreader.ReadFromURLRequest - (*Image)(nil), // 3: docreader.Image - (*Chunk)(nil), // 4: docreader.Chunk - (*ReadResponse)(nil), // 5: docreader.ReadResponse + (*COSConfig)(nil), // 0: docreader.COSConfig + (*VLMConfig)(nil), // 1: docreader.VLMConfig + (*ReadConfig)(nil), // 2: docreader.ReadConfig + (*ReadFromFileRequest)(nil), // 3: docreader.ReadFromFileRequest + (*ReadFromURLRequest)(nil), // 4: docreader.ReadFromURLRequest + (*Image)(nil), // 5: docreader.Image + (*Chunk)(nil), // 6: docreader.Chunk + (*ReadResponse)(nil), // 7: docreader.ReadResponse } var file_docreader_proto_depIdxs = []int32{ - 0, // 0: docreader.ReadFromFileRequest.read_config:type_name -> docreader.ReadConfig - 0, // 1: docreader.ReadFromURLRequest.read_config:type_name -> docreader.ReadConfig - 3, // 2: docreader.Chunk.images:type_name -> docreader.Image - 4, // 3: docreader.ReadResponse.chunks:type_name -> docreader.Chunk - 1, // 4: docreader.DocReader.ReadFromFile:input_type -> docreader.ReadFromFileRequest - 2, // 5: docreader.DocReader.ReadFromURL:input_type -> docreader.ReadFromURLRequest - 5, // 6: docreader.DocReader.ReadFromFile:output_type -> docreader.ReadResponse - 5, // 7: docreader.DocReader.ReadFromURL:output_type -> docreader.ReadResponse - 6, // [6:8] is the sub-list for method output_type - 4, // [4:6] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 0, // 0: docreader.ReadConfig.cos_config:type_name -> docreader.COSConfig + 1, // 1: docreader.ReadConfig.vlm_config:type_name -> docreader.VLMConfig + 2, // 2: docreader.ReadFromFileRequest.read_config:type_name -> docreader.ReadConfig + 2, // 3: docreader.ReadFromURLRequest.read_config:type_name -> docreader.ReadConfig + 5, // 4: docreader.Chunk.images:type_name -> docreader.Image + 6, // 5: docreader.ReadResponse.chunks:type_name -> docreader.Chunk + 3, // 6: docreader.DocReader.ReadFromFile:input_type -> docreader.ReadFromFileRequest + 4, // 7: docreader.DocReader.ReadFromURL:input_type -> docreader.ReadFromURLRequest + 7, // 8: docreader.DocReader.ReadFromFile:output_type -> docreader.ReadResponse + 7, // 9: docreader.DocReader.ReadFromURL:output_type -> docreader.ReadResponse + 8, // [8:10] is the sub-list for method output_type + 6, // [6:8] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_docreader_proto_init() } @@ -546,7 +740,7 @@ func file_docreader_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_docreader_proto_rawDesc), len(file_docreader_proto_rawDesc)), NumEnums: 0, - NumMessages: 6, + NumMessages: 8, NumExtensions: 0, NumServices: 1, }, diff --git a/services/docreader/src/proto/docreader.proto b/services/docreader/src/proto/docreader.proto index 6ca3d5c..3a9ce29 100644 --- a/services/docreader/src/proto/docreader.proto +++ b/services/docreader/src/proto/docreader.proto @@ -12,11 +12,31 @@ service DocReader { rpc ReadFromURL(ReadFromURLRequest) returns (ReadResponse) {} } +// COS 配置 +message COSConfig { + string secret_id = 1; // COS Secret ID + string secret_key = 2; // COS Secret Key + string region = 3; // COS Region + string bucket_name = 4; // COS Bucket Name + string app_id = 5; // COS App ID + string path_prefix = 6; // COS Path Prefix +} + +// VLM 配置 +message VLMConfig { + string model_name = 1; // VLM Model Name + string base_url = 2; // VLM Base URL + string api_key = 3; // VLM API Key + string interface_type = 4; // VLM Interface Type: "ollama" or "openai" +} + message ReadConfig { int32 chunk_size = 1; // 分块大小 int32 chunk_overlap = 2; // 分块重叠 repeated string separators = 3; // 分隔符 bool enable_multimodal = 4; // 多模态处理 + COSConfig cos_config = 5; // COS 配置 + VLMConfig vlm_config = 6; // VLM 配置 } // 从文件读取文档请求 diff --git a/services/docreader/src/proto/docreader_pb2_grpc.py b/services/docreader/src/proto/docreader_pb2_grpc.py index fd391bd..1b4eaf7 100644 --- a/services/docreader/src/proto/docreader_pb2_grpc.py +++ b/services/docreader/src/proto/docreader_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import docreader_pb2 as docreader__pb2 +GRPC_GENERATED_VERSION = '1.74.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in docreader_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class DocReaderStub(object): """文档读取服务 @@ -19,12 +39,12 @@ class DocReaderStub(object): '/docreader.DocReader/ReadFromFile', request_serializer=docreader__pb2.ReadFromFileRequest.SerializeToString, response_deserializer=docreader__pb2.ReadResponse.FromString, - ) + _registered_method=True) self.ReadFromURL = channel.unary_unary( '/docreader.DocReader/ReadFromURL', request_serializer=docreader__pb2.ReadFromURLRequest.SerializeToString, response_deserializer=docreader__pb2.ReadResponse.FromString, - ) + _registered_method=True) class DocReaderServicer(object): @@ -62,6 +82,7 @@ def add_DocReaderServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'docreader.DocReader', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('docreader.DocReader', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -80,11 +101,21 @@ class DocReader(object): wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/docreader.DocReader/ReadFromFile', + return grpc.experimental.unary_unary( + request, + target, + '/docreader.DocReader/ReadFromFile', docreader__pb2.ReadFromFileRequest.SerializeToString, docreader__pb2.ReadResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def ReadFromURL(request, @@ -97,8 +128,18 @@ class DocReader(object): wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/docreader.DocReader/ReadFromURL', + return grpc.experimental.unary_unary( + request, + target, + '/docreader.DocReader/ReadFromURL', docreader__pb2.ReadFromURLRequest.SerializeToString, docreader__pb2.ReadResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/services/docreader/src/server/server.py b/services/docreader/src/server/server.py index 6e391ff..c6a3403 100644 --- a/services/docreader/src/server/server.py +++ b/services/docreader/src/server/server.py @@ -74,11 +74,39 @@ class DocReaderServicer(docreader_pb2_grpc.DocReaderServicer): f"multimodal={enable_multimodal}" ) + # Get COS and VLM config from request + cos_config = None + vlm_config = None + + if hasattr(request.read_config, 'cos_config') and request.read_config.cos_config: + cos_config = { + 'secret_id': request.read_config.cos_config.secret_id, + 'secret_key': request.read_config.cos_config.secret_key, + 'region': request.read_config.cos_config.region, + 'bucket_name': request.read_config.cos_config.bucket_name, + 'app_id': request.read_config.cos_config.app_id, + 'path_prefix': request.read_config.cos_config.path_prefix or '', + } + logger.info(f"Using COS config: region={cos_config['region']}, bucket={cos_config['bucket_name']}") + + if hasattr(request.read_config, 'vlm_config') and request.read_config.vlm_config: + vlm_config = { + 'model_name': request.read_config.vlm_config.model_name, + 'base_url': request.read_config.vlm_config.base_url, + 'api_key': request.read_config.vlm_config.api_key or '', + 'interface_type': request.read_config.vlm_config.interface_type or 'openai', + } + logger.info(f"Using VLM config: model={vlm_config['model_name']}, " + f"base_url={vlm_config['base_url']}, " + f"interface_type={vlm_config['interface_type']}") + chunking_config = ChunkingConfig( chunk_size=chunk_size, chunk_overlap=chunk_overlap, separators=separators, enable_multimodal=enable_multimodal, + cos_config=cos_config, + vlm_config=vlm_config, ) # Parse file @@ -138,11 +166,39 @@ class DocReaderServicer(docreader_pb2_grpc.DocReaderServicer): f"multimodal={enable_multimodal}" ) + # Get COS and VLM config from request + cos_config = None + vlm_config = None + + if hasattr(request.read_config, 'cos_config') and request.read_config.cos_config: + cos_config = { + 'secret_id': request.read_config.cos_config.secret_id, + 'secret_key': request.read_config.cos_config.secret_key, + 'region': request.read_config.cos_config.region, + 'bucket_name': request.read_config.cos_config.bucket_name, + 'app_id': request.read_config.cos_config.app_id, + 'path_prefix': request.read_config.cos_config.path_prefix or '', + } + logger.info(f"Using COS config: region={cos_config['region']}, bucket={cos_config['bucket_name']}") + + if hasattr(request.read_config, 'vlm_config') and request.read_config.vlm_config: + vlm_config = { + 'model_name': request.read_config.vlm_config.model_name, + 'base_url': request.read_config.vlm_config.base_url, + 'api_key': request.read_config.vlm_config.api_key or '', + 'interface_type': request.read_config.vlm_config.interface_type or 'openai', + } + logger.info(f"Using VLM config: model={vlm_config['model_name']}, " + f"base_url={vlm_config['base_url']}, " + f"interface_type={vlm_config['interface_type']}") + chunking_config = ChunkingConfig( chunk_size=chunk_size, chunk_overlap=chunk_overlap, separators=separators, enable_multimodal=enable_multimodal, + cos_config=cos_config, + vlm_config=vlm_config, ) # Parse URL

Ek6ha`i7kl(Cjflvc5HHK8oeu37~!UB_Yh^LBe1 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%0Ay8^0#foSvplgAA{!F#caxKTWx_OPq2y%BH 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