如何调用 RAGflow 的 API 接口?

如果第三方脚本需要调用 RAGflow 的 API 接口,向知识库提供内容并进行 RAG 处理,通常需要调用以下相关接口:

1. 创建数据集 (Create dataset)

  • 接口 :POST /api/v1/datasets

  • 作用 :在向知识库提供内容之前,需要先创建一个数据集(知识库)。这个接口允许你指定数据集的名称、语言、嵌入模型等参数。

  • 示例

curl --request POST \
     --url http://{address}/api/v1/datasets \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <YOUR_API_KEY>' \
     --data '{
      "name": "test_1"
     }'

2. 上传文档 (Upload documents)

  • 接口 :POST /api/v1/datasets/{dataset_id}/documents

  • 作用 :将文档(如文本文件、PDF 等)上传到指定的数据集(知识库)中。这是将内容导入知识库的关键步骤。

  • 示例

curl --request POST \
     --url http://{address}/api/v1/datasets/{dataset_id}/documents \
     --header 'Content-Type: multipart/form-data' \
     --header 'Authorization: Bearer <YOUR_API_KEY>' \
     --form 'file=@./test1.txt' \
     --form 'file=@./test2.pdf'

3. 解析文档 (Parse documents)

  • 接口 :POST /api/v1/datasets/{dataset_id}/chunks

  • 作用 :对上传的文档进行解析,将其内容转换为适合 RAG 处理的格式。这个过程会根据文档的类型和内容进行相应的处理,如文本提取、分词等。

  • 示例

curl --request POST \
     --url http://{address}/api/v1/datasets/{dataset_id}/chunks \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <YOUR_API_KEY>' \
     --data '
     {
          "document_ids": ["97a5f1c2759811efaa500242ac120004","97ad64b6759811ef9fc30242ac120004"]
     }'

4. 检索内容 (Retrieve chunks)

  • 接口 :POST /api/v1/retrieval

  • 作用 :在完成文档解析后,如果需要从知识库中检索特定内容,可以使用此接口。它会根据用户的问题或关键词,在知识库中查找相关的文档片段(chunks)。

  • 示例

curl --request POST \
     --url http://{address}/api/v1/retrieval \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <YOUR_API_KEY>' \
     --data '
     {
          "question": "What is advantage of ragflow?",
          "dataset_ids": ["b2a62730759d11ef987d0242ac120004"],
          "document_ids": ["77df9ef4759a11ef8bdd0242ac120004"]
     }'

5. 创建聊天会话 (Create session with chat assistant)

  • 接口 :POST /api/v1/chats/{chat_id}/sessions

  • 作用 :如果希望与知识库进行交互式对话,需要先创建一个聊天会话。这个会话将用于后续的对话交互。

  • 示例

curl --request POST \
     --url http://{address}/api/v1/chats/{chat_id}/sessions \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <YOUR_API_KEY>' \
     --data '
     {
          "name": "new session"
     }'

6. 与聊天助手对话 (Converse with chat assistant)

  • 接口 :POST /api/v1/chats/{chat_id}/completions

  • 作用 :在创建会话后,可以使用此接口向聊天助手提问,开启基于知识库的 AI 对话。聊天助手会根据知识库中的内容生成回答。

  • 示例

curl --request POST \
     --url http://{address}/api/v1/chats/{chat_id}/completions \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <YOUR_API_KEY>' \
     --data-binary '
     {
          "question": "Who are you",
          "stream": true,
          "session_id":"9fa7691cb85c11ef9c5f0242ac120005"
     }'

通过以上接口,第三方脚本可以完成向 RAGflow 知识库提供内容并进行 RAG 处理的整个流程。根据具体的应用场景和需求,可以选择调用其中的部分或全部接口。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值