LLM 应用程序栈
又称 LLM 应用程序的新兴架构
这是 LLM 应用程序栈每一层可用工具、项目和供应商的列表。
我们的原始文章仅包含了基于用户访谈的最受欢迎选项。这个仓库旨在更加全面,涵盖每个类别中所有可用的选项。我们可能仍然遗漏了一些重要的项目,因此如果您发现有任何遗漏,请开启一个 PR。
我们还包含了 Perplexity 和 Cursor.sh 提示,以使搜索和 Markdown 表格格式化更容易。
目录
- 数据管道
- 嵌入模型
- 向量数据库
- playground
- 协调器
- API / 插件
- LLM 缓存
- 日志记录 / 监控 / 评估
- 验证器
- LLM API(专有)
- LLM API(开源)
- 应用程序托管平台
- 云服务提供商
- 自有观点的云服务
项目列表
数据管道
名称(网站) | 描述 | Github | Pip 安装次数 |
---|---|---|---|
Databricks | 一个统一的数据平台,用于构建、部署和维护企业数据解决方案,包括专为 AI 构建的产品(如 MosaicML 和 MLflow) | <a href=https://github.com/apache/spark> | <a href=https://pypi.org/project/pyspark> |
Airflow | 一个数据管道框架,用于以编程方式编写、调度和监控数据管道和工作流,包括 LLM | <a href=https://github.com/apache/airflow> | <a href=https://pypi.org/project/apache-airflow> |
Unstructured.io | 用于预处理 PDF、HTML 和 Word 文档等文档的开源组件,以供 LLM 应用程序使用 | <a href=https://github.com/Unstructured-IO/unstructured> | <a href=https://pypi.org/project/unstructured> |
Fivetran | 一个平台,从各种来源提取、加载和转换数据,用于分析、AI 和运营 | N/A | <a href=https://pypi.org/project/fivetran> |
Airbyte | 一个开源数据集成引擎,帮助在数据仓库、湖泊和数据库中整合数据 | <a href=https://github.com/airbytehq/airbyte> | <a href=https://pypi.org/project/airbyte-cdk> |
Anyscale | 一个 AI 计算平台,允许开发人员使用 Ray 扩展数据摄取、预处理、嵌入和推理计算 | <a href=https://github.com/ray-project/ray> | <a href=https://pypi.org/project/ray> |
Alluxio | 一个开源数据平台,位于计算和存储的交叉点,将数据更接近计算,以加速模型训练和服务,提高 GPU 利用率,并降低 AI 工作负载的成本 | <a href=https://github.com/Alluxio/alluxio> | <a href=https://pypi.org/project/alluxio-python-library/> |
嵌入模型
名称(网站) | 描述 | Github | Pip 安装次数 |
---|---|---|---|
OpenAI Ada Embedding 2 | OpenAI 最受欢迎的嵌入模型,用于捕捉文本中的语义关系 | n/a | <a href=https://pypi.org/project/openai> |
Cohere AI | 一个独立的商业 LLM 提供商,特别关注语义搜索、主题聚类和垂直应用的嵌入 | <a href=https://github.com/cohere-ai/notebooks> | <a href=https://pypi.org/project/cohere> |
Sentence Transformers | 一个用于句子、文本和图像嵌入的开源 Python 框架 | <a href=https://github.com/UKPLab/sentence-transformers> | <a href=https://pypi.org/project/sentence-transformers> |
向量数据库
名称(网站) | 描述 | Github | Pip 安装次数 |
---|---|---|---|
Pinecone | 一个托管的、云原生的向量数据库,具有简单的 API,用于高性能 AI 应用 | n/a | <a href=https://pypi.org/project/pinecone-client> |
Weaviate | 一个开源向量数据库,可存储对象和向量 | <a href=https://github.com/weaviate/weaviate> | <a href=https://pypi.org/project/weaviate-client> |
ChromaDB | 一个面向开发者的 AI 原生、开源嵌入数据库平台 | <a href=https://github.com/chroma-core/chroma> | <a href=https://pypi.org/project/chromadb> |
Pgvector | Postgres 的开源向量相似度搜索,允许精确和近似最近邻搜索 | <a href=https://github.com/pgvector/pgvector> | <a href=https://pypi.org/project/pgvector> |
Zilliz (Milvus) | 一个开源向量数据库,用于开发和维护 AI 应用程序 | <a href=https://github.com/milvus-io/milvus> | <a href=https://pypi.org/project/pymilvus> |
Qdrant | 一个向量数据库和向量相似度搜索引擎 | <a href=https://github.com/qdrant/qdrant> | <a href=https://pypi.org/project/qdrant-client> |
Metal io | 一个托管服务,供开发人员使用 ML 嵌入构建应用程序 | N/A | <a href=https://pypi.org/project/metal-python> |
LanceDB | 一个用于 AI 应用程序的无服务器向量数据库 | <a href=https://github.com/lancedb/lancedb> | <a href=https://pypi.org/project/lancedb> |
游乐场
名称(网站) | 描述 | Github | Pip 安装量 |
---|---|---|---|
OpenAI Playground | 一个基于网络的平台,用于试验 OpenAI 开发的各种机器学习模型 | 不适用 | 不适用 |
nat.dev | 一个允许用户使用多个语言模型测试提示并比较其性能的平台 | <a href=https://github.com/nat/openplayground> | <a href=https://pypi.org/project/openplayground> |
Humanloop | 一个帮助开发者在大型语言模型基础上构建应用程序的平台 | <a href=https://github.com/humanloop/humanloop-tutorial-python> | <a href=https://pypi.org/project/humanloop> |
Parea AI | 为 AI 工程师提供的平台和 SDK,提供 LLM 评估、可观察性和版本控制的增强提示游乐场工具。 | <a href=https://github.com/parea-ai> | <a href=https://pypi.org/project/parea-ai/> |
编排器
名称(网站) | 描述 | Github | Pip 安装量 |
---|---|---|---|
Langchain | 一个开源库,为开发者提供构建 LLM 驱动应用程序的工具 | <a href=https://github.com/langchain-ai/langchain> | <a href=https://pypi.org/project/langchain> |
LlamaIndex | 一个数据框架,用于 LLM 应用程序摄取、结构化和访问私有或特定领域的数据 | <a href=https://github.com/jerryjliu/llama_index> | <a href=https://pypi.org/project/llama-index> |
Autogen | 一个使用可定制、可对话代理自动化和简化 LLM 工作流程的框架,用于复杂 AI 应用 | <a href=https://github.com/microsoft/autogen> | <a href=https://pypi.org/project/pyautogen> |
Microsoft Semantic Kernel | 一个轻量级开源编排 SDK | <a href=https://github.com/microsoft/semantic-kernel> | <a href=https://pypi.org/project/semantic-kernel> |
Haystack | LLM 编排框架,用于构建可定制、生产就绪的 LLM 应用程序 | <a href=https://github.com/deepset-ai/haystack> | <a href=https://pypi.org/project/farm-haystack/> |
Vercel AI SDK | 一个开源库,供开发者在 JavaScript 和 TypeScript 中构建流式 UI | <a href=https://github.com/vercel/ai> | <a href=https://pypi.org/project/vercel-ai-sdk>(node/npm) |
Vectara AI | 一个用于 AI 对话的搜索和发现平台,利用您自己的数据 | <a href=https://github.com/vectara/vectara-ingest> | 不适用 |
ChatGPT | 一个使用自然语言处理创建类人对话的 AI 聊天机器人 | 不适用 | 不适用 |
API / 插件
名称(网站) | 描述 | Github | Pip 安装量 |
---|---|---|---|
Serp API | 一个实时 API,用于访问 Google 搜索结果,以及处理代理、解决验证码和解析结构化数据 | <a href=https://github.com/serpapi/google-search-results-python> | <a href=https://pypi.org/project/google-search-results> |
Wolfram Alpha API | 一个基于网络的 API,为各种应用程序的集成提供计算和展示功能 | 不适用 | <a href=https://pypi.org/project/wolframalpha> |
Zapier API AI Plugin | 一个插件,允许您连接 5,000+ 个应用程序并直接在 ChatGPT 内与它们交互 | 不适用 | 不适用 |
LLM 缓存
名称(网站) | 描述 | Github | Pip 安装量 |
---|---|---|---|
Redis | 一个内存数据结构存储,用作数据库、缓存、消息代理和流引擎 | <a href=https://github.com/redis/redis> | <a href=https://pypi.org/project/redis/> |
SQLite | 一个自包含、无服务器、零配置、事务性 SQL 数据库引擎 | <a href=https://github.com/sqlite/sqlite> | <a href=https://pypi.org/project/pysqlite3/> |
GPTCache | 一个开源工具,通过实现缓存来存储响应,提高基于 GPT 的应用程序的效率和速度 | <a href=https://github.com/zilliztech/GPTCache> | 不适用 |
|
| | [promptfoo](https://www.promptfoo.dev/) | 开源LLM评估框架,支持模型/提示/RAG评估、数据集生成、本地模型和自托管 | | (node/npm) | | [Parea AI](https://www.parea.ai/) | 为AI工程师提供的平台和SDK,提供LLM评估、可观察性工具和版本控制的增强提示词游乐场 | | | | [Galileo](https://www.rungalileo.io/) | Galileo是一个用于评估、微调和实时可观察性的平台,由高精度幻觉防护机制驱动 | N/A | N/A | ### 验证器 | 名称(网站) | 描述 | Github | Pip 安装量 | |------------|------------|------------|------------| | [Guardrails AI](https://shreyar.github.io/guardrails/) | 一个开源Python包,用于指定结构和类型、验证和纠正LLM的输出 | | | | [Rebuff](https://github.com/woop/rebuff) | 一个开源框架,旨在检测和防御LLM应用中的提示注入攻击 | | | | [Microsoft Guidance](https://github.com/microsoft/guidance) | 一种用于控制LLM的指导语言,提供了一种语法来构建LLM工作流 | | | | [LMQL](https://lmql.ai/) | 一个开源编程语言和语言模型交互平台 | | | | [Outlines](https://outlines-dev.github.io/outlines/) | 一个帮助开发人员引导文本生成的工具,用于构建与外部系统的健壮接口,并保证输出匹配正则表达式或JSON模式 | | | | [LLM Guard](https://github.com/laiyer-ai/llm-guard) | 一个开源的综合工具,旨在加强大型语言模型(LLM)的安全性 | | |
LLM API (专有)
名称(网站) | 描述 | Github | Pip 安装量 |
---|---|---|---|
OpenAI | 一家提供多个领先LLM的公司,包括GPT-3.5和GPT-4系列 | N/A | <a href=https://pypi.org/project/openai> |
Anthropic | Claude的开发者,Claude是基于Anthropic研究的AI助手 | N/A | <a href=https://pypi.org/project/anthropic> |
Cohere AI | 一个LLM供应商,特别关注用于语义搜索、主题聚类和垂直应用的嵌入 | <a href=https://github.com/cohere-ai/notebooks> | <a href=https://pypi.org/project/cohere> |
LLM | 一个CLI工具和Python库,用于与大型语言模型交互,既可以通过远程API,也可以通过安装在自己机器上运行的模型 | <a href=https://github.com/simonw/llm> | <a href=https://pypi.org/project/llm/> |
LLM API (开源)
名称(网站) | 描述 | Github | Pip 安装量 |
---|---|---|---|
Hugging Face | 一个开源AI模型和推理端点的中心,包括领先的基础LLM和LoRAs/微调 | <a href=https://github.com/huggingface/transformers> | <a href=https://pypi.org/project/transformers> |
Replicate | 一个AI托管平台和模型推理中心,允许软件开发人员将AI模型集成到他们的应用中 | <a href=https://github.com/replicate/cog> | <a href=https://pypi.org/project/replicate> |
Anyscale | 一个AI API和计算平台,允许开发人员使用Ray扩展任何模型的推理、训练和嵌入计算 | <a href=https://github.com/ray-project/ray> | <a href=https://pypi.org/project/ray> |
Ollama | 在本地运行大型语言模型 | <a href=https://github.com/ollama/ollama> | <a href=https://pypi.org/project/ollama/> |
GPT4ALL | 一个开源边缘大型语言模型的生态系统 | <a href=https://github.com/nomic-ai/gpt4all> | <a href=https://pypi.org/project/gpt4all/> |
应用托管平台
名称(网站) | 描述 |
---|---|
Vercel | 一个为前端工程师设计的云平台,内置对LLM应用的一流支持 |
Netlify | 一家企业云计算公司,为Web应用和动态网站提供开发平台 |
Steamship | AI代理和工具的SDK和托管平台,既是包管理器又是AI的包托管服务 |
Streamlit | 一个开源Python库,用于创建和共享机器学习和数据科学的自定义Web应用 |
Modal | 一个使用modal Python包运行分布式应用程序的平台 |
云服务提供商
名称(网站) | 描述 |
---|---|
Amazon Web Services | 一个云计算平台,提供来自全球数据中心的服务 |
Google Cloud Platform | 一个云计算平台,提供来自全球数据中心的服务 |
Microsoft Azure | 一个云计算平台,提供来自全球数据中心的服务 |
CoreWeave | 一个专业的云提供商,在灵活的部署基础设施之上提供GPU |
特色云服务
名称(网站) | 描述 |
---|---|
Databricks (MosaicML) | Databricks在2023年收购了Mosaic ML,以及其用于高效预训练、微调和推理LLM的工具和平台 |
Anyscale | 一个AI计算平台,使开发人员能够使用Ray扩展任何模型的推理、训练和嵌入计算 |
Modal | 一个使用Modal Python包运行分布式应用程序的平台 |
Runpod | 一个为AI和ML应用设计的云计算平台 |
OctoML | 一个计算服务,允许用户运行、调优和扩展生成模型 |
Baseten | 一个推理服务,允许用户部署、服务和扩展自定义和开源模型 |
E2B | 为AI代理和AI应用程序设计的安全沙盒云环境 |
## 格式化提示模板 我们能够部分自动化这个过程 - 特别是查找 GitHub 和 PyPI 链接 - 使用这个[Perplexity 搜索提示](https://github.com/a16z-infra/llm-app-stack/blob/main/table_construction_prompts/prompt_1_search.txt)。它大约有 75% 的时间工作正常,每次可以处理约 3 个项目,在每次迭代中从 20-30 个源中提取数据。
一旦你有了想要添加的数据,如果你不想处理这里的 Markdown 格式,使用像 Cursor 这样的工具可以很容易地正确格式化。
请看下面的提示,它可以作为内联编辑使用,只需确保你突出显示前 4-5 个例子,这样 Cursor 就可以自行推断格式: