RAG Agent数据面API使用参考

本文介绍如何使用RAG Agent数据面API。RAG Agent数据面API主要用于处理实际业务请求和执行数据操作,例如管理数据集、上传文档、查询知识库、生成回答以及检索文档等。

功能简介

RAG Agent API包括管控面API和数据面API:

  • 管控面API:用于管理和配置资源的系统。它负责资源的生命周期管理,包括创建、变更配置、查看和删除实例等操作。管控面API的调用频率通常较低。

  • 数据面API :用于处理实际业务请求及执行数据操作,例如管理数据集、上传文档、查询知识库、生成回答以及检索文档等。数据面API的调用频率较高。

使用API Key认证

RAG AgentAPI端点需要经过认证才能进行访问。支持使用API Key进行认证,每个API请求的URL末尾附加API Key。

格式

?apikey=<api_key>

示例

curl -X GET "http://api.example.com/rag/v1/datasets?apikey=<api_key>"
说明

apikeySupabaseAnonKey。获取AnonKey方式请参考DescribeInstanceAuthInfo - 查询RDS AI应用实例认证信息

API

数据集管理

创建数据集

POST /rag/v1/datasets

创建新的数据集,并初始化相应的RDS PostgreSQL schema,以实现数据隔离。

请求参数

参数名

类型

是否必填

描述

name

string

数据集名称,必须为唯一标识,字符长度为1~255。

description

string

数据集描述,默认为null,最大支持2000个字符。

rag_type

string

RAG类型,当前仅支持GraphRAG(默认设置)。

workspace

string

工作空间标识符,默认为null。

namespace_prefix

string

命名空间前缀,默认为null。

storage_type

string

存储类型,取值:

  • local

  • supabase(默认)

  • aliyun-oss

chunk_engine

string

分块引擎类型,默认为default。

schedule

string

调度配置,默认为空。

args

object

存储类型(storage_type)取值为supabasealiyun-oss时需配置。为采用JSON格式,默认为null。

created_by

string

创建者标识符,默认为null。

owner_id

string

所有者标识符,默认为null。

visibility

string

数据集可见性,取值:

  • private(默认):私有

  • public:公开

default_permission

string

默认权限级别,默认值为null。

user_id

string

对应于Supabase Auth表的user_id,用于控制数据集权限,默认为 null。

storage_type取值为supabasealiyun-oss时,args参数取值示例如下:

  • supabase

    "args": {
          "supabase_url": "http://your-project.supabase.co",
          "supabase_api_key": "your-supabase-api-key",
          "supabase_bucket_name": "your-bucket-name",
          "path": "test"
        }
  • aliyun-oss

    "args": {
        "oss_endpoint": "http://oss-cn-hangzhou.aliyuncs.com",
        "oss_access_key_id": "LTAI5tF****",
        "oss_access_key_secret": "your-secret-key-here",
        "oss_bucket_name": "my-lightrag-bucket",
        "oss_region": "oss-cn-hangzhou",
        "oss_path": "datasets/production/"
      }

响应示例

{
  "dataset": {
    "dataset_uuid": "uuid-string",
    "name": "My Dataset",
    "description": "Dataset description",
    "status": "active",
    "created_at": "2024-01-01T00:00:00Z"
  }
}

获取数据集列表

GET /rag/v1/datasets

获取数据集列表,支持可选的过滤功能及分页显示。

请求参数

参数名

类型

是否必填

描述

owner_id

string

按所有者ID过滤。默认为null

status

string

按状态过滤。默认为null

visibility

string

按可见性过滤。默认为null

page

integer

页码。取值为大于等于1的整数,默认为1

page_size

integer

每页大小,取值范围1~100,默认为20

获取单个数据集

GET /rag/v1/datasets/{dataset_id}

通过数据集ID获取数据集信息。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID

更新数据集

PUT /rag/v1/datasets/{dataset_id}

更新数据集信息。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID

请求参数

参数名

类型

是否必填

描述

description

string

数据集描述,默认为null,最大支持2000个字符。

rag_type

string

RAG类型,当前仅支持GraphRAG(默认设置)。

workspace

string

工作空间标识符,默认为null。

namespace_prefix

string

命名空间前缀,默认为null。

storage_type

string

存储类型,取值:

  • local(默认)

  • supabase

  • aliyun-oss

chunk_engine

string

分块引擎类型,默认为default。

schedule

string

调度配置,默认为空。

