LeapfrogAI 项目介绍
概述
LeapfrogAI 是一个专为部署在隔离网络环境中设计的自托管 AI 平台。该项目旨在通过支持在资源受限的环境中部署所有必要的 AI 组件,从而将复杂的 AI 解决方案带到这些环境中。LeapfrogAI 的服务包括向量数据库、模型后端、API 和用户界面。这些功能可以轻松接入和整合到现有的基础设施中,使得无论环境限制如何,用户都能利用 AI 的强大功能。
为什么要自建大语言模型?
大语言模型(LLMs)是用于 AI 驱动决策、内容生成等领域的强大资源。LeapfrogAI 如何将 AI 带到你的任务中呢?
- 数据独立性:将敏感信息发送到第三方服务可能不适合或不允许所有类型的数据或组织。通过自建 LLM,用户可以完全控制自己的数据。
- 可扩展性:按需付费的 AI 服务可能会变得昂贵,尤其是在涉及大量数据并需要持续连接时。运行自己的 LLM 通常能为各种规模的任务提供更具成本效益的解决方案。
- 任务集成:通过自建 LLM,用户可以根据自己的需求定制模型的参数和训练数据。
结构
LeapfrogAI 仓库采用了单一代码库的结构,基于一个 API,用于各个组件的独立目录。开发和最新部署用的 UDS 包存放在 bundles
目录下,项目结构如下:
leapfrogai/
├── src/
│ ├── leapfrogai_api/ # API 源代码
│ ├── leapfrogai_evals/ # LeapfrogAI 评估框架源代码
│ ├── leapfrogai_sdk/ # SDK 源代码
│ └── leapfrogai_ui/ # 用户界面源代码
├── packages/
│ ├── api/ # API 的部署基础设施
│ ├── llama-cpp-python/ # llama-cpp-python 后端的源代码和部署基础设施
│ ├── repeater/ # repeater 模型后端的源代码和部署基础设施
│ ├── supabase/ # Supabase 后端和 PostgreSQL 数据库的部署基础设施
│ ├── text-embeddings/ # 文本嵌入后端的源代码和部署基础设施
│ ├── ui/ # 用户界面部署基础设施
│ ├── vllm/ # vllm 后端的源代码和部署基础设施
│ └── whisper/ # whisper 后端的源代码和部署基础设施
├── bundles/
│ ├── dev/ # 本地 UDS 开发部署的 UDS 包
│ └── latest/ # 最新 UDS 部署的 UDS 包
├── Makefile
├── pyproject.toml
├── README.md
└── ...
快速入门
运行 LeapfrogAI 的首选方法是使用 UDS 在本地 Kubernetes 上进行部署。请参阅 LeapfrogAI 文档网站的快速入门部分,了解系统要求和操作说明。
组件
API
LeapfrogAI 提供了一个与 OpenAI 相匹配的 API。此功能允许构建在 OpenAI/ChatGPT 上的工具与 LeapfrogAI 后端无缝配合。
SDK
LeapfrogAI SDK 提供了一套标准的 Protobufs 和 Python 工具,用于实现与 gRPC 兼容的后端。
用户界面 (UI)
LeapfrogAI 提供了一个支持通用用例(如一般对话和文档问答)的 UI。
后端
LeapfrogAI 提供了各种用例的多个后端支持,其兼容性如下:
后端 | AMD64 | ARM64 | CUDA | Docker | Kubernetes | UDS |
---|---|---|---|---|---|---|
llama-cpp-python | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
whisper | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
text-embeddings | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
vllm | ✅ | ❌1 | ✅ | ✅ | ✅ | ✅ |
Repeater
Repeater "模型" 是一个基础的 "后端",用于将接收到的所有输入直接返回给用户。它的构建方式与其他实际后端相同,主要用于测试 API。
评估
LeapfrogAI 配备了一个与 DeepEval 集成的评估框架。有关在 LeapfrogAI 中运行和利用评估的更多信息,请参见 Evals README。
使用
若要构建 LeapfrogAI UDS 包并进行部署,请访问 LeapfrogAI 文档网站了解相关系统要求和使用说明。
本地开发
LeapfrogAI 的每个组件也可以在不使用 Kubernetes 或容器化环境的情况下单独运行。这对于测试特定组件的更改非常有用,但不能帮助进行 LeapfrogAI 的完整部署。有关部署说明,请参阅上述章节。有关如何贡献代码,请参见下一个章节。
首先,请参阅 DEVELOPMENT.md 文档以了解一般开发详情。
然后,请参考每个子目录链接的 README,用于本地开发的说明。
贡献
所有潜在和现有的贡献者必须在提交问题或拉取请求之前阅读贡献文档、安全政策和行为准则。
社区
LeapfrogAI 得到了一个用户和贡献者社区的支持,其中包括:
以上就是 LeapfrogAI 项目的简单介绍。这个平台旨在为各种环境提供强大的 AI 解决方案,让更多的组织自如地控制和应用人工智能技术。
Footnotes
-
vLLM 需要 CUDA 支持的 PyTorch,用于 ARM64,但 pip 或 conda 暂不提供。 ↩