# ai-learning **Repository Path**: mars-ai/ai-learning ## Basic Information - **Project Name**: ai-learning - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-19 - **Last Updated**: 2026-06-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Learning - AI应用开发系统学习 > 从零到一,系统掌握AI应用开发全栈技能 ## 1. 学习路线 ### 第一阶段:基础与理解 - **Stage 1**: 原生API调用 - 理解AI通信本质 - **Stage 2**: AI评估与测试 - 建立质量保障体系 - **Stage 3**: Prompt工程 - 驾驭AI输出 ### 第二阶段:本地与检索 - **Stage 4**: Ollama本地部署 - 理解模型运维 - **Stage 5**: 向量数据库 - 生产级RAG基础 - **Stage 6**: 手写RAG - 理解检索原理 ### 第三阶段:框架与架构 - **Stage 7**: LangChain框架 - 工业化开发 - **Stage 8**: FastAPI服务化 - 产品交付 - **Stage 9**: 可观测性 - 生产级运维 ## 2. 技术栈 | 类别 | 技术 | |------|------| | 包管理 | uv workspace | | 语言 | Python 3.11+ | | AI框架 | LangChain, FastAPI | | 本地模型 | Ollama | | 向量数据库 | ChromaDB, Milvus | | 测试 | pytest, pytest-cov | | 代码风格 | black, ruff, mypy | ## 3. 项目管理 ### 3.1 分支管理 >通过分支管理来实现隔离开发 初始化完成后 ```bash # 1. 查看当前分支(应该在 main) git branch # 2. 创建并切换到 stage1 分支 git checkout -b feature/stage1-raw-api # 3. 开始开发 Stage 1 cd stages/stage1-raw-api # 写代码... ``` 完成 Stage 1 后 ```bash # 1. 提交代码 git add . git commit -m "feat(stage1): 完成原生API调用" # 2. 合并到 main git checkout main git merge --no-ff feature/stage1-raw-api # 3. 打标签记录里程碑 git tag -a v1.0-stage1 -m "Stage 1: 原生API调用完成" # 4. 推送到远程 git push origin main git push --tags # 5. 创建 Stage 2 分支 git checkout -b feature/stage2-evaluation ``` 依次类推 ### 3.2 依赖管理 1. 添加依赖项,在 stage1/pyproject.toml 声明依赖,例如:`dependencies = ["requests>=2.31.0"] ` 或者 `uv add requests` 2. 安装依赖,在根目录执行 `make install` 3. 所有依赖安装到根目录 `.venv/` 4. 在代码中 `import requests` 即可使用 ## 4. git commit 规范 提交信息格式: |Type |说明 |使用场景| |------|------|------| |feat |新功能 |添加新的功能模块| |fix |Bug修复 |修复已知问题| |docs |文档更新 |更新 README、注释等| |style |代码格式 |格式化、缺少分号等(不影响功能)| |refactor |代码重构 |重构但不影响功能| |test |测试 |添加或修改测试| |chore |构建/工具 |更新依赖、配置等| |perf |性能优化 |提升性能的改动| |learn |学习笔记 |添加学习笔记| |init |初始化 |项目初始化| 提交示例: ```bash # 新功能 git commit -m "feat(stage1): 实现DeepSeek流式调用" # Bug修复 git commit -m "fix(stage2): 修复JSON解析器处理空值问题" # 学习笔记 git commit -m "learn(docs): 添加RAG原理学习笔记" # 重构 git commit -m "refactor(stage6): 统一LLM Provider接口" # 测试 git commit -m "test(stage1): 增加API调用单元测试" # 文档 git commit -m "docs: 更新项目README" # 依赖更新 git commit -m "chore: 升级LangChain到0.3.0" # 综合更新(多文件) git commit -m "feat(stage4): 完成手写RAG系统 ``` ## 5. makefile 命令清单 |命令 |作用| 何时使用| |------|------|------| |make help |显示所有可用命令| 忘记命令时查看| |make install |安装所有依赖 + 开发工具 |首次克隆项目、添加新依赖后| |make clean |清理缓存和虚拟环境 |遇到奇怪错误、想重新开始| |make test |运行所有测试 |提交代码前、验证功能| |make format |自动格式化代码 |提交代码前| |make lint |检查代码质量 |提交代码前| |make run-stage |运行指定 stage |测试某个 stage 的代码