args

object

存储类型(storage_type)取值为supabasealiyun-oss时需配置。为采用JSON格式,默认为null。

created_by

string

创建者标识符,默认为null。

owner_id

string

所有者标识符,默认为null。

visibility

string

数据集可见性,取值:

  • private(默认):私有

  • public:公开

default_permission

string

默认权限级别,默认值为null。

user_id

string

对应于Supabase Auth表的user_id,用于控制数据集权限,默认为 null。

删除数据集

DELETE /rag/v1/datasets/{dataset_id}

删除数据集及其所有数据。此操作不可逆转,将永久删除与该数据集相关的所有数据。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID

文档管理

上传文档到数据集

POST /rag/v1/datasets/{dataset_id}/documents/upload

将文档上传至指定数据集。支持本地文件上传及远程文件处理。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

请求参数

参数名

类型

是否必填

描述

file

binary

要上传的文件,默认为null。

remote_file_path

string

远程文件的URL,默认为null。支持:

  • Supabase。

  • 阿里云OSS。

  • Amazon S3接口兼容的对象存储。

remote_storage_type

string

远程存储类型,默认为null。

remote_storage_config

string

远程存储配置的JSON字符串,默认为null。

original_filename

string

原始文件名,默认为null。

multimodal_config

string

多模态配置的JSON字符串,默认为null。

api_key_header_value

string

API密钥,默认为null。

  • 本地文件上传时,提供file参数。

  • 远程文件上传时,需要提供remote_file_path、remote_storage_typeremote_storage_config参数。

    远程文件上传示例:

    • Supabase

      {
        "SUPABASE_URL": "http://your-project.supabase.co",
        "SUPABASE_API_KEY": "your_service_key",
        "SUPABASE_BUCKET_NAME": "multimodal_files"
      }
    • 阿里云OSS

      {
        "ALIYUN_OSS_ACCESS_KEY": "your_access_key_id",
        "ALIYUN_OSS_SECRET_KEY": "your_access_key_secret", 
        "ALIYUN_OSS_ENDPOINT": "oss-cn-beijing.aliyuncs.com",
        "ALIYUN_OSS_BUCKET_NAME": "your_bucket_name",
        "ALIYUN_OSS_REGION": "oss-cn-beijing"
      }

插入文本到数据集

POST /rag/v1/datasets/{dataset_id}/documents/text

将文本内容插入到指定数据集中。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

请求参数

参数名

类型

是否必填

描述

text

string

要插入的文本内容,必须大于或等于1个字符。

file_source

string

文本的来源标识符,默认为text_input。

api_key_header_value

string

API密钥,默认为null。

获取文档处理状态

GET /rag/v1/datasets/{dataset_id}/track_status/{track_id}

通过跟踪ID获取数据集中文档的处理状态。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

track_id

string

待查询的跟踪ID。

文档状态

  • pending:等待处理。

  • processing:正在处理。

  • processed:处理完成。

  • failed:处理失败。

  • multimodal_parsing:多模态解析中。

  • multimodal_processing:多模态处理中。

获取数据集文档列表

GET /rag/v1/datasets/{dataset_id}/documents

获取指定数据集中的文档列表。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

请求参数

参数名

类型

是否必填

描述

limit

integer

返回的最大文档数量。默认为100,取值范围为1~1000。

offset

integer

跳过的文档数量。默认为0,取值为大于等于0的整数。

分页获取数据集文档

POST /rag/v1/datasets/{dataset_id}/documents/paginated

使用分页、过滤和排序功能以获取相关文档。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

请求参数

参数名

类型

是否必填

描述

status_filter

string

按文档状态过滤。默认为null。取值:

  • pending:等待处理。

  • processing:正在处理。

  • processed:处理完成。

  • failed:处理失败。

page

integer

页码。默认为1,取值为大于等于1的整数。

page_size

integer

每页文档数量。默认为50,取值范围为10~200。

sort_field

string

排序字段。取值:

  • created_at

  • updated_at(默认)

  • id

  • file_path

sort_direction

string

排序方向。取值:

  • asc

  • desc(默认)

删除数据集文档

DELETE /rag/v1/datasets/{dataset_id}/documents/delete_document

从指定数据集中删除特定文档。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

请求参数

参数名

类型

是否必填

描述

doc_ids

array

要删除的文档ID列表。

delete_file

boolean

是否删除上传目录中的对应文件。取值:

  • true:是

  • false(默认):否

