ai-evals-course/recipe-chatbot

GitHub: ai-evals-course/recipe-chatbot

围绕食谱聊天机器人构建的 AI 评估实战课程,通过五个递进作业教授 LLM 应用的系统化评估与改进方法。

Stars: 319 | Forks: 302

# 食谱聊天机器人 - AI 评估课程 本代码库包含了一门围绕食谱聊天机器人构建的完整 AI 评估课程。通过 5 个循序渐进的家庭作业,你将学习评估和改进 AI 系统的实用技巧。 ## 快速开始 1. **克隆与设置** git clone https://github.com/ai-evals-course/recipe-chatbot.git cd recipe-chatbot uv sync source .venv/bin/activate 2. **配置环境** cp env.example .env # 编辑 .env 以添加你的模型和 API 密钥 3. **运行聊天机器人** uv run uvicorn backend.main:app --reload --reload-include '*.md' # 打开 http://127.0.0.1:8000 ## 课程概述 **附加内容**:[使用 AI 辅助编程解决作业问题](https://link.courses.maven.com/c/eJw80M2upCAQBeCngZ0Gil8XLGbja5gCymkTbAyoyX37id2Tu6rUl7OoOqm-ajuXLQeQk554qlfr9OxST8rxHHQWMhpOQTrrrFIgNacdt7Kkgr2H2CrmhP38r-fPQYHerZZCmdP7Xr5-XVsOR6t5hKSzIXKDB2MHnQwNHiQMWhIJQ-C9Q_4K3mmbY1zRC_LZw-Scw9XHKCe_Kot8CyDACimMdFIpNRpjwGaX_JogSeuZFt9_-rjjTe8x1Z1vfVlb3ZePhBlLJ17C6zyPztQfBjOD-TfNYD6wFXwnGgrGzmCmG8szQYAZFIO5_5SC8Xpsr_kq9El5J4ziLWwdMY1rwfPFtPj7VPE54w7wLwAA__8a93gB) ![AI 辅助编程演示位置](https://raw.githubusercontent.com/ai-evals-course/recipe-chatbot/main/homeworks/imgs/AIHwWalkthrough.png) ### 作业进度 1. **HW1:基础 Prompt 工程** (`homeworks/hw1/`) - 编写系统 prompt 并扩展测试查询 - 演示:查看 HW2 的演示以获取 HW1 的内容 2. **HW2:错误分析与失败分类** (`homeworks/hw2/`) - 系统性的错误分析和失败模式识别 - **互动演示**: - 代码:`homeworks/hw2/hw2_walkthrough.ipynb` - [视频 1](https://youtu.be/h9oAAAYnGx4):代码演示 - [视频 2](https://youtu.be/AKg27L4E0M8):开放式与轴向编码演示 3. **HW3:LLM-as-Judge 评估** (`homeworks/hw3/`) - 使用 `judgy` 库进行自动化评估 - **互动演示**: - 代码:`homeworks/hw3/hw3_walkthrough.ipynb` - [视频](https://youtu.be/1d5aNfslwHg):解决方案演示 4. **HW4:RAG/检索评估** (`homeworks/hw4/`) - 带有合成查询生成的 BM25 检索系统 - **互动演示**: - 代码:`homeworks/hw4/hw4_walkthrough.ipynb` - [视频](https://youtu.be/GMShL5iC8aY):解决方案演示 5. **HW5:Agent 失败分析** (`homeworks/hw5/`) - 分析对话轨迹和失败模式 - **互动演示**: - 代码:`homeworks/hw5/hw5_walkthrough.ipynb` - [视频](https://youtu.be/z1oISsDUKLA):解决方案演示 ### 核心功能 ## 项目结构 ``` recipe-chatbot/ ├── backend/ # FastAPI app & core logic ├── frontend/ # Chat UI (HTML/CSS/JS) ├── homeworks/ # 5 progressive assignments │ ├── hw1/ # Prompt engineering │ ├── hw2/ # Error analysis (with walkthrough) │ ├── hw3/ # LLM-as-Judge (with walkthrough) │ ├── hw4/ # Retrieval eval (with walkthroughs) │ └── hw5/ # Agent analysis ├── annotation/ # Manual annotation tools ├── scripts/ # Utility scripts ├── data/ # Datasets and queries └── results/ # Evaluation outputs ``` ## 运行作业演示 每次作业(HW2-HW5)都包含一个独立的 Jupyter notebook 演示: ``` cd homeworks/hw2 jupyter notebook hw2_walkthrough.ipynb ``` 这些演示使用 `reference_files/` 中的数据,无需任何外部脚本即可运行。每个 notebook 包含: - 数据加载与探索 - 分步解决方案代码 - 预期输出与分析 ## 其他资源 - **标注界面**:运行 `python annotation/annotation.py` 进行手动评估 - **批量测试**:使用 `python scripts/bulk_test.py` 测试多个查询 - **轨迹分析**:所有对话均保存为 JSON 格式以供分析 ## 环境变量 在 `.env` 文件中配置以下内容: - `MODEL_NAME`:用于聊天机器人的 LLM 模型(例如 `openai/gpt-5-chat-latest`、`anthropic/claude-3-sonnet-20240229`) - `MODEL_NAME_JUDGE`:用于 judge 的 LLM 模型,可以比聊天机器人模型更小(例如 `openai/gpt-5-mini`、`anthropic/claude-3-haiku-20240307`) - API 密钥:`OPENAI_API_KEY`、`ANTHROPIC_API_KEY` 等。 有关支持的提供商,请参阅 [LiteLLM 文档](https://docs.litellm.ai/docs/providers)。 ## 课程理念 本课程强调: - **实践经验**重于理论 - **系统化评估**重于“直觉” - **循序渐进的复杂度** - 每次作业都建立在前一次的基础之上 - 用于真实世界 AI 评估的**行业标准技术**
标签:DLL 劫持, Hex文件处理, NoSQL, RAG, 人工智能, 大语言模型, 提示词工程, 教程, 模型评估, 用户模式Hook绕过, 策略决策点, 逆向工具