正如标题所示,我在同步知识库时遇到问题。我有一个想要同步的阿拉伯语语料库,它有数千本书。我从两本书开始测试同步,这就是我遇到问题的地方。我把语料库放到了s3。
我的 s3 文件夹如下所示,我为每本书的每个页面创建了一个文件:
s3-bucket-folder
|__arabic_corpus
|__book1
|__volume-01---page-1.txt # the whole content is in arabic
|__volume-01---page-1.txt.metadata.json
|_ .....
|__book2
|__volume-01---page-1.txt # the whole content is in arabic
|__volume-01---page-1.txt.metadata.json
|_ ...
总文件数约为 1500 个。但是有 100 多个文件失败,我不明白为什么失败。我检查了 CW 日志,它似乎没有那么有帮助。以下是 CW 的错误日志示例:
{"event_timestamp":1729478666096,"event":{"ingestion_job_id":"xx","document_location":{"type":"S3","s3_location":{"uri":"s3://xx/arabic_corpus/book1/volume-01---page-125.txt"}},"data_source_id":"xx","status_reasons":["Invalid parameter combination. Please check and try again. (Service: BedrockRuntime, Status Code: 400, Request ID: xx)"],"knowledge_base_arn":"arn:aws:bedrock:us-east-1:xx:knowledge-base/xx","status":"EMBEDDING_FAILED"},"event_version":"1.0","event_type":"StartIngestionJob.ResourceStatusChanged","level":"WARN"}
这是它的元数据
{
"metadataAttributes": {
"booktitle": "<title in arabic>",
....
"page_id": "volume-01,-page-125"
}
}
更多背景:我没有使用分块策略。同步适用于 1400 多个文件,但有 100 多个文件因该问题而失败,但我不明白为什么会失败。
本知识库使用的嵌入模型是:
cohere.embed-multilingual-v3
有没有办法可以在本地重新生成 AWS Bedrock 知识库同步,以便我可以尝试在本地重现它?我怀疑这些页面可能存在一些无效字符,但是当我与成功的页面进行比较时,我没有看到异常。
我想也许
.txt
扩展只支持ASCII,如这里所述,但这有点奇怪,因为1400个阿拉伯语内容页面都可以工作。尽管如此,我尝试将文件更新为.md
,.pdf
,.html
,但它有同样的问题。
每页也少于2048个字符。
我还删除了
.metadata.json
文件作为调试的一部分,但似乎页面内容本身失败了,而不是元数据。
我在这里问了同样的问题https://repost.aws/questions/QUcaW7bsFQQICbQ5Ig0j7AtA/aws-bedrock-knowledge-base-sync-fail-invalid-parameter-combination-issue-occurred-while-processing-file-s3- file-call-to-null-did-not-succeed 但没有取得太大进展在这里。
您应该检查文件的大小,因为 AWS Bedrock 中的知识库数据每个文件不能超过 50 MB。您可以在 AWS 文档此处中找到有关此内容的更多详细信息。