Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan fungsi Lambda transformasi kustom untuk menentukan bagaimana data Anda dicerna
Anda memiliki kemampuan untuk menentukan fungsi Lambda transformasi khusus untuk menyuntikkan logika Anda sendiri ke dalam proses konsumsi basis pengetahuan.
Anda mungkin memiliki logika chunking tertentu, tidak didukung secara native oleh basis pengetahuan Amazon Bedrock. Gunakan opsi strategi no chunking, sambil menentukan fungsi Lambda yang berisi logika chunking Anda. Selain itu, Anda harus menentukan bucket Amazon S3 agar basis pengetahuan dapat menulis file yang akan dipotong oleh fungsi Lambda Anda.
Setelah chunking, fungsi Lambda Anda akan menulis kembali file yang dipotong ke dalam bucket yang sama dan mengembalikan referensi untuk basis pengetahuan untuk diproses lebih lanjut. Anda secara opsional memiliki kemampuan untuk menyediakan AWS KMS kunci Anda sendiri untuk enkripsi file yang disimpan di bucket S3 Anda.
Atau, Anda mungkin ingin menentukan metadata tingkat potongan, sementara basis pengetahuan menerapkan salah satu strategi chunking yang didukung secara asli. Dalam hal ini, pilih salah satu strategi chunking yang telah ditentukan sebelumnya (misalnya, chunking default atau ukuran tetap), sambil memberikan referensi ke fungsi Lambda dan bucket S3 Anda. Dalam hal ini, basis pengetahuan akan menyimpan file yang diuraikan dan yang telah dipotong sebelumnya di bucket S3 yang telah ditentukan sebelumnya, sebelum memanggil fungsi Lambda Anda untuk menambahkan metadata tingkat potongan lebih lanjut.
Setelah menambahkan metadata tingkat potongan, fungsi Lambda Anda akan menulis kembali file yang dipotong ke dalam bucket yang sama dan mengembalikan referensi untuk basis pengetahuan untuk diproses lebih lanjut. Harap dicatat bahwa metadata tingkat potongan diutamakan dan menimpa metadata tingkat file, jika terjadi tabrakan.
Untuk kontrak API dan file, lihat struktur di bawah ini:
Kontrak API saat menambahkan transformasi khusus menggunakan fungsi Lambda
{ ... "vectorIngestionConfiguration": { "customTransformationConfiguration": { // Custom transformation "intermediateStorage": { "s3Location": { // the location where input/output of the Lambda is expected "uri": "string" } }, "transformations": [{ "transformationFunction": { "transformationLambdaConfiguration": { "lambdaArn": "string" } }, "stepToApply": "string" // enum of POST_CHUNKING }] }, "chunkingConfiguration": { "chunkingStrategy": "string", "fixedSizeChunkingConfiguration": { "maxTokens": "number", "overlapPercentage": "number" } ... } } }
Format masukan transformasi Lambda kustom
{ "version": "1.0", "knowledgeBaseId": "string", "dataSourceId": "string", "ingestionJobId": "string", "bucketName": "string", "priorTask": "string", "inputFiles": [{ "originalFileLocation": { "type": "S3", "s3_location": { "uri": "string" } }, "fileMetadata": { "key1": "value1", "key2": "value2" }, "contentBatches": [{ "key":"string" }] }] }
Format keluaran transformasi Lambda kustom
{ "outputFiles": [{ "originalFileLocation": { "type": "S3", "s3_location": { "uri": "string" } }, "fileMetadata": { "key1": "value1", "key2": "value2" }, "contentBatches": [{ "key": "string" }] }] }
Format file untuk objek yang direferensikan di fileContents
{ "fileContents": [{ "contentBody": "...", "contentType": "string", // enum of TEXT, PDF, ... "contentMetadata": { "key1": "value1", "key2": "value2" } } ... ] }