学习目标:能够搭建并运行一个简单的本地AI应用(如OCR识别或聊天界面),理解AI工程的基本工作流程
前置知识
项目基于Python和Jupyter Notebook,需要能理解基本语法、安装包、运行脚本
需要克隆GitHub仓库,了解基本的版本控制操作
需要在终端中运行命令来安装依赖、启动服务
知道什么是大语言模型(LLM)、RAG(检索增强生成)等术语有助于理解项目目标
学习步骤
环境准备与项目探索
1-2小时克隆项目并浏览结构
1. 在本地创建合适的工作目录 2. 使用 `git clone https://github.com/patchy631/ai-engineering-hub.git` 克隆仓库 3. 打开项目文件夹,查看README和目录结构,了解项目分类(Beginner/Intermediate/Advanced)
建议先通读README的'Getting Started'和'Projects by Difficulty'部分,对整体有个印象
准备Python环境
1. 确保已安装Python(建议3.9+版本) 2. 创建并激活一个虚拟环境(如使用venv或conda) 3. 安装Jupyter Notebook:`pip install notebook`
使用虚拟环境可以避免包冲突。如果遇到权限问题,尝试在命令前加 `sudo`(Mac/Linux)或以管理员身份运行(Windows)
第一个项目:本地OCR应用
3-4小时选择并进入入门项目
1. 在'Beginner Projects'的'OCR & Vision'分类下,选择'Llama OCR - 100% local OCR app with Llama 3.2 and Streamlit' 2. 导航到对应的项目文件夹(通常有明确的文件夹名或README指引)
'Llama OCR'是一个很好的起点,它集成了模型和Web界面,结果直观
安装项目特定依赖
1. 查看项目文件夹内的requirements.txt或README中的安装说明 2. 在终端中,进入该项目目录,运行 `pip install -r requirements.txt` 安装所有依赖
安装过程可能较慢,特别是下载模型时。确保网络稳定。如果某个包安装失败,可以尝试单独安装或搜索错误信息
下载并运行模型(Ollama)
1. 根据项目说明,安装并启动Ollama(一个本地运行模型的工具) 2. 在终端运行 `ollama pull llama3.2` 或项目指定的模型命令来下载模型
模型文件较大(几个GB),请预留足够磁盘空间和下载时间。Ollama官网有详细的安装指南
运行Streamlit应用
1. 在项目目录下,运行 `streamlit run app.py`(或项目指定的启动命令) 2. 浏览器会自动打开本地Web界面(通常是 http://localhost:8501) 3. 按照界面提示,上传一张包含文字的图片,测试OCR功能
首次运行Streamlit可能会在浏览器中询问邮箱,可以跳过。确保终端窗口保持打开,这是应用的后台
第二个项目:简易RAG系统
3-5小时选择RAG入门项目
完成OCR项目后,选择'Beginner Projects'下的'Simple RAG Workflow - Basic RAG with LlamaIndex and Ollama'项目
RAG是当前AI应用的核心模式之一,这个项目帮你理解文档加载、分割、检索和生成的基本流程
理解代码结构与流程
1. 打开项目的Jupyter Notebook文件(.ipynb) 2. 从头到尾阅读一遍代码单元格和注释,不要急于运行 3. 理解关键步骤:加载文档 -> 分割文本 -> 创建向量索引 -> 提问并检索相关上下文 -> 生成答案
使用Jupyter Notebook的优势是可以分步执行和查看中间结果。先通读,理清逻辑
分步运行Notebook
1. 在项目目录下启动Jupyter Notebook:`jupyter notebook` 2. 在打开的网页中点击对应的.ipynb文件 3. 按顺序逐个运行代码单元格(Shift+Enter),观察每一步的输出
如果某个单元格运行失败,仔细查看错误信息。常见问题是缺少包或模型未下载。可以回到上一步检查Ollama模型
修改与实验
1. 尝试更换不同的本地文档(如.txt, .pdf)进行测试 2. 修改提问的问题,观察检索到的上下文和最终答案的变化 3. 如果项目允许,尝试调整文本分割的长度等参数
学习的关键在于动手修改和观察变化。即使出错,解决错误的过程也是宝贵的学习经验
巩固与扩展
2-3小时探索其他入门级项目
在'Beginner Projects'中再选择1-2个感兴趣的项目尝试,例如: - 'Local ChatGPT with DeepSeek'(构建聊天界面) - 'Document Chat RAG'(与文档对话) - 'Image Generation with Janus-Pro'(图像生成)
选择不同类型的项目可以拓宽视野。注意每个项目可能需要不同的模型(通过Ollama pull下载)
总结学习笔记
记录下: 1. 成功运行了哪些项目 2. 遇到了哪些问题及如何解决 3. 对AI工程流程(数据准备、模型调用、应用集成)的新理解
好记性不如烂笔头。整理笔记有助于巩固知识,并为后续学习提供参考
推荐资源
学习如何在本地拉取和运行各种大语言模型,是运行本项目大多数示例的基础
快速构建AI应用界面的框架,本项目多个示例使用它来创建Web UI
理解RAG项目中用于数据连接和检索的核心库
仓库内提供的学习路线图,从Python基础到生产部署,是系统学习的绝佳指南
遇到问题时可以在这里搜索是否已有解决方案,或礼貌地提问
常见错误与避坑指南
未使用虚拟环境,导致包版本冲突
始终为每个项目或在项目根目录创建独立的虚拟环境(python -m venv venv),并在其中安装依赖
未正确下载或启动Ollama模型
1. 确保Ollama服务在运行(终端输入ollama list检查)。2. 运行项目前,用`ollama pull <模型名>`提前下载好指定模型。3. 注意模型名称是否与代码中调用的一致
直接运行复杂项目,遇到大量错误感到挫败
严格遵守从Beginner项目开始的路径。不要跳过基础,先确保1-2个最简单的项目能跑通,建立信心
网络问题导致模型或包下载失败
1. 为pip和ollama配置国内镜像源。2. 对于大型模型,耐心等待或寻找离线资源。3. 检查防火墙或代理设置
在Jupyter Notebook中一次性运行所有单元格
务必按顺序逐个单元格运行,并观察每个单元格的输出。这样能快速定位错误发生的具体步骤
下一步探索
完成5个以上Beginner项目并理解其原理后,可以: 1. 进入'Intermediate Projects',尝试涉及多智能体(CrewAI)和复杂工作流的项目。 2. 学习将项目部署为可分享的Web应用(如使用Streamlit Cloud)。 3. 阅读项目源码,尝试修改功能或集成自己的数据源。 4. 按照仓库中的'AI Engineering Roadmap'系统化地补充机器学习、深度学习理论知识。
相关项目推荐
jackfrued/Python-100-Days
Python - 100天从新手到大师
langchain-ai/langchain
🦜🔗 构建情境感知推理应用程序 🦜🔗
microsoft/generative-ai-for-beginners
21堂课带你入门生成式AI开发
microsoft/ML-For-Beginners
12周、26节课、52个测验,面向所有人的经典机器学习课程
rasbt/LLMs-from-scratch
使用PyTorch从零开始逐步实现类ChatGPT大型语言模型
CompVis/stable-diffusion
潜在文本到图像扩散模型