Farzad-R/LLM-Zero-to-Hundred

This repository contains different LLM chatbot projects (RAG, LLM agents, etc.) and well-known techniques for training and fine tuning LLMs.

What it solves

该仓库提供了一个用于构建高级 LLM 应用的实践实现和教程的全面集合。它通过展示各种 RAG (Retrieval Augmented Generation) 技术、微调流水线以及多模态智能体工作流,弥补了基础聊天机器人开发与生产级系统之间的差距。

How it works

该仓库被组织成几个独立的项目,每个项目都专注于特定的 AI 能力:

  • RAG Systems: 使用 LangChain 和 LlamaIndex 实现多种检索策略,包括可以查询预处理文档、实时上传或特定网站的聊天机器人。
  • Agentic Workflows: 使用 LangGraph 构建能够进行自主决策、函数调用 (function calling) 以及通过 DuckDuckGo 进行网络搜索的聊天机器人。
  • Fine-tuning: 提供了一个处理原始数据并微调多个 LLM 以创建领域特定聊天机器人的流水线。
  • Multimodal Capabilities: 除了文本和语音交互外,还集成了 Stable Diffusion 用于图像生成和 LLava 用于图像理解。
  • Open-Source Deployment: 展示了使用 Google Gemma7B 和 BAAI embedding 模型进行本地部署。

Who it’s for

想要从基础的 LLM 提示词 (prompts) 转向使用真实世界的架构模式(如微服务和 Docker)来构建复杂、多模态且具备检索增强功能的应用的开发者和 AI 从业者。

Highlights

  • Diverse RAG Implementations: 在 LangChain 和 LlamaIndex 中对五种不同的 RAG 技术进行了比较。
  • Multimodal Integration: 一个可以处理文本、语音、图像和网络搜索的单一聊天机器人 (HUMAIN)。
  • Production-Style Design: 包含使用 Docker Compose 和 Weave Scope 进行可视化监控的微服务架构示例。
  • End-to-End Fine-tuning: 从原始数据处理到模型评估和部署的完整流水线。"},