趋近智
Python 适用于 LLM 开发,这不仅因为它本身的语言特性,也因为它周围构建的各种丰富库和框架。这个生态系统提供专用工具,简化常见工作,让开发者能专注于构建复杂的应用程序,而不是重复造轮子般地实现基本功能。
了解主要参与者及其作用,对顺利进行 LLM 开发很有必要。Python LLM 生态系统大致可以分为以下几个方面:
在最基础的层面,你需要一种与 LLM 提供商通信的方式。虽然你总是可以使用像 requests 这样的通用 HTTP 库,但大多数主要 LLM 提供商都提供专用 Python 客户端库。
openai、anthropic、google-generativeai 和 cohere 这样的库,为各自的 API 提供了便捷的 Python 包装器。它们处理认证、请求格式化和响应解析等细节,使交互比原始 HTTP 调用顺畅得多。我们将在第 3 章中介绍如何使用它们。transformers 和 huggingface_hub: transformers 以在本地加载和运行模型而闻名,它也与 Hugging Face Hub 交互,后者托管着无数模型并提供 API。huggingface_hub 方便下载模型并与平台功能进行交互。构建复杂的 LLM 应用程序通常需要将对 LLM 的多次调用串联起来、与不同工具(如搜索引擎或数据库)进行交互,以及管理状态。编排框架为这些工作流提供结构。
LLM 通常需要访问并基于不在其训练集中的私有或特定外部数据进行推理 (inference)。这是检索增强生成(RAG)的范围,为此专门设计的框架非常重要。
RAG 系统高度依赖语义搜索,这通常由向量嵌入 (embedding)和向量数据库支持。Python 提供与这些交互的接口。
chromadb、faiss-python(用于 Facebook AI 相似性搜索)以及 Pinecone (pinecone-client)、Weaviate (weaviate-client) 和 Qdrant (qdrant-client) 等托管服务的客户端,允许你高效地存储、管理和查询高维向量嵌入。它们经常与 LlamaIndex 或 LangChain 结合使用(第 7 章)。测试和评估 LLM 应用程序因其非确定性特性而带来独特的挑战。正在出现专用工具来提供帮助。
这些不同类型的库并非孤立运行;它们设计为协同工作。一个典型的 LLM 应用程序可能使用官方客户端库与 LLM API 通信,由 LangChain 编排,后者又通过 LlamaIndex 从 ChromaDB 向量 (vector)存储中获取相关数据,然后生成最终响应。
显示 Python LLM 生态系统中不同组件在典型 RAG 应用中的协作关系的图示。
本课程将为你提供实用技能,以便你应用该生态系统中的核心组件,侧重于 LangChain 用于编排和 LlamaIndex 用于数据整合,使你能够构建强大的、具备上下文 (context)感知能力的 LLM 应用程序。我们将在下一章中从设置开发环境开始。
简洁的语法。内置调试功能。从第一天起就可投入生产。
为 ApX 背后的 AI 系统而构建
这部分内容有帮助吗?
transformers Documentation, Hugging Face, 2024 - 《transformers》库的官方文档,提供了使用预训练模型、微调以及与Hugging Face Hub交互的详细指南。© 2026 ApX Machine LearningAI伦理与透明度•