LLM Universe:大模型全栈学习教程

GitHub:Datawhale/llm-universe · ⭐ 18K+ · Python/Jupyter · Apache 2.0

项目简介

LLM Universe是Datawhale社区开源的大模型全栈学习教程,覆盖从Prompt工程到RAG、Agent、模型微调的完整链路。以Jupyter Notebook形式提供可运行代码,适合零基础开发者循序渐进学习大模型应用开发。

教程结构

章节内容难度
第一章 Prompt工程提示词设计原则、Few-shot、CoT思维链⭐ 入门
第二章 LLM接入OpenAI API调用、LangChain基础、流式输出⭐ 入门
第三章 RAG文档加载→分块→嵌入→向量检索→生成⭐⭐ 进阶
第四章 AgentReAct框架、Tool Calling、多Agent协作⭐⭐⭐ 中级
第五章 微调LoRA/QLoRA微调、数据集构建、训练配置⭐⭐⭐⭐ 高级
第六章 部署vLLM/Ollama部署、Gradio界面、Docker化⭐⭐⭐ 中级

快速开始

# 克隆仓库
git clone https://github.com/datawhalechina/llm-universe.git
cd llm-universe

# 安装依赖
pip install -r requirements.txt

# 配置API Key
export OPENAI_API_KEY="sk-your-key"
# 或使用国内模型
export DASHSCOPE_API_KEY="sk-your-key"  # 通义千问

# 启动Jupyter
jupyter notebook

# 按顺序运行Notebook

RAG实战示例

from langchain.document_loaders import PyPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.chat_models import ChatOpenAI
from langchain.chains import RetrievalQA

# 1. 加载文档
loader = PyPDFLoader("report.pdf")
docs = loader.load()

# 2. 分块
splitter = RecursiveCharacterTextSplitter(
    chunk_size=500, chunk_overlap=50
)
chunks = splitter.split_documents(docs)

# 3. 向量化 + 存储
embeddings = OpenAIEmbeddings()
db = Chroma.from_documents(chunks, embeddings)

# 4. 构建QA链
qa = RetrievalQA.from_chain_type(
    llm=ChatOpenAI(model="gpt-4o-mini"),
    retriever=db.as_retriever(search_kwargs={"k": 3})
)

# 5. 提问
answer = qa.run("这份报告的核心结论是什么?")
print(answer)

LLM Universe的优势是理论与实践结合,每个概念都有完整可运行的Notebook。适合搭配 Ollama本地部署教程 一起学习,用本地模型练习零成本。

📚 常见问题

LLM Universe是什么?

GitHub:Datawhale/llm-universe · ⭐ 18K+ · Python/Jupyter · Apache 2.0