MerCry
d8f440077a
fix: 修正DeepSeek配置示例并更新Docker Compose语法 [AC-AISVC-01]
...
- DeepSeek使用deepseek作为provider而非openai
- 更新所有docker-compose命令为docker compose (V2语法)
2026-02-26 01:39:46 +08:00
MerCry
f2d29dc2c4
feat: 添加Ollama服务支持嵌入模型部署 [AC-AISVC-01]
...
- docker-compose.yaml 添加 Ollama 容器
- 更新 .env.example 添加 Ollama 配置
- README 添加模型拉取步骤和架构图更新
2026-02-26 01:28:08 +08:00
MerCry
0b435a4b57
docs: 更新README,添加Docker部署指南
2026-02-26 01:24:40 +08:00
MerCry
adc78a6b9b
feat: 添加Docker容器部署配置 [AC-AISVC-01]
...
- 添加 ai-service 后端 Dockerfile (Python 3.11 + uv)
- 添加 ai-service-admin 前端 Dockerfile (Node 20 + nginx)
- 添加 docker-compose.yaml 编排文件 (含postgres/qdrant)
- 添加 nginx.conf 前端反向代理配置
- 添加 .dockerignore 文件
- 添加 .env.example 环境变量示例
2026-02-26 01:22:30 +08:00
MerCry
1e3fe808e8
Merge pull request '[AC-AISVC-02, AC-AISVC-16] 多个需求合并' ( #1 ) from feature/prompt-unification-and-logging into main
...
Reviewed-on: http://ashai.com.cn:3005/MerCry/ai-robot-core/pulls/1
2026-02-25 17:17:35 +00:00
MerCry
f631f1dea0
feat: 统一提示词模板并添加全量提示词日志 [AC-AISVC-02, AC-ASA-19, AC-ASA-20]
...
PR Check (SDD Full Gate) / sdd-full-gate (pull_request) Successful in 2s
Details
- 新增 prompts.py 集中管理系统提示词和证据格式化
- orchestrator.py 添加全量提示词日志打印
- openai_client.py 添加全量提示词日志打印(支持普通和流式)
- rag.py 重构使用统一的提示词模板
2026-02-26 01:12:01 +08:00
MerCry
dd74ae2585
feat: 切换到优化检索器并增强编排日志 [AC-AISVC-02, AC-AISVC-16]
2026-02-25 23:45:34 +08:00
MerCry
717d5328cf
docs: 更新 progress 文档,记录 Phase 9 完成状态 [AC-AISVC-10]
2026-02-25 23:44:28 +08:00
MerCry
02f03a3a12
feat: RAG 配置优化与检索日志增强 [AC-AISVC-16, AC-AISVC-17]
2026-02-25 23:42:31 +08:00
MerCry
cee884d9a0
feat: RAG 检索优化,实现多维度向量存储和 Nomic 嵌入提供者 [AC-AISVC-16, AC-AISVC-29]
2026-02-25 23:10:12 +08:00
MerCry
774744d534
feat: 文档索引优化,支持多编码解码和按行分块 [AC-AISVC-21, AC-AISVC-22]
2026-02-25 23:09:24 +08:00
MerCry
ac8c33cf94
feat: 实现租户管理功能,支持租户ID格式校验与自动创建 [AC-AISVC-10, AC-AISVC-12, AC-ASA-01]
2026-02-25 23:08:36 +08:00
MerCry
a23f1a2089
docs: 更新任务清单,添加 Phase 9 租户管理与 RAG 优化任务 [AC-AISVC-10, AC-ASA-01]
2026-02-25 23:07:34 +08:00
MerCry
eb45629b67
fix: LLM选择器当前配置标签显示逻辑 [AC-ASA-14, AC-ASA-15]
...
- 修复placeholder动态显示当前配置提供者名称
- 添加computedPlaceholder计算属性
- 优化标签显示逻辑,区分'当前配置'和'已选择'
2026-02-25 14:46:24 +08:00
MerCry
10591ea8fd
feat: 优化RAG客服回复prompt模板 [AC-ASA-05, AC-ASA-19]
...
- 重构客服角色设定,增加系统指令部分
- 添加口语化、亲切语气等7项客服准则
- 优化知识库内容引用格式
- 移除暴露AI身份的提示词
2026-02-25 14:45:38 +08:00
MerCry
08e84d194f
feat: RAG实验室参数持久化与LLM选择器优化 [AC-ASA-05, AC-ASA-14, AC-ASA-15]
...
- 新增ragLab store,使用localStorage持久化RAG实验参数
- 修复LLM选择器placeholder显示逻辑,正确显示当前配置
- 添加'已选择'标签区分用户选择与系统默认配置
- 优化下拉框样式防止标签被遮挡
2026-02-25 14:45:17 +08:00
MerCry
4579159c0a
feat(ui): 前端浅色调风格优化与下拉框显示修复
...
- 建立全局浅色调样式系统,统一配色风格
- 优化导航栏设计,添加品牌标识
- 修复下拉框被遮挡问题,添加 teleported 和 popper 配置
- 优化 LLM 选择器中当前配置标签的显示
- 重构控制台页面,采用白色卡片风格
- 统一所有页面的视觉风格,提升用户体验
2026-02-25 14:06:37 +08:00
MerCry
935dcd1611
feat(ASA-P5,P6): 实现嵌入管理与LLM配置API服务层 [AC-ASA-08~AC-ASA-15]
2026-02-25 01:34:20 +08:00
MerCry
fc53fdc6ac
feat(AISVC-T8): LLM配置管理与RAG调试输出支持 [AC-AISVC-42, AC-AISVC-43, AC-AISVC-44, AC-AISVC-45, AC-AISVC-46, AC-AISVC-47, AC-AISVC-48, AC-AISVC-49, AC-AISVC-50]
...
- 新增 LLMProviderFactory 工厂类支持 OpenAI/Ollama/Azure [AC-AISVC-42]
- 新增 LLMConfigManager 支持配置热更新 [AC-AISVC-43, AC-AISVC-44]
- 新增 LLM 管理 API 端点 [AC-AISVC-42~AC-AISVC-46]
- 更新 RAG 实验接口支持 AI 回复生成 [AC-AISVC-47, AC-AISVC-49]
- 新增 RAG 实验流式输出 SSE [AC-AISVC-48]
- 支持指定 LLM 提供者 [AC-AISVC-50]
- 更新 OpenAPI 契约添加 LLM 管理接口
- 更新前后端规范文档 v0.4.0 迭代
2026-02-25 01:25:53 +08:00
MerCry
559d8c0c53
feat(ASA-P5): PDF智能分块处理,使用tiktoken按token分块并保留页码元数据 [AC-ASA-01]
2026-02-25 01:16:59 +08:00
MerCry
e9fee2f80e
feat(AISVC): Excel/CSV parser converts to JSON format for better RAG retrieval [AC-AISVC-35]
...
- ExcelParser: convert spreadsheet data to JSON records with header as keys
- CSVParser: convert CSV data to JSON records preserving structure
- Add _sheet field to identify worksheet source in Excel output
- Preserve numeric types (int/float/bool) in JSON output
- Support UTF-8 and GBK encoding fallback for CSV files
2026-02-25 01:12:07 +08:00
MerCry
f2116b95f2
feat(ASA-P5): 实现动态配置表单与测试连接组件 [AC-ASA-09, AC-ASA-10, AC-ASA-11, AC-ASA-12]
2026-02-24 23:31:36 +08:00
MerCry
c1d76093aa
feat(AISVC-T7): 嵌入模型可插拔设计与文档解析支持 [AC-AISVC-29, AC-AISVC-30, AC-AISVC-31, AC-AISVC-32, AC-AISVC-33, AC-AISVC-34, AC-AISVC-35, AC-AISVC-36, AC-AISVC-37, AC-AISVC-38, AC-AISVC-39, AC-AISVC-40, AC-AISVC-41]
...
- 新增 EmbeddingProvider 抽象基类和工厂模式 [AC-AISVC-29, AC-AISVC-30]
- 实现 OllamaEmbeddingProvider 和 OpenAIEmbeddingProvider [AC-AISVC-29, AC-AISVC-30]
- 新增 EmbeddingConfigManager 支持配置热更新 [AC-AISVC-31, AC-AISVC-32]
- 新增 DocumentParser 抽象接口和工厂类 [AC-AISVC-33]
- 实现 PDF/Word/Excel/Text 文档解析器 [AC-AISVC-33, AC-AISVC-34, AC-AISVC-35]
- 新增嵌入管理 API 端点 [AC-AISVC-38, AC-AISVC-39, AC-AISVC-40, AC-AISVC-41]
- 更新文档上传流程支持多格式文档解析 [AC-AISVC-36, AC-AISVC-37]
- 更新 OpenAPI 契约添加嵌入管理接口
- 添加数据库初始化脚本
- 更新规范文档标记 Phase 7 完成
2026-02-24 23:08:08 +08:00
MerCry
4b64a4dbf4
feat(AISVC-T6.9): 集成Ollama嵌入模型修复RAG检索问题
...
## 问题修复
- 替换假嵌入(SHA256 hash)为真实Ollama nomic-embed-text嵌入
- 修复Qdrant客户端版本不兼容导致score_threshold参数失效
- 降低默认分数阈值从0.7到0.3
## 新增文件
- ai-service/app/services/embedding/ollama_embedding.py
## 修改文件
- ai-service/app/api/admin/kb.py: 索引任务使用真实嵌入
- ai-service/app/core/config.py: 新增Ollama配置,向量维度改为768
- ai-service/app/core/qdrant_client.py: 移除score_threshold参数
- ai-service/app/services/retrieval/vector_retriever.py: 使用Ollama嵌入
2026-02-24 22:15:53 +08:00
MerCry
5148c6ef42
feat(AISVC-T6.9): 前后端接口对接修正及Dashboard/RAG Lab功能完善
...
## 后端修改
- 新增 Dashboard 统计 API (/admin/dashboard/stats)
- 新增知识库列表 API (/admin/kb/knowledge-bases),返回文档数量
- 会话列表 API 新增 tenantId 字段
- KBService 新增 list_knowledge_bases 方法
## 前端修改
- Dashboard 页面对接真实后端 API
- RAG Lab 知识库选择器显示文档数量
- Monitoring 页面修复数据映射
- 新增 dashboard.ts API 文件
- kb.ts 新增 listKnowledgeBases 函数
2026-02-24 19:59:26 +08:00
MerCry
8731beaeb5
feat(ai-service-admin): v0.2.0 前端对接真实后端 API
2026-02-24 18:18:43 +08:00
MerCry
fb3c8ca2aa
feat(ai-service): v0.2.0 前后端联调真实对接
...
实现内容:
- 新增知识库实体模型 (KnowledgeBase, Document, IndexJob)
- 新增 KBService 服务层,支持文档上传、存储、索引任务管理
- 实现知识库管理 API 真实对接 (POST/GET /admin/kb/documents)
- 实现索引任务状态查询 API (GET /admin/kb/index/jobs/{jobId})
- 实现 RAG 实验室真实向量检索 (POST /admin/rag/experiments/run)
- 实现会话监控真实数据库查询 (GET /admin/sessions)
规范更新:
- requirements.md: v0.1.0 -> v0.2.0, 新增 AC-AISVC-21~28
- tasks.md: v0.1.0 -> v0.2.0, 新增 Phase 6 (9个任务)
- openapi.admin.yaml: L0 -> L1, 更新 x-requirements 映射
验收标准: AC-AISVC-21, AC-AISVC-22, AC-AISVC-23, AC-AISVC-24,
AC-AISVC-25, AC-AISVC-26, AC-AISVC-27, AC-AISVC-28
2026-02-24 18:16:29 +08:00
MerCry
193178f28d
docs: update ai-service-admin progress with backend implementation [AC-ASA-01, AC-ASA-02, AC-ASA-05, AC-ASA-07, AC-ASA-08, AC-ASA-09]
2026-02-24 16:11:23 +08:00
MerCry
2e5ddc3653
feat: implement admin management APIs [AC-ASA-01, AC-ASA-02, AC-ASA-05, AC-ASA-07, AC-ASA-08, AC-ASA-09]
2026-02-24 16:10:27 +08:00
MerCry
1230b4005a
feat(asa): implement ai-service-admin infrastructure and modules [AC-ASA-01]
2026-02-24 14:54:14 +08:00
MerCry
210af26f5f
feat: add ai-service-admin dependency contract [AC-ASA-01]
2026-02-24 14:52:21 +08:00
MerCry
2ffcb16861
chore(spec): confirm open questions + add list endpoints [AC-ASA-01]
2026-02-24 14:20:22 +08:00
MerCry
60953a14c5
docs(spec): add frontend design for ai-service-admin [AC-ASA-01]
2026-02-24 14:09:53 +08:00
MerCry
71e966d62a
docs(ai-service): update progress files [AISVC-ALL] all phases completed
...
- Update spec/ai-service/progress.md with Phase 3 completion details
- Update spec/ai-service/tasks.md status to completed
- All 5 phases (23 tasks) completed: T1.1-T1.6, T2.1-T2.5, T3.1-T3.5, T4.1-T4.4, T5.1-T5.3
- 184 tests passing
- All AC markers covered: AC-AISVC-01~AC-AISVC-20
2026-02-24 14:02:33 +08:00
MerCry
b97b09677d
docs: update progress for Phase 1 and Phase 2 completion [AC-AISVC-01~AC-AISVC-20]
2026-02-24 13:59:55 +08:00
MerCry
43ce9837a1
feat(ai-service): add contract validation tests for T3.5 [AC-AISVC-02]
...
- Verify ChatResponse fields match OpenAPI contract
- Test required fields: reply, confidence, shouldTransfer
- Test optional fields: transferReason, metadata
- Test JSON serialization uses camelCase (by_alias=True)
- Test confidence range validation [0.0, 1.0]
- Test ChatRequest contract compliance
- Test ErrorResponse contract compliance
- Test SSEFinalEvent matches ChatResponse structure
- Test SSEErrorEvent matches ErrorResponse structure
- Add end-to-end contract validation with OrchestratorService
- All 184 tests passing
2026-02-24 13:55:17 +08:00
MerCry
e4dc3d97e2
feat(ai-service): add Phase 5 integration and contract tests [AC-AISVC-10,11,17,18]
...
- Add multi-tenant integration tests (test_integration_tenant.py)
- Add RAG smoke tests (test_rag_smoke.py)
- Add API contract tests (test_contract.py)
- 184 tests passing
- Phase 4 & 5 complete
2026-02-24 13:53:55 +08:00
MerCry
6d54030e0d
feat(ai-service): implement complete Orchestrator generation pipeline for T3.4 [AC-AISVC-01, AC-AISVC-02]
...
- Integrate Memory, ContextMerger, Retriever, LLMClient, ConfidenceCalculator
- Implement 8-step generation pipeline:
1. Load local history from Memory
2. Merge with external history (dedup + truncate)
3. RAG retrieval (optional)
4. Build prompt with context and evidence
5. LLM generation
6. Calculate confidence
7. Save messages to Memory
8. Return ChatResponse
- Add GenerationContext dataclass for tracking intermediate results
- Implement fallback response mechanism for error handling
- Add 21 unit tests for OrchestratorService
- All 138 tests passing
2026-02-24 13:47:12 +08:00
MerCry
00953196c9
feat(ai-service): implement SSE state machine and error handling [AC-AISVC-08, AC-AISVC-09]
...
- Integrate state machine in API layer for proper event sequencing
- Ensure message* -> final/error -> close sequence
- Prevent events after final/error
- Convert streaming exceptions to error events
- Add comprehensive state machine tests
- 117 tests passing
2026-02-24 13:32:59 +08:00
MerCry
66fa2d2677
feat(ai-service): implement confidence calculation for T3.3 [AC-AISVC-17, AC-AISVC-18, AC-AISVC-19]
...
- Add ConfidenceCalculator class for confidence scoring
- Implement retrieval insufficiency detection (hit count, score threshold, evidence tokens)
- Implement confidence calculation based on retrieval scores
- Implement shouldTransfer logic with configurable threshold
- Add transferReason for low confidence scenarios
- Add comprehensive unit tests (19 test cases)
- Update config with confidence-related settings
2026-02-24 13:31:42 +08:00
MerCry
c9f2c1eb3a
feat(ai-service): implement SSE event generator for message events [AC-AISVC-07]
...
- Optimize Orchestrator streaming output with LLM client integration
- Implement _stream_from_llm() to wrap LLM chunks as message events
- Implement _stream_mock_response() for demo/testing
- Add SSE event format tests (message/final/error)
- Fix by_alias=True for final event JSON output
- 79 tests passing
2026-02-24 13:28:10 +08:00
MerCry
550d0d8498
feat(ai-service): implement context merging for T3.2 [AC-AISVC-14, AC-AISVC-15]
...
- Add ContextMerger class for combining local and external history
- Implement message fingerprint computation (SHA256 hash)
- Implement deduplication: local history takes priority
- Implement token-based truncation using tiktoken
- Add comprehensive unit tests (20 test cases)
2026-02-24 13:26:37 +08:00
MerCry
4cee28e9f4
docs: mark Phase 1 and Phase 2 tasks as completed [AC-AISVC-01~AC-AISVC-20]
2026-02-24 13:22:56 +08:00
MerCry
92cef20a86
test(ai-service): add Retrieval layer unit tests [AC-AISVC-10, AC-AISVC-16, AC-AISVC-17]
2026-02-24 13:22:04 +08:00
MerCry
e99d324398
docs: add ai-service progress tracking [AC-AISVC-06]
2026-02-24 13:20:11 +08:00
MerCry
0a167d69f0
feat(ai-service): implement LLM Adapter for T3.1 [AC-AISVC-02, AC-AISVC-06]
...
- Add LLMClient abstract base class with generate/stream_generate interfaces
- Implement OpenAIClient with httpx for OpenAI-compatible API calls
- Add retry logic with tenacity for timeout handling
- Support both non-streaming and streaming generation
- Add comprehensive unit tests for LLM Adapter
- Fix entities.py JSON column type for SQLModel compatibility
2026-02-24 13:19:38 +08:00
MerCry
cc70ffeca6
docs: confirm open questions and update design [AC-AISVC-01]
2026-02-24 13:00:08 +08:00
MerCry
1b73706574
docs: add ai-service design [AC-AISVC-01]
2026-02-24 12:54:59 +08:00
MerCry
2fdc91a54c
docs: add ai-service provider openapi [AC-AISVC-01]
2026-02-24 12:43:57 +08:00
MerCry
78fec1fc8e
docs: add ai-service requirements [AC-AISVC-01]
2026-02-24 12:35:28 +08:00