清空数据集文档

DELETE /rag/v1/datasets/{dataset_id}/documents

清空指定数据集中的所有文档。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

获取文档统计信息

GET /rag/v1/datasets/{dataset_id}/documents/statistics

获取指定数据集的文档统计信息。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

查询功能

查询数据集

POST /rag/v1/datasets/{dataset_id}/query

在指定数据集的隔离环境中执行查询。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

请求参数

参数名

类型

是否必填

描述

query

string

查询文本。必须大于或等于1个字符。

mode

string

查询模式。取值:

  • local:基于局部上下文检索,适用于需要精确答案的具体问题。

  • global:基于全局知识图谱查询,适用于需要深度理解的概括性、概念性问题。

  • hybrid:结合局部和全局知识的混合检索,平衡准确性和覆盖面。

  • naive:向量检索。

  • mix(默认):结合向量与图搜索的混合模式,相当于naivehybrid的结合。

  • bypass:不经过RAG,直接由LLM(大语言模型)回答。

only_need_context

boolean

是否仅返回上下文,不生成响应。默认为null,取值:

  • true:是

  • false:否

only_need_prompt

boolean

是否仅返回提示,不生成响应。默认为null,取值:

  • true:是

  • false:否

response_type

string

响应格式类型。默认为null。

top_k

integer

返回结果数量。默认为null,取值范围为1~100。

chunk_top_k

integer

返回分块数量。默认为null,取值范围为1~100。

max_entity_tokens

integer

实体上下文最大令牌数。默认为null,取值大于等于1。

max_relation_tokens

integer

关系上下文最大令牌数。默认为null,取值大于等于1。

max_total_tokens

integer

总令牌预算。默认为null,取值大于等于1。

conversation_history

array

对话历史。默认为null。

history_turns

integer

对话轮次数。默认为null,取值大于等于0。

ids

array

要过滤的文档ID列表。默认为null。

user_prompt

string

自定义用户提示。默认为null。

enable_rerank

boolean

启用重新排序。默认为null。

流式查询数据集

POST /rag/v1/datasets/{dataset_id}/query/stream

对指定数据集实施流式查询,以提供实时处理,并返回流式响应。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

请求参数

参数名

类型

是否必填

描述

query

string

查询文本。必须大于或等于1个字符。

mode

string

查询模式。取值:

  • local:基于局部上下文检索,适用于需要精确答案的具体问题。

  • global:基于全局知识图谱查询,适用于需要深度理解的概括性、概念性问题。

  • hybrid:结合局部和全局知识的混合检索,平衡准确性和覆盖面。

  • naive:向量检索。

  • mix(默认):结合向量与图搜索的混合模式,相当于naivehybrid的结合。

  • bypass:不经过RAG,直接由LLM(大语言模型)回答。

only_need_context

boolean

是否仅返回上下文,不生成响应。默认为null,取值:

  • true:是

  • false:否

only_need_prompt

boolean

是否仅返回提示,不生成响应。默认为null,取值:

  • true:是

  • false:否

response_type

string

响应格式类型。默认为null。

top_k

integer

返回结果数量。默认为null,取值范围为1~100。

chunk_top_k

integer

返回分块数量。默认为null,取值范围为1~100。

max_entity_tokens

integer

实体上下文最大令牌数。默认为null,取值大于等于1。

max_relation_tokens

integer

关系上下文最大令牌数。默认为null,取值大于等于1。

max_total_tokens

integer

总令牌预算。默认为null,取值大于等于1。

conversation_history

array

对话历史。默认为null。

history_turns

integer

对话轮次数。默认为null,取值大于等于0。

ids

array

要过滤的文档ID列表。默认为null。

user_prompt

string

自定义用户提示。默认为null。

enable_rerank

boolean

启用重新排序。默认为null。

跨数据集查询

POST /rag/v1/datasets/cross-query

同时查询多个数据集,合并结果并进行跨数据集的重新排序。

请求参数

参数名

类型

是否必填

描述

query

string

查询文本。必须大于或等于1个字符。

dataset_ids

array

数据集ID列表。取值范围为1~10。

document_filters

object

每个数据集的文档ID过滤器。格式为{dataset_id: [doc_id1, doc_id2]}

mode

string

