Commit Graph

9 Commits

Author SHA1 Message Date
wh
e1eb5e47b1 feat: Phase 1+2 — project setup and core infrastructure
- requirements.txt, config.yaml, .env, Dockerfile, docker-compose.yml
- app/core: config (YAML+env override), logging (JSON structured),
  exceptions (typed hierarchy), json_utils (Markdown fence stripping)
- app/clients: LLMClient ABC + ZhipuAIClient (run_in_executor),
  StorageClient ABC + RustFSClient (boto3 head_object for size check)
- app/main.py: FastAPI app with health endpoint and router registration
- app/core/dependencies.py: lru_cache singleton factories
- tests/conftest.py: mock_llm, mock_storage, test_app, client fixtures
- pytest.ini: asyncio_mode=auto
- 11 unit tests passing
2026-04-10 15:22:45 +08:00
wh
4162d9f4e6 docs: add speckit tasks breakdown for 001-ai-service-requirements
55 tasks across 8 phases, organized by 8 user stories (US1-US8).
TDD order: tests first → models → services → routers per story.
Includes parallel execution guide and incremental delivery strategy.
2026-04-10 15:05:02 +08:00
wh
092f9dbfc5 docs: add speckit planning artifacts for 001-ai-service-requirements
Generated plan.md, research.md, data-model.md, contracts/api.md,
quickstart.md, and CLAUDE.md agent context via /speckit-plan.
2026-04-10 14:58:13 +08:00
wh
e0d080ceea feat: add AI service requirements spec (001-ai-service-requirements)
- 8 user stories (P1-P3): text triple extraction, image quadruple extraction,
  video frame extraction, video-to-text, QA generation (text/image),
  finetune management, health check
- 18 functional requirements covering all 8 API endpoints
- 9 success criteria with measurable metrics
- Technical environment section: Python 3.12.13, FastAPI, conda label env
- Quality checklist: all items pass
2026-04-10 14:51:34 +08:00
wh
10887da4ab docs: add GSTACK eng review report to impl plan 2026-04-10 14:35:15 +08:00
wh
3892c6e60f docs: apply eng review findings to design doc and impl plan
Architecture fixes:
- Image QA: presigned URL → base64 (RustFS is internal, GLM-4V is cloud)
- Add GET /health endpoint + Docker healthcheck
- Video size limit: add get_object_size() to StorageClient ABC, check before background task
- Video size configurable via MAX_VIDEO_SIZE_MB env var (no image rebuild needed)
- Fix image_service.py except clause redundancy (Exception absorbs KeyError/TypeError)

Config additions:
- video.max_file_size_mb: 200 in config.yaml
- MAX_VIDEO_SIZE_MB env override in _ENV_OVERRIDES
2026-04-10 14:34:41 +08:00
wh
f9f84937db docs: add AI service implementation plan
22 tasks covering all 8 endpoints with TDD. Each task includes
test code, implementation code, run commands, and commit step.
2026-04-10 14:15:38 +08:00
wh
f5a43a4bbc docs: add AI service design document v1.0
Covers architecture, adapter layer (LLMClient/StorageClient ABC),
all 8 API endpoints with request/response schemas, service layer logic,
config strategy (config.yaml + .env), logging, exception handling,
RustFS path conventions, and Docker deployment.
2026-04-10 14:02:26 +08:00
wh
54d7a8bf55 first commit 2026-04-08 17:18:43 +08:00