AI研发技术栈
选择原则:
- 能够完成产品功能
- 流行 & 社区活跃度高
- AI 友好
OpenAI SDK
OpenAI 官方提供的 AI SDK
- 提供了直接访问 OpenAI API 的能力
- 集成了 chat、embedding、fine-tuning 等
- 支持所有 OpenAI 系列的 LLM
- 支持三方中转 api(302、openrouter 等)
OpenAI 更多资料详见官方文档:https://platform.openai.com/docs/overview
Langchain
LlamaIndex
LlamaIndex 是一个开发 LLM 应用的框架
- 专注于帮助 LLM 应用连接和处理自定义数据。它提供了一套完整的工具,核心用于构建 RAG 应用。
- 支持大量 LLM 模型的调用,包括 OpenAI、Anthropic、Google 等。
- 针对 RAG 的不同阶段包含很多内置的组件和优化方案(数据加载、分割、嵌入、检索前处理、检索后处理等)
LlamaIndex 更多资料详见官方文档:https://ts.llamaindex.ai/docs/llamaindex
Vercel AI SDK
Vercel AI SDK 是一个专注于前端 AI 应用开发的工具包,特别适合构建基于 React 、 Next.js、Vue 等的全栈 AI 应用。
- 提供了一系列的 Hooks 和组件,用于快速构建 AI 应用。
- 支持多种 LLM 模型,包括 OpenAI、Anthropic、Google 等。
Vercel AI SDK 更多资料详见官方文档:https://sdk.vercel.ai/docs/introduction#why-use-the-ai-sdk
对比
| AI 框架 | 类比 UI 框架 | 类比说明 | |
|---|---|---|---|
| OpenAI SDK | Tailwind CSS | • 基础的工具集(原子化的样式,但不原始) • 灵活性、可控性高但需要自己组装 | |
| LangChain | Ant Design | • LCEL 中包含大量的组件(类似于 Ant Design 中包含大量针对不同场景的组件) • 可以快速搭建一个原型,但是可控性、灵活性相对较差 • 包含大量组件 api,学习成本相对较高 | |
| LlamaIndex | Ant Design Pro | • 同样包含很多组件,尤其是针对 RAG 应用的场景(类似于 Ant Design Pro 针对后台管理系统的场景) • 能快速搭建一个原型,同样但是可控性、灵活性相对较差 • 包含大量组件 api,学习成本相对较高 | |
| Vercel AI SDK | Shadcn UI | • 在基础工具集的基础上,拓展了一些使用场景,比如支持多模型、hooks 机制(类似于 Shadcn UI 基于 tailwind 拓展了一些组件场景,但没改变原始的 tailwind 写法) • 相比较 OpenAI SDK,拓展了更多的使用场景,相比较于 LangChain、LlamaIndex,没有封装大量组件 api,学习成本、灵活、可控性更高 |
怎么选择
原型验证
- 可视化低代码平台:Dify 等
- 代码构建,可以选择 LangChain(工具链大全集) 或 LlamaIndex(RAG 处理大全集)
生产环境
- 全栈 AI 应用(可能会调用不同 LLM provider),可以选择 Vercel AI SDK
- 深度聚焦使用 OpenAI,可以选择 OpenAI SDK