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 進行網路搜尋的聊天機器人。
  • Multimodal Capabilities: 除了文字和語音互動外,還整合了用於圖像生成 (Stable Diffusion) 和圖像理解 (LLava) 的功能。
  • Fine-tuning: 提供了一個處理原始數據並微調多個 LLM 以創建領域特定聊天機器人的流水線。
  • 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: 從原始數據處理到模型評估與部署的完整流水線。"},