定位
LangChain 和 LlamaIndex 都是 LLM 應用框架,但定位不同:
| LangChain | LlamaIndex | |
|---|---|---|
| 核心 | 通用 LLM 編排 | 數據索引與檢索 |
| 強項 | Agent、Chain、Tool | RAG、Data Connector |
| 生態 | 極大(100+ integrations) | 中等(專注數據) |
| 學習曲線 | 較陡 | 較平緩 |
LangChain
from langchain.chat_models import ChatOpenAI
from langchain.agents import initialize_agent, Tool
llm = ChatOpenAI(model="deepseek-chat", base_url="https://api.deepseek.com/v1")
tools = [
Tool(name="Search", func=search_func, description="搜索互聯網"),
]
agent = initialize_agent(tools, llm, agent="zero-shot-react-description")
agent.run("2026 年奧斯卡最佳影片是什麼?")
適合:需要 Agent、Chain、Tool 的複雜應用。
LlamaIndex
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
docs = SimpleDirectoryReader("data/").load_data()
index = VectorStoreIndex.from_documents(docs)
engine = index.as_query_engine()
response = engine.query("公司的 Q1 收入是多少?")
適合:RAG、文檔問答、數據索引。
如何選擇
| 你的需求 | 推薦 |
|---|---|
| RAG / 文檔問答 | LlamaIndex |
| Agent / Tool 調用 | LangChain |
| 兩者都要 | 兩者可以一起用 |
| 快速原型 | LlamaIndex |
| 生產級應用 | LangChain (生態更大) |