J-Ravuri/langchain-tutorial

GitHub: J-Ravuri/langchain-tutorial

一个基于 LangChain v0.3+ 和 Streamlit 的实战教程,通过企业事件响应场景演示 LCEL 编排、提示词设计与并行 AI 简报生成。

Stars: 0 | Forks: 0

# LangChain Streamlit 教程 此仓库包含用于使用 Streamlit 构建现代 LangChain `v0.3+` 应用的小型、独立的教程章节。 当前项目包含两个章节: - `chapter-1`:原始的企业事件控制中心应用,作为一个独立可运行的项目进行组织。 - `chapter-2`:一个更清晰、专注于教程的版本,重点展示了使用 `RunnableParallel` 的分叉 LCEL 数据流。 每个章节都有自己的 `app.py`、`requirements.txt`、`README.md`、prompt 文档和本地 `.venv`。 ## 仓库布局 ``` . ├── README.md ├── .env.example ├── .gitignore ├── chapter-1 │ ├── README.md │ ├── PROMPTS.md │ ├── app.py │ └── requirements.txt └── chapter-2 ├── README.md ├── PROMPTS.md ├── app.py └── requirements.txt ``` `.venv` 文件夹被 git 特意忽略了。请根据每个章节的 `requirements.txt` 在本地重新创建它们。 ## 前置条件 - Python 3.9 或更高版本 - 一个名为 `OPENAI_API_KEY` 的系统环境变量中可用的 OpenAI API 密钥 检查您的密钥: ``` echo "$OPENAI_API_KEY" ``` 为当前终端会话设置密钥: ``` export OPENAI_API_KEY="your-api-key" ``` ## 运行第 1 章 ``` cd chapter-1 python3 -m venv .venv source .venv/bin/activate python -m pip install -r requirements.txt python -m streamlit run app.py ``` ## 运行第 2 章 ``` cd chapter-2 python3 -m venv .venv source .venv/bin/activate python -m pip install -r requirements.txt python -m streamlit run app.py ``` ## 各章节的教学内容 第 1 章讲解了由 LangChain 驱动的 Streamlit 应用的核心结构: - 从环境变量中读取密钥,而不是将它们硬编码在代码中 - 创建 `ChatOpenAI` 模型 - 使用 `ChatPromptTemplate` - 使用 `StrOutputParser` 解析模型输出 - 在 Streamlit 中渲染模型输出 第 2 章讲解了编排: - 使用 LCEL 管道语法:`prompt | model | parser` - 将一个输入分叉为两个协同的工作流 - 使用 `RunnableParallel` 运行这些工作流 - 为多个业务受众设计同一个技术输入 - 向工作中的专业人士讲解 LangChain 数据流 ## Git 提交注意事项 可以安全提交的文件: - `README.md` - `.env.example` - `.gitignore` - `chapter-1/app.py` - `chapter-1/README.md` - `chapter-1/PROMPTS.md` - `chapter-1/requirements.txt` - `chapter-2/app.py` - `chapter-2/README.md` - `chapter-2/PROMPTS.md` - `chapter-2/requirements.txt` 请勿提交的文件: - `.venv/` - `.env` - `.streamlit/secrets.toml` - `__pycache__/` - 本地日志或临时文件 ## 验证 在仓库根目录下执行: ``` PYTHONPYCACHEPREFIX=/tmp/langchain-tutorial-pycache chapter-1/.venv/bin/python -m py_compile chapter-1/app.py PYTHONPYCACHEPREFIX=/tmp/langchain-tutorial-pycache chapter-2/.venv/bin/python -m py_compile chapter-2/app.py ``` 该应用仅在点击 Streamlit 按钮后才会调用 OpenAI。 ## 故障排除 如果您的终端提示 `zsh: command not found: streamlit`,请使用模块形式运行: ``` python -m streamlit run app.py ``` 该命令会使用活动虚拟环境中的 Python,而不依赖于 shell 去查找 `streamlit` 控制台脚本。
标签:AI教程, Kubernetes, LangChain, LCEL, Petitpotam, Streamlit, 应急响应模拟, 访问控制, 轻量级, 逆向工具