PostgresML是基于PostgreSQL构建的完整MLOps平台。
将模型移到数据库中,而不是不断地将数据传输到模型中。
与模型相比,ML和AI系统的数据本质上更大且更动态。将模型移至数据库中,而不是不断地将数据传输到模型中,更加高效、可管理和可靠。PostgresML允许您利用数据和模型之间的基本关系,通过以下能力和目标扩展数据库:
- 模型服务 - 用于交互式应用程序的GPU加速推断引擎,无需额外的网络延迟或可靠性成本。
- 模型存储 - 下载包括来自HuggingFace的最新LLMs等开源模型,并跟踪版本之间性能变化。
- 模型训练 - 使用超过50种算法对应用程序数据进行回归、分类或聚类任务的模型训练。微调预训练模型,如LLaMA和BERT以提高性能。
- 特征存储 - 可伸缩访问模型输入,包括矢量、文本、分类和数值数据。将矢量数据库、文本搜索、知识图和应用程序数据统一到一个低延迟系统中。
PostgresML处理通常由a16z描述的一堆服务执行的所有功能。
这些功能主要由两个开源软件项目提供,可以独立使用,但设计为与Postgres生态系统的其他部分一起使用,包括受信任的扩展,如pgvector和pg_partman。
pgml 是 PostgreSQL 的一个开源扩展。它通过SQL API在数据库内部添加对GPU和最新的ML&AI算法的支持,无需额外的基础设施、网络延迟或可靠性成本。
PgCat 是 PostgreSQL 的一个开源代理池。它抽象了管理分布式Postgres数据库集群的可伸缩性和可靠性问题。客户端应用程序仅连接到代理,代理处理负载均衡和故障切换,不依赖于任何单个数据库。
此外,PostgresML提供本地语言的SDK,用于实现常见ML&AI应用的最佳实践。JavaScript和Python SDK是从核心Rust SDK生成的,以在所有应用程序运行时提供相同的API、正确性和效率。
SDK客户端可以在单个SQL请求中执行高级机器学习任务,无需将额外的数据、模型、硬件或依赖传输到客户端应用程序。例如:
- 使用最新的LLMs进行具有流式响应支持的聊天
- 使用关键字和嵌入矢量进行搜索
- 在单个请求中使用RAG进行文本生成
- 在数百种语言对之间翻译文本
- 摘要以提炼复杂文档
- 用于关键指标的时间序列数据预测,具有复杂的元数据
- 使用应用程序数据进行欺诈和异常检测
我们的目标是为所有人提供对开源AI的访问。PostgresML在不断发展中,以跟上ML&AI的迅速演变的用例,并根据SemVer发布带有次要版本更新的非破坏性更改。我们欢迎对我们的开源代码和文档的贡献。
我们可以在我们的云中托管您的AI数据库,或者您可以在本地运行我们的 Docker 镜像,其中包括 PostgreSQL、pgml、pgvector 和 NVIDIA 驱动程序。