菜单

API 参考

相关源文件

本文档提供了 PrivateGPT REST API 的全面参考,详细介绍了所有可用的端点、它们的参数、请求/响应格式和使用示例。有关可用 SDK 和客户端库的信息,请参阅SDK

API 概述

PrivateGPT 的 API 遵循 RESTful 原则,并在适当时设计得与 OpenAI API 类似。API 按以下主要功能领域组织

来源:fern/openapi/openapi.json1-1100

基础 URL

所有 API 端点都相对于 PrivateGPT 实例运行的基本 URL。

  • 默认:http://:8001

身份验证

默认情况下,PrivateGPT 不需要身份验证。但是,您可以通过在设置文件中设置相应的配置来启用身份验证。

API 端点

上下文补全

POST /v1/completions

给定一个提示,模型将返回一个预测的补全。此端点允许根据您摄入的文档进行上下文感知的响应。

请求体

参数

参数类型必填默认描述
prompt字符串-用于生成补全的提示
system_prompt字符串null影响模型行为的附加说明
use_context布尔值false是否使用来自摄入文档的上下文
context_filter对象null用于指定要用于上下文的文档的过滤器
include_sources布尔值true是否在响应中包含源块
布尔值false是否流式传输响应

响应

来源:fern/openapi/openapi.json8-57

POST /v1/chat/completions

给定一系列对话消息,此端点将返回一个响应。与 OpenAI Chat API 类似,此端点支持多轮对话。

请求体

参数

参数类型必填默认描述
messagesarray-具有角色和内容的message对象数组
use_context布尔值false是否使用来自摄入文档的上下文
context_filter对象null用于指定要用于上下文的文档的过滤器
include_sources布尔值true是否在响应中包含源块
布尔值false是否流式传输响应

响应:/v1/completions端点类似,响应格式为聊天补全。

来源:fern/openapi/openapi.json59-107

上下文块

POST /v1/chunks

此端点根据提供的文本查询检索来自摄入文档的最相关块。这对于在知识库中查找特定信息非常有用。

请求体

参数

参数类型必填默认描述
text字符串-用于匹配文档的查询文本
context_filter对象null用于指定搜索文档的过滤器
limit整数10返回块的最大数量
prev_next_chunks整数0要包含在上下文中的前一个和下一个块的数量

响应

来源:fern/openapi/openapi.json110-149

摄入

POST /v1/ingest/file

摄入并处理文件,将其块存储以用作 completions 和 chunks API 中的上下文。

请求体

  • multipart/form-data 包含要摄入的文档的文件字段

响应

来源:fern/openapi/openapi.json195-235

POST /v1/ingest/text

摄入并处理文本,将其块存储以用作上下文。

请求体

参数

参数类型必填默认描述
file_name字符串-用于识别文本文档的名称
text字符串-要摄入的文本内容

响应:/v1/ingest/file端点类似。

来源:fern/openapi/openapi.json237-277

GET /v1/ingest/list

列出已摄入的文档,包括其文档 ID 和元数据。

响应:所有已摄入文档及其元数据的列表。

来源:fern/openapi/openapi.json279-298

DELETE /v1/ingest/{doc_id}

删除指定的已摄入文档。

路径参数

参数类型必填描述
doc_id字符串要删除的文档 ID

响应:成功时为空对象。

来源:fern/openapi/openapi.json300-340

操作

POST /v1/summarize

给定文本,此端点将返回摘要。如果指定,它可以使用来自已摄入文档的附加上下文。

请求体

参数

参数类型必填默认描述
text字符串null要总结的文本
use_context布尔值false是否使用来自摄入文档的上下文
context_filter对象null用于指定要用于上下文的文档的过滤器
instructions字符串null影响摘要的附加说明
prompt字符串null用于摘要的自定义提示
布尔值false是否流式传输响应

响应

来源:fern/openapi/openapi.json342-382 private_gpt/server/recipes/summarize/summarize_router.py1-87

嵌入

POST /v1/embeddings

获取给定输入文本的向量表示。这些嵌入可用于语义搜索、聚类或其他机器学习任务。

请求体

参数

参数类型必填默认描述
inputstring 或 array-要获取嵌入的文本

响应

来源:fern/openapi/openapi.json384-424

健康状况

GET /health

简单的端点,用于检查 API 是否正在运行。

响应

来源:fern/openapi/openapi.json426-447

API集成流程

下图说明了客户端如何为常见用例与 PrivateGPT API 进行交互

来源:fern/openapi/openapi.json8-446

错误处理

API 返回标准的 HTTP 状态码来指示成功或失败

  • 200: 成功
  • 400: 请求错误(请检查您的输入参数)
  • 404: 资源未找到
  • 422: 验证错误(请求格式错误)
  • 500: 服务器错误

有关验证问题的错误响应遵循此格式

可用 SDK

PrivateGPT 提供多种编程语言的客户端库,以简化 API 集成。这些 SDK 会自动与最新的 API 更改保持同步。

语言状态仓库
TypeScript即将推出https://github.com/zylon-ai/privategpt-ts
Python即将推出https://github.com/zylon-ai/pgpt-python
Java进行中https://github.com/zylon-ai/private-gpt-java
Go进行中https://github.com/zylon-ai/private-gpt-go

来源:fern/docs/pages/api-reference/sdks.mdx1-39

API 架构演进

PrivateGPT API 尽可能地致力于保持向后兼容。新功能以不破坏现有客户端的方式添加。当前 API 版本已在 OpenAPI 架构中公开。

来源:fern/fern.config.json1-4