查询模式。取值:

  • local:基于局部上下文检索,适用于需要精确答案的具体问题。

  • global:基于全局知识图谱查询,适用于需要深度理解的概括性、概念性问题。

  • hybrid:结合局部和全局知识的混合检索,平衡准确性和覆盖面。

  • naive:向量检索。

  • mix(默认):结合向量与图搜索的混合模式,相当于naivehybrid的结合。

  • bypass:不经过RAG,直接由LLM(大语言模型)回答。

only_need_context

boolean

是否仅返回上下文,不生成响应。默认为null,取值:

  • true:是

  • false:否

only_need_prompt

boolean

是否仅返回提示,不生成响应。默认为null,取值:

  • true:是

  • false:否

response_type

string

响应格式类型。默认为null。

top_k

integer

返回结果数量。默认为null,取值范围为1~100。

chunk_top_k

integer

返回分块数量。默认为null,取值范围为1~100。

max_entity_tokens

integer

实体上下文最大令牌数。默认为null,取值大于等于1。

max_relation_tokens

integer

关系上下文最大令牌数。默认为null,取值大于等于1。

max_total_tokens

integer

总令牌预算。默认为null,取值大于等于1。

conversation_history

array

对话历史。默认为null。

history_turns

integer

对话轮次数。默认为null,取值大于等于0。

user_prompt

string

自定义用户提示。默认为null。

enable_rerank

boolean

启用重新排序。默认为true。

max_results_per_dataset

integer

合并前每个数据集的最大结果数量。默认为20,取值范围为1~100。

跨数据集上下文查询

POST /rag/v1/datasets/cross-query/context

从多个数据集获取上下文信息,且不生成最终响应。

请求参数

参数名

类型

是否必填

描述

query

string

查询文本。必须大于或等于1个字符。

dataset_ids

array

数据集ID列表。取值范围为1~10。

document_filters

object

每个数据集的文档ID过滤器。格式为{dataset_id: [doc_id1, doc_id2]}

mode

string

查询模式。取值:

  • local:基于局部上下文检索,适用于需要精确答案的具体问题。

  • global:基于全局知识图谱查询,适用于需要深度理解的概括性、概念性问题。

  • hybrid:结合局部和全局知识的混合检索,平衡准确性和覆盖面。

  • naive:向量检索。

  • mix(默认):结合向量与图搜索的混合模式,相当于naivehybrid的结合。

  • bypass:不经过RAG,直接由LLM(大语言模型)回答。

only_need_context

boolean

是否仅返回上下文,不生成响应。默认为null,取值:

  • true:是

  • false:否

only_need_prompt

boolean

是否仅返回提示,不生成响应。默认为null,取值:

  • true:是

  • false:否

response_type

string

响应格式类型。默认为null。

top_k

integer

返回结果数量。默认为null,取值范围为1~100。

chunk_top_k

integer

返回分块数量。默认为null,取值范围为1~100。

max_entity_tokens

integer

实体上下文最大令牌数。默认为null,取值大于等于1。

max_relation_tokens

integer

关系上下文最大令牌数。默认为null,取值大于等于1。

max_total_tokens

integer

总令牌预算。默认为null,取值大于等于1。

conversation_history

array

对话历史。默认为null。

history_turns

integer

对话轮次数。默认为null,取值大于等于0。

user_prompt

string

自定义用户提示。默认为null。

enable_rerank

boolean

启用重新排序。默认为true。

max_results_per_dataset

integer

合并前每个数据集的最大结果数量。默认为20,取值范围为1~100。

跨数据集流式查询

POST /rag/v1/datasets/cross-query/stream

对多个数据集进行流式查询,实时提供结果并返回流式响应。

请求参数

参数名

类型

是否必填

描述

query

string

查询文本。必须大于或等于1个字符。

dataset_ids

array

数据集ID列表。取值范围为1~10。

document_filters

object

每个数据集的文档ID过滤器。格式为{dataset_id: [doc_id1, doc_id2]}

mode

string

查询模式。取值:

  • local:基于局部上下文检索,适用于需要精确答案的具体问题。

  • global:基于全局知识图谱查询,适用于需要深度理解的概括性、概念性问题。

  • hybrid:结合局部和全局知识的混合检索,平衡准确性和覆盖面。

  • naive:向量检索。

  • mix(默认):结合向量与图搜索的混合模式,相当于naivehybrid的结合。

  • bypass:不经过RAG,直接由LLM(大语言模型)回答。

only_need_context

boolean

是否仅返回上下文,不生成响应。默认为null,取值:

  • true:是

  • false:否

