
本系列共 9 篇,从空目录搭到可部署的 Python RAG 知识库。这是第 4 篇。 文件已经进了 MinIO,数据库里只有一条“待解析”的记录。这一篇把它变成一堆带标题路径的切片:解析五种格式、按标题和句子切块、把切片落库,再用定时任务兜住失败和卡死的任务。 图:知识库参数,切片长度、重叠与切片策略决定解析结果。 一、解析器:纯函数,不碰数据库 解析层只做一件事:字节 → 带结构的文本块。ParsedBlock 里两个字段,text…

本系列共 9 篇,从空目录搭到可部署的 Python RAG 知识库。这是第 3 篇。 登录和数据库通了,现在开始做业务。这一篇完成后:能创建知识库、上传一份文件、在文档列表里看到它,并且重复上传同一个文件不会产生两条记录。 图:文档管理,上传后可切片、预览、重建。 一、知识库:先有一个“容器” 知识库表里除了名称、简介,还存了后续检索要用的参数:切片大小、重叠长度、topK、相似度阈值。这些参数跟着库走,而不是写死在代码里。 clas…

本系列共 9 篇,从空目录搭到可部署的 Python RAG 知识库。这是第 2 篇。 第 1 篇只让服务能启动;这一篇让它“认识人”和“存住数据”。完成后:不带 token 访问受保护接口返回 401,用认证中心的 ticket 换到本地 token 后能正常访问,并且所有查询都自动限定在当前租户内。 图:用量统计按租户统计文档、切片、存储、问答与 AI 调用,套餐配额单列。 一、先建表:8 张业务表 + 1 张向量表 业务数据放 P…

本系列共 9 篇,目标是从一个空目录开始,搭出一套能上传文档、能检索、能带出处回答的 Python AI 知识库。这是第 1 篇。 这一篇不碰业务,只做三件事:把项目骨架立起来、把配置和返回格式定好、让服务能启动并通过健康检查。听起来简单,但这三件事如果一开始没定好,后面每加一个接口都要返工。 图:服务跑起来后,知识库列表能看到两个库及切片与检索参数。 一、先看最终形态 本篇只创建最小的目录,后面每篇往里加东西: kb-api/ ├─ …

「FastAPI & SQLAlchemy 实战」系列共 10 篇,从协程基础讲到数据库接口。这是最后一篇。 结论:用 Depends(get_db) 给每个请求注入一个 Session,接口里只做业务逻辑;请求结束自动关闭会话。这样就把前面学的 FastAPI 和 SQLAlchemy 接成了一套可运行的服务。 一、项目结构 myproject/ ├── main.py # FastAPI 接口 ├── base.py # Base …

「FastAPI & SQLAlchemy 实战」系列共 10 篇,从协程基础讲到数据库接口。这是第 9 篇。 结论:SQLAlchemy 的 CRUD 都围绕 Session:add + commit 新增,改属性 + commit 更新,delete + commit 删除,query/get 查询。关联关系用 relationship 配置。 一、新增 from datetime import date def insert_da…

「FastAPI & SQLAlchemy 实战」系列共 10 篇,从协程基础讲到数据库接口。这是第 8 篇。 结论:SQLAlchemy 用三层完成数据库操作:Engine 管连接,Base 管表结构,Session 管一次会话里的增删改查。 一、ORM 是什么 ORM 把表映射成类、把行映射成对象:Department 类对应 departments 表,一个 Department 对象对应一行记录。好处是屏蔽数据库差异、少写 SQ…

「FastAPI & SQLAlchemy 实战」系列共 10 篇,从协程基础讲到数据库接口。这是第 7 篇。 结论:POST/PUT 的 JSON 数据用 Pydantic 模型接收;项目变大后,用 APIRouter 按模块拆路由,主应用只负责挂载。 一、请求体:用 BaseModel 定义结构 from fastapi import FastAPI from pydantic import BaseModel class Item…

「FastAPI & SQLAlchemy 实战」系列共 10 篇,从协程基础讲到数据库接口。这是第 6 篇。 结论:路径里的 {name} 是路径参数,其余函数参数默认是查询参数;类型注解决定转换和校验,类型不对 FastAPI 自动返回 422。 一、路径参数:自动转换类型 @app.get("/items/{item_id}") async def read_item(item_id: int): return {"item_id…

「FastAPI & SQLAlchemy 实战」系列共 10 篇,从协程基础讲到数据库接口。这是第 5 篇。 结论:FastAPI 的最小程序只有三部分:FastAPI() 实例、路径装饰器、处理函数。启动后访问 /docs 就能看到自动生成的接口文档。 一、安装与最小程序 pip install fastapi uvicorn from fastapi import FastAPI app = FastAPI() @app.get(…
最新评论
干货满满!
江苏省 南京市 · IP 49.91.145.*
我要看文章
重庆市 · IP 116.168.9.*
这个内容实在是太精彩啦
重庆市 · IP 123.147.232.*