无服务器kb-mcp
AWS上的企业无服务器文档摄取和语义检索。
英语| 简体中文
此存储库是一个多表面工作区,而不是一个单一用途的应用程序外壳。
- Python工作区的根目录为
ocr-service/pyproject.toml和ocr-service/uv.lock. - 核心后端服务位于
ocr-service/ocr-pipeline/. - 基础设施和部署代码在
infra/cdk/. - 仅供参考的工作流示例
examples/workflows/workflow_reference_only/. - 文档中心位于
docs/.
概览
| 项目 | 详细信息 |
|---|---|
| 主要入口点 | Ingest Lambda |
| 存储库标识 | serverless-kb-mcp |
| Python工作区根目录 | ocr-service/ |
| 服务源根 | ocr-service/ocr-pipeline/ |
| 文档中心 | docs/README.md |
| 验证模型 | GitHub Actions PR工作流程和检查 |
它提供了什么
- 具有版本感知功能的文档摄取
version_id作为主要身份。 - 具有确定性轮询和结果收集的异步OCR编排。
- 提取结果、块资产和可重放工件的结构化清单。
- 用于多模型或多维设置的轮廓隔离嵌入和矢量存储。
- 查询时间护栏,在返回检索结果之前重新检查对象状态。
存储库形状
存储库是围绕运行时流组织的,而不是一个单一的整体包。
S3发出文档事件。S3 Event Notification将事件传递给SQS ingest queue.Ingest Lambda验证对象版本,应用幂等性检查,并启动Step Functions Standard.Step Functions Standard协调OCR提交、轮询、结果获取、清单生成和嵌入作业调度。- Extract workers将结构化工件持久化到清单桶中。
Embed Lambda消耗嵌入作业并将向量写入配置的向量后端。
这种布局使公共表面积保持较小,同时在工作流程内保持清晰的操作边界。
服务边界
服务包现在物理上已扎根于 ocr-service/ocr-pipeline/src/serverless_mcp/.
ocr-service/pyproject.toml点serverless-mcp-service在ocr-service/ocr-pipeline/源树。ocr-service/ocr-pipeline/README.md记录包级边界和当前模块布局。ocr-service/ocr-pipeline/src/serverless_mcp/__init__.py是一个普通的包初始化器,而不是兼容性填充程序。
文档
Python工具链
- 使用
uv sync --locked --project ocr-service准备Python环境。 - 使用
uv run --project ocr-service pytest -q,uv run --project ocr-service ruff check .,以及uv run --project ocr-service python ...对于默认的本地验证循环。 - 对待
ocr-service/pyproject.toml和ocr-service/uv.lock作为Python依赖关系的唯一真实来源。 - 保持日常发展在紫外线路径上;不要重新引入特设
pip或venv引导步骤。
本地化版本
| 区域设置 | 输入 |
|---|---|
| 英语 | README.md |
| 简体中文 | i18n/README.zh-CN.md |
验证
- Pull请求通过GitHub Actions工作流和检查进行验证。
- 基础设施和运行时的更改应继续遵循存储库的记录护栏。
- 文档更新应使交叉链接与文档中心和语言登录页保持一致。