only_need_prompt

boolean

是否仅返回提示,不生成响应。默认为null,取值:

  • true:是

  • false:否

response_type

string

响应格式类型。默认为null。

top_k

integer

返回结果数量。默认为null,取值范围为1~100。

chunk_top_k

integer

返回分块数量。默认为null,取值范围为1~100。

max_entity_tokens

integer

实体上下文最大令牌数。默认为null,取值大于等于1。

max_relation_tokens

integer

关系上下文最大令牌数。默认为null,取值大于等于1。

max_total_tokens

integer

总令牌预算。默认为null,取值大于等于1。

conversation_history

array

对话历史。默认为null。

history_turns

integer

对话轮次数。默认为null,取值大于等于0。

user_prompt

string

自定义用户提示。默认为null。

enable_rerank

boolean

启用重新排序。默认为true。

max_results_per_dataset

integer

合并前每个数据集的最大结果数量。默认为20,取值范围为1~100。

搜索功能

搜索数据集

POST /rag/v1/datasets/{dataset_id}/search

在指定数据集的隔离环境中进行实体、关系或分块的搜索。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

请求参数

参数名

类型

是否必填

描述

query

string

搜索查询。必须大于或等于1个字符。

search_type

string

搜索类型。取值:

  • entities:实体

  • relations:关系

  • chunks:文本块

  • all(默认):以上所有

top_k

integer

返回结果数量。默认为10,取值范围1~100。

图谱功能

获取图谱统计信息

GET /rag/v1/datasets/{dataset_id}/graphs/statistics

获取特定数据集的知识图谱综合统计信息。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

获取图谱标签

GET /rag/v1/datasets/{dataset_id}/graphs/labels

获取指定数据集知识图谱中可用的节点标签。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

查询图谱数据

GET /rag/v1/datasets/{dataset_id}/graphs

查询特定数据集的知识图谱数据(节点和边)。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

请求参数

参数名

类型

是否必填

描述

label

string

要查询的图谱标签。默认为*

max_depth

integer

最大查询深度。默认为2,取值范围1~10。

max_nodes

integer

返回的最大节点数。默认为100,取值范围为1~1000.

获取数据集健康状态

GET /rag/v1/datasets/{dataset_id}/health

获取指定数据集的健康状态,包括数据的可用性、图谱的连接性以及相关建议。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

缓存管理

清空数据集缓存

POST /rag/v1/datasets/{dataset_id}/clear_cache

清空指定数据集的LLM缓存数据。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

管道管理

获取数据集管道状态

GET /rag/v1/datasets/{dataset_id}/pipeline/status

获取指定数据集的管道处理状态。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

清空数据集管道缓存

POST /rag/v1/datasets/{dataset_id}/pipeline/clear_cache

清除指定数据集的管道缓存。

路径参数

参数名

类型

是否必填

描述

dataset_id

string

数据集的UUID。

获取管道状态概览

GET /pipeline/status/overview

获取所有数据集及全局管道的管道状态概览。

系统功能

获取认证状态

GET /auth-status

获取认证状态;如果未配置认证,则返回访客令牌。

登录认证

POST /login

用户登录认证。

请求参数

参数名

类型

是否必填

描述

grant_type

string

授权类型。默认为null。

username

string

用户名。

password

string

密码。

scope

string

作用域。默认为""

client_id

string

客户端ID。默认为null。

client_secret

string

客户端密钥。默认为null。

健康检查

GET /health

获取当前系统状态。

请求参数

参数名

类型

是否必填

描述

api_key_header_value

string

API密钥。默认为null。

响应信息

RAG AgentAPI采用标准HTTP状态码。

常见状态码

状态码

描述

说明

200

成功

请求已成功处理

400

请求错误

参数错误、配置无效等

401

未认证

缺失或无效的认证信息

404

资源不存在

数据集或文档不存在

422

验证错误

请求参数验证失败

500

服务器错误

内部服务器发生错误

错误响应

所有错误响应均遵循统一格式:

{
  "error": "错误类型",
  "message": "详细错误描述",
  "dataset_id": "相关数据集ID(可选)"
}

使用示例

