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
MerCry
2594652cc3
初始化初始文档
2026-02-24 12:08:24 +08:00
MerCry
988cc229a6
Initial commit
2026-02-24 04:05:29 +00:00