这个 tutorial 目标是做一个简单的 LLM workflow,让它同时访问:
SQLite:查时间、地点、DDL 这类结构化信息AlayaLite:查 FAQ、说明文档这类文本信息
你可以问三类问题:
2026-04-18 下午的实验在哪个教室?如果 pip 安装失败,建议怎么排查?参加 2026-04-18 下午的实验,我现在要准备什么?
你还可以导出一张 workflow 图,看到这套流程是怎么串起来的。
这一步会在当前目录创建一个独立 Python 环境,避免污染系统环境。
python3 -m venv .venv激活后,后面的 pip 和 python 都会使用这个项目自己的环境。
source .venv/bin/activateWindows PowerShell:
.venv\Scripts\Activate.ps1安装 LangChain、LangGraph、AlayaLite 和其他运行所需依赖。
pip install -r requirements.txt复制一份配置模板,后面把模型 key 填进去。
cp .env.example .env把 .env 改成这组:
OPENAI_API_KEY=你的腾讯云对话 key
OPENAI_BASE_URL=https://api.lkeap.cloud.tencent.com/v1
OPENAI_MODEL=deepseek-v3.2
DASHSCOPE_API_KEY=你的百炼 key
OPENAI_EMBEDDING_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
OPENAI_EMBEDDING_MODEL=text-embedding-v2这套配置的含义是:
- 聊天模型走腾讯云 DeepSeek
- embedding 走阿里云百炼
这一步会做两件事:
- 读取 sessions.csv 和 deadlines.csv,生成本地 SQLite
- 扫描 data/vdb 里的文本文件,作为向量检索的数据源
SQLite 会有两张表:
sessionsdeadlines
python scripts/prepare_lab.py运行后会生成:
如果你想改数据:
- 改结构化数据:编辑 sessions.csv 或 deadlines.csv
- 改文本数据:在 data/vdb 里增删
.txt文件
改完后重新跑一遍:
python scripts/prepare_lab.py这一步不会调用模型,只会把 LangGraph workflow 导出成一张图,方便先看结构。
python -m app.cli --draw-workflow运行后会生成:
如果你想导出 Mermaid 原始文件:
python -m app.cli --draw-workflow workflow-graph.mmd先跑一个 SQL 问题:
python -m app.cli --question "2026-04-18 下午的实验在哪个教室?"向量检索问题:
python -m app.cli --question "如果 pip 安装失败,建议怎么排查?"混合问题:
python -m app.cli --question "参加 2026-04-18 下午的实验,我现在要准备什么?"CLI 会打印:
routesqlvectoranswer
如果第三个问题也能答好,说明这套 workflow 已经串起来了。
- workflow.py:workflow 怎么连起来
- alaya_store.py:AlayaLite 怎么建索引和检索
- data.py:SQLite 数据和文本数据从哪里来
表现:包装到了系统 Python,程序跑不起来。
表现:模型调用报 401、403 或 embedding 调用失败。
检查 Key 是否填写正确,是否有权限调用。
程序会先做 embedding,再建 AlayaLite 索引。
SQL 类问题尽量带完整日期。