feat: InferenceEngine chat/chat_structured 全流程 + 文档补丁(补丁1/2/3)

This commit is contained in:
lhl
2026-08-09 08:26:37 +08:00
parent add7b1503c
commit 8bc5e5e571
8 changed files with 495 additions and 13 deletions
+2
View File
@@ -111,6 +111,8 @@ class StructuredResult:
prompt_version: str
usage: TokenUsage
duration_ms: int
status: Literal["ok", "fallback", "parse_error", "failed"] # 补丁 1:诊断状态
error: str | None = None # 失败原因(parse_error/failed 时附带)
```
### 2.3 模型管理
+13 -12
View File
@@ -296,18 +296,19 @@ docker-compose.yml(扩展):
## 7. 错误码约定
| 错误码 | HTTP | 含义 | 用户选项 |
|--------|------|------|---------|
| `FILE_TYPE_INVALID` | 400 | 文件类型不支持 | 更换文件 |
| `FILE_TOO_LARGE` | 400 | 超过 100MB 限制 | 压缩/分割 |
| `STATE_TRANSITION_INVALID` | 409 | 非法状态转移(如 uploading 直接 generate| 提示正确流程 |
| `LLM_TIMEOUT` | 502 | LLM 调用超时 | retry / skip / abort |
| `LLM_PARSE_ERROR` | 502 | 结构化输出解析失败 | retry |
| `EMBEDDING_FAILED` | 503 | Embedding 服务故障(降级为 BM25)| 继续(降级提示)|
| `RULES_HANDBOOK_MISSING` | 404 | 规则手册不存在 | 上传规则文档 |
| `CHAPTER_NOT_FOUND` | 404 | 章节不存在 | — |
| `CONFLICT_PENDING` | 409 | 规则冲突待用户决策 | 决策后继续 |
| `INTERNAL_ERROR` | 500 | 未知错误 | 重试/联系支持 |
| 错误码 | HTTP | 含义 | 用户选项 | 来源 |
|--------|------|------|---------|------|
| `FILE_TYPE_INVALID` | 400 | 文件类型不支持 | 更换文件 | — |
| `FILE_TOO_LARGE` | 400 | 超过 100MB 限制 | 压缩/分割 | — |
| `STATE_TRANSITION_INVALID` | 409 | 非法状态转移(如 uploading 直接 generate| 提示正确流程 | — |
| `LLM_TIMEOUT` | 502 | LLM 调用超时 | retry / skip / abort | exceptions.LLMTimeoutError |
| `LLM_NOT_CONFIGURED` | 503 | LLM Key 未配置 | 配置 Key | exceptions.LLMNotConfiguredError |
| `LLM_PARSE_ERROR` | 502 | 结构化输出解析失败 | retry | exceptions.LLMResponseError |
| `EMBEDDING_FAILED` | 503 | Embedding 服务故障(降级为 BM25)| 继续(降级提示)| — |
| `RULES_HANDBOOK_MISSING` | 404 | 规则手册不存在 | 上传规则文档 | — |
| `CHAPTER_NOT_FOUND` | 404 | 章节不存在 | — | — |
| `CONFLICT_PENDING` | 409 | 规则冲突待用户决策 | 决策后继续 | — |
| `INTERNAL_ERROR` | 500 | 未知错误 | 重试/联系支持 | — |
---
+1 -1
View File
@@ -133,7 +133,7 @@ models:
timeout_sec: 90
llm_calls:
token_estimation: tiktoken # tiktoken | approximate
token_estimation: tiktoken # tiktoken | approximatetiktoken 缺失自动回落 approximate(内置估算器)
max_context_tokens: 32000 # 上下文窗口上限
truncation_policy: # 超限裁剪策略(runtime §2.6
priority: