feat(eval): memoir A/B chapter judging and eval-web parity with dialogue
- Judge baseline excerpt and library chapter separately; build_memoir_compare_summary for gate, nine-dim and leaf deltas. - Memoir SSE chapter payload: baseline_judge, compare_summary, baseline_judge_error. - MemoirJudgeOutput: loose score coercion and post-validate clamp; memoir judge prompt caps from settings. - app-eval-web: two-column MemoirScoreCard layout, MemoirCompareSummary, chapter blocks and CSS. - Add memoir_compare_summary, log_events, celery_log_context, memoir_pipeline_progress; tests and migration 0014. - Misc: memory/evidence and enrichment paths, task/orchestrator updates, internal-eval docs, env examples.
This commit is contained in:
@@ -17,6 +17,7 @@ Life Echo API 是一个智能对话系统,通过 WebSocket 实时连接,使
|
||||
- **JSON 模式**:结构化抽取/路由/叙事 JSON 使用 `app/core/langchain_llm.py` 的 `bind_json_object_mode`(与 [DeepSeek JSON Output](https://api-docs.deepseek.com/guides/json_mode) 一致);详见 [`docs/llm-json-mode.md`](docs/llm-json-mode.md)。适配器说明见 [`app/adapters/llm/deepseek.py`](app/adapters/llm/deepseek.py)。
|
||||
- **记忆检索**:异步与 Celery 均使用 **向量(pgvector)** chunks,见 [`docs/memory-retrieval.md`](docs/memory-retrieval.md)。
|
||||
- **Memory compaction**:`.env.example` / [`.env.development`](.env.development) / [`.env.staging`](.env.staging) / [`.env.production`](.env.production) 均默认 `MEMORY_COMPACTION_ENABLED=true`。须运行 **Celery worker** 与 **celery-beat**([`docker-compose.yml`](docker-compose.yml) 已包含 `celery-beat`,用于定期 `memory_compaction_sweep`)。
|
||||
- **Memory LLM enrichment(单次 LLM:会话摘要 + 事实)**:任务路由到 **`memory_idle`** 队列(`CELERY_MEMORY_ENRICHMENT_QUEUE`,默认 `memory_idle`)。本地与 compose 内 worker 已使用 `-Q celery,memory_idle`;生产可单独起低并发 worker 只消费 `memory_idle`,与主队列隔离。
|
||||
|
||||
## 技术栈
|
||||
|
||||
@@ -157,11 +158,11 @@ export REDIS_URL=redis://localhost:6379/0
|
||||
uvicorn main:app --reload --host 0.0.0.0 --port 8000
|
||||
|
||||
# 5. 启动 Celery Worker(终端 2)
|
||||
# macOS 使用 solo 池避免 fork 崩溃问题
|
||||
celery -A tasks.celery_app worker --loglevel=info --pool=solo
|
||||
# macOS 使用 solo 池避免 fork 崩溃问题;须同时消费 memory_idle(Memory 富化)
|
||||
celery -A app.tasks.celery_app worker --loglevel=info --pool=solo -Q celery,memory_idle
|
||||
|
||||
# Linux/生产环境可以使用 prefork 池
|
||||
# celery -A tasks.celery_app worker --loglevel=info --concurrency=4
|
||||
# celery -A app.tasks.celery_app worker --loglevel=info --concurrency=4 -Q celery,memory_idle
|
||||
```
|
||||
|
||||
### 验证服务
|
||||
|
||||
Reference in New Issue
Block a user