OpenAI API 与 Anthropic API 对比
AI 应用开发领域的两大巨头:拥有 GPT-5 系列与 DALL-E 的 OpenAI API,以及提供 Claude Opus 4.7(100 万 token)模型的 Anthropic API。哪一个更适合你的项目?
LLM 应用开发框架
数据连接型 LLM 框架
| 分类 | LangChain | LlamaIndex |
|---|---|---|
| 性能 | 7/10 | 8/10 |
| 学习难易度 | 6/10 | 7/10 |
| 生态系统 | 9/10 | 7/10 |
| 社区 | 9/10 | 7/10 |
| 就业市场 | 8/10 | 6/10 |
| 面向未来 | 7/10 | 8/10 |
# LangChain — RAG pipeline (Python)
from langchain_anthropic import ChatAnthropic
from langchain_community.vectorstores import Chroma
from langchain_openai import OpenAIEmbeddings
from langchain.chains import RetrievalQA
# 创建向量存储
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(documents, embeddings)
# RAG 链
llm = ChatAnthropic(model="claude-opus-4-7")
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
retriever=vectorstore.as_retriever(search_kwargs={"k": 5}),
return_source_documents=True
)
result = qa_chain.invoke({"query": "公司政策是什么?"})
print(result["result"])
print("来源:", [doc.metadata for doc in result["source_documents"]])# LlamaIndex — 基于文档的问答系统
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.llms.anthropic import Anthropic
from llama_index.core import Settings
# 配置 LLM
Settings.llm = Anthropic(model="claude-opus-4-7")
# 加载并索引文档
documents = SimpleDirectoryReader("./docs").load_data()
index = VectorStoreIndex.from_documents(documents)
# 查询引擎
query_engine = index.as_query_engine(
similarity_top_k=5,
response_mode="tree_summarize"
)
response = query_engine.query(
"根据 KVKK(土耳其个人数据保护法),用户享有哪些权利?"
)
print(response)
print("来源节点:", response.source_nodes)LlamaIndex 从设计之初就以 RAG 为核心使用场景——在分块(chunking)策略、索引类型和查询模式上提供了远为精细的控制。简单 RAG 用 LangChain 已足够;复杂文档处理则 LlamaIndex 更突出。