Skip to content

工具生态

flowchart TD
A[AI 开发工具栈] --> B[模型训练]
A --> C[模型推理]
A --> D[应用开发]
A --> E[数据处理]
B --> B1[PyTorch]
B --> B2[HuggingFace]
C --> C1[vLLM]
C --> C2[Ollama]
D --> D1[LangChain]
D --> D2[LlamaIndex]
E --> E1[Pandas]
E --> E2[Chroma]
import torch
import torch.nn as nn
# 定义一个 MLP
class MLP(nn.Module):
def __init__(self):
super().__init__()
self.layers = nn.Sequential(
nn.Linear(768, 256),
nn.ReLU(),
nn.Dropout(0.1),
nn.Linear(256, 10),
)
def forward(self, x):
return self.layers(x)
model = MLP()
x = torch.randn(4, 768)
print(model(x).shape) # (4, 10)
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("gpt2")
tokenizer = AutoTokenizer.from_pretrained("gpt2")
inputs = tokenizer("The future of AI is", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=30)
print(tokenizer.decode(outputs[0]))
from langchain.chat_models import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
llm = ChatOpenAI(model="gpt-4o", temperature=0.7)
prompt = ChatPromptTemplate.from_messages([
("system", "你是一个 AI 技术专家。"),
("human", "用一句话解释 {concept}"),
])
chain = prompt | llm
response = chain.invoke({"concept": "Transformer"})
print(response.content)
Terminal window
ollama pull llama3.2
ollama run llama3.2 "解释什么是注意力机制"
import ollama
response = ollama.chat(
model="llama3.2",
messages=[{"role": "user", "content": "什么是 Transformer?"}],
)
print(response["message"]["content"])
import chromadb
client = chromadb.Client()
collection = client.create_collection("docs")
collection.add(
documents=["Transformer 是 Attention 机制的架构", "CNN 用于图像处理"],
ids=["doc1", "doc2"],
)
results = collection.query(
query_texts=["什么是 Attention"],
n_results=1,
)
print(results["documents"][0])
场景推荐工具
模型训练PyTorch + HuggingFace
快速原型Ollama + LangChain
生产部署vLLM / TGI
向量检索Chroma (原型) / Milvus (生产)
数据标注Label Studio
实验追踪Weights & Biases