将文档上传到 Azure AI 搜索

问题描述 投票:0回答:1

我正在使用 azure AI 搜索实现 RAG。我已经创建了索引,总共有 2605 个文档块要上传到索引。我观察到的奇怪行为是:

  1. 我无法一次性上传所有 2605 个块。
  2. 我尝试以 600 的批量大小传递这些数据,在每次迭代中循环并传递 600。我最终只上传了 2000 个。它在三次迭代中加载了 600 个,但在第四次迭代中它只加载了 200 个,然后中止。
  3. 如果我将批量大小增加到 900。我从输出中看到,所有块在前两次迭代中加载了 900,而在第三次迭代中加载了剩余的 805。

我试图了解幕后发生的事情,因为我需要提供一个代码来处理小至 10 个块到大至 10000 个块的上传。 从网站上的文档来看,Azure AI 施加了某些限制。就像上传的文档不能大于16 MB,批量大小不能超过每批1000。这两个加在一起仍然不能解释为什么我无法加载批量大小为 600 的所有块,而批量大小为 900 时我却成功了。

我希望它能够加载块,而不管批量大小。

vector azure-cognitive-search large-language-model azure-ai retrieval-augmented-generation
1个回答
0
投票

我使用Python SDK上传文档,上传成功。我尝试了 3k 和 10k 文档,它成功地将所有这些文档一次性上传到索引。

请参考以下代码。

import os

index_name = "hotels-2"

from azure.core.credentials import AzureKeyCredential
from azure.search.documents import SearchClient

search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))

def upload_document():

    result = search_client.upload_documents(documents=hotels)

    print("Upload of new document succeeded: {}".format(result[0].succeeded))

输出:

Enter image description here

如果你看到了,文档的长度是

10000

在门户中:

Enter image description here

有关更多信息,请参阅此 GitHub 存储库

© www.soinside.com 2019 - 2024. All rights reserved.