创建数据集并上传文档

  1. 创建数据集。

    curl -X POST "http://api.example.com/rag/v1/datasets?apikey=<api_key>" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "My Knowledge Base",
        "description": "Company documents and policies",
        "visibility": "private"
      }'
  2. 上传文档,以本地文件为例。

    curl -X POST "http://api.example.com/rag/v1/datasets/{dataset_id}/documents/upload?apikey=<api_key>" \
      -F "file=@document.pdf"
  3. 向数据集中插入内容。

    curl -X POST "http://api.example.com/rag/v1/datasets/{dataset_id}/documents/text?apikey=<api_key>" \
      -H "Content-Type: application/json" \
      -d '{
        "text": "This is important company information...",
        "file_source": "manual_input"
      }'

查询数据集

  • 单个数据集查询

    curl -X POST "http://api.example.com/rag/v1/datasets/{dataset_id}/query?apikey=<api_key>" \
      -H "Content-Type: application/json" \
      -d '{
        "query": "What is our company policy on remote work?",
        "mode": "hybrid",
        "top_k": 5
      }'
  • 跨数据集查询

    curl -X POST "http://api.example.com/rag/v1/datasets/cross-query?apikey=<api_key>" \
      -H "Content-Type: application/json" \
      -d '{
        "query": "Compare policies across departments",
        "dataset_ids": ["dataset1", "dataset2", "dataset3"],
        "enable_rerank": true,
        "max_results_per_dataset": 10
      }'

搜索和统计

  • 搜索实体和关系

    curl -X POST "http://api.example.com/rag/v1/datasets/{dataset_id}/search?apikey=<api_key>" \
      -H "Content-Type: application/json" \
      -d '{
        "query": "remote work policy",
        "search_type": "entities",
        "top_k": 10
      }'
  • 获取文档统计

    curl -X GET "http://api.example.com/rag/v1/datasets/{dataset_id}/documents/statistics?apikey=<api_key>"
  • 获取图谱统计

    curl -X GET "http://api.example.com/rag/v1/datasets/{dataset_id}/graphs/statistics?apikey=<api_key>"

远程文件上传

  • Supabase存储

    curl -X POST "http://api.example.com/rag/v1/datasets/{dataset_id}/documents/upload?apikey=<api_key>" \
      -F "remote_file_path=folder1/folder2/document.pdf" \
      -F "remote_storage_type=supabase" \
      -F 'remote_storage_config={"url":"http://xxx.supabase.co","key":"xxx","bucket":"bucket"}' \
      -F "original_filename=document.pdf"
  • 阿里云OSS

    curl -X POST "http://api.example.com/rag/v1/datasets/{dataset_id}/documents/upload?apikey=<api_key>" \
      -F "remote_file_path=folder1/folder2/document.pdf" \
      -F "remote_storage_type=aliyun-oss" \
      -F 'remote_storage_config={"access_key_id":"xxx","access_key_secret":"xxx","bucket":"bucket","endpoint":"oss-region.aliyuncs.com"}' \
      -F "original_filename=document.pdf"
说明

请将folder1/folder2/document.pdf替换为您实际业务场景中文件存储的相对路径。

数据集响应信息(DatasetInfo)

{
  "dataset_uuid": "string",
  "name": "string",
  "description": "string",
  "rag_type": "string",
  "workspace": "string",
  "namespace_prefix": "string", 
  "created_at": "2024-01-01T00:00:00Z",
  "updated_at": "2024-01-01T00:00:00Z",
  "status": "string",
  "storage_type": "string",
  "chunk_engine": "string",
  "schedule": "string",
  "args": {},
  "created_by": "string",
  "owner_id": "string",
  "visibility": "string",
  "default_permission": "string"
}

文档响应信息 (DocStatusResponse)

{
  "id": "doc_123456",
  "content_summary": "Research paper on machine learning",
  "content_length": 15240,
  "status": "processed",
  "created_at": "2025-03-31T12:34:56",
  "updated_at": "2025-03-31T12:35:30",
  "track_id": "upload_20250729_170612_abc123",
  "chunks_count": 12,
  "error_msg": null,
  "metadata": {
    "author": "John Doe",
    "year": 2025
  },
  "file_path": "research_paper.pdf"
}

分页响应信息(PaginationInfo)

{
  "page": 1,
  "page_size": 50,
  "total_count": 150,
  "total_pages": 3,
  "has_next": true,
  "has_prev": false
}

支持的文件类型

系统支持多种文档格式如下:

  • PDF文档

  • Word文档(.doc,.docx)

  • 文本文件(.txt)

  • Markdown文件(.md)

  • HTML文件(.html)

说明

具体支持的格式可能会因配置和版本的不同而有所变化。