Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memantau basis pengetahuan menggunakan CloudWatch Log
Amazon Bedrock mendukung sistem pemantauan untuk membantu Anda memahami pelaksanaan pekerjaan penyerapan data apa pun untuk basis pengetahuan Anda. Bagian berikut mencakup cara mengaktifkan dan mengonfigurasi sistem logging untuk basis pengetahuan Amazon Bedrock menggunakan Konsol Manajemen AWS dan CloudWatch API. Anda dapat memperoleh visibilitas ke dalam penyerapan data sumber daya basis pengetahuan Anda dengan sistem logging ini.
Prasyarat
Sebelum Anda mengaktifkan logging untuk basis pengetahuan Amazon Bedrock, konfirmasikan hal berikut:
-
Akun pengguna yang masuk ke konsol memiliki
bedrock:AllowVendedLogDeliveryForResourceizin. Izin ini memungkinkan log dikirimkan untuk sumber daya basis pengetahuan. Untuk contoh kebijakan IAM dengan semua izin yang diperlukan, lihat Izin log yang dijual untuk tujuan pengiriman yang berbeda. Ikuti contoh role/permission kebijakan IAM untuk tujuan logging Anda, termasuk mengizinkan pembaruan ke sumber daya tujuan logging tertentu Anda (baik CloudWatch Logs, Amazon S3, atau Amazon Data Firehose). -
Periksa apakah ada batasan kuota untuk CloudWatch panggilan API terkait pengiriman Log. Untuk informasi selengkapnya, lihat dokumentasi kuota layanan CloudWatch Logs. Jika Anda melebihi batas, itu menghasilkan
ServiceQuotaExceededExceptionkesalahan.
Jenis log yang didukung
Basis pengetahuan Amazon Bedrock mendukung jenis log berikut:
-
APPLICATION_LOGS: Log yang melacak status file tertentu saat ini selama pekerjaan penyerapan data.
Mengaktifkan pencatatan untuk basis pengetahuan Amazon Bedrock (konsol)
Untuk mengaktifkan logging menggunakan konsol
-
Buat basis pengetahuan. Untuk petunjuk, lihat Membuat basis pengetahuan.
-
Edit basis pengetahuan Anda untuk menambahkan opsi pengiriman log.
catatan
Pengiriman log tidak didukung saat membuat basis pengetahuan dengan penyimpanan data terstruktur, atau untuk Indeks Kendra GenAI.
-
Konfigurasikan detail pengiriman log, termasuk:
-
Tujuan pen catatan (CloudWatch Log, Amazon S3, atau Amazon Data Firehose)
-
(Jika menggunakan CloudWatch Log) Nama grup log
-
(Jika menggunakan Amazon S3) Nama bucket
-
(Jika menggunakan Amazon Data Firehose) Aliran Firehose
-
-
Lampirkan kebijakan IAM ke akun Anda untuk memberikan izin untuk menulis log ke tujuan.
Contoh kebijakan IAM berikut memberikan izin yang diperlukan saat menggunakan CloudWatch Log:
-
Verifikasi bahwa status pengiriman log menunjukkan Pengiriman aktif di konsol.
Mengaktifkan pencatatan untuk basis pengetahuan (CloudWatch API) Amazon Bedrock
Untuk mengaktifkan logging menggunakan CloudWatch API
-
Buat basis pengetahuan menggunakan Amazon Bedrock API atau konsol Amazon Bedrock. Untuk petunjuk, lihat Membuat basis pengetahuan.
-
Dapatkan ARN dari basis pengetahuan Anda. Panggil GetKnowledgeBase API untuk mengambil ARN. Basis pengetahuan ARN mengikuti format ini:
arn:aws:bedrock:your-region:your-account-id:knowledge-base/knowledge-base-id -
Panggil PutDeliverySource API untuk membuat sumber pengiriman untuk basis pengetahuan. Luluskan basis pengetahuan ARN sebagai
resourceArn. SetlogTypeel keAPPLICATION_LOGS, yang melacak status file selama pekerjaan penyerapan.{ "logType": "APPLICATION_LOGS", "name": "my-knowledge-base-delivery-source", "resourceArn": "arn:aws:bedrock:your-region:your-account-id:knowledge-base/knowledge_base_id" } -
Panggil PutDeliveryDestination API untuk mengonfigurasi tempat log disimpan.
-
Pilih CloudWatch Logs, Amazon S3, atau Amazon Data Firehose sebagai tujuan.
-
Tentukan ARN tujuan yang Anda pilih.
-
Set
outputFormatel ke salah satu dari berikut ini:jsonplain,,w3c,raw,parquet.
Contoh berikut menyimpan log dalam bucket Amazon S3 dalam format JSON:
{ "deliveryDestinationConfiguration": { "destinationResourceArn": "arn:aws:s3:::bucket-name" }, "name": "string", "outputFormat": "json", "tags": { "key" : "value" } }Untuk mengirimkan log lintas akun, gunakan
PutDeliveryDestinationPolicyAPI untuk menetapkan kebijakan IAM ke akun tujuan. Kebijakan ini memungkinkan pengiriman dari satu akun ke akun lainnya. -
-
Panggil CreateDelivery API untuk menautkan sumber pengiriman ke tujuan. Ini mengaitkan sumber pengiriman dengan tujuan akhir.
{ "deliveryDestinationArn": "string", "deliverySourceName": "string", "tags": { "string" : "string" } }
catatan
Jika Anda ingin menggunakan CloudFormation, Anda dapat menggunakan yang berikut ini:
Ini ResourceArn adalahKnowledgeBaseARN, dan LogType harus APPLICATION_LOGS sebagai jenis log yang didukung.
Contoh log basis pengetahuan
Ada log tingkat konsumsi data dan log tingkat sumber daya untuk basis pengetahuan Amazon Bedrock.
Berikut ini adalah contoh log pekerjaan penyerapan data.
{ "event_timestamp": 1718683433639, "event": { "ingestion_job_id": "<IngestionJobId>", "data_source_id": "<IngestionJobId>", "ingestion_job_status": "INGESTION_JOB_STARTED" | "STOPPED" | "COMPLETE" | "FAILED" | "CRAWLING_COMPLETED" "knowledge_base_arn": "arn:aws:bedrock:<region>:<accountId>:knowledge-base/<KnowledgeBaseId>", "resource_statistics": { "number_of_resources_updated": int, "number_of_resources_ingested": int, "number_of_resources_scheduled_for_update": int, "number_of_resources_scheduled_for_ingestion": int, "number_of_resources_scheduled_for_metadata_update": int, "number_of_resources_deleted": int, "number_of_resources_with_metadata_updated": int, "number_of_resources_failed": int, "number_of_resources_scheduled_for_deletion": int } }, "event_version": "1.0", "event_type": "StartIngestionJob.StatusChanged", "level": "INFO" }
Berikut ini adalah contoh log tingkat sumber daya.
{ "event_timestamp": 1718677342332, "event": { "ingestion_job_id": "<IngestionJobId>", "data_source_id": "<IngestionJobId>", "knowledge_base_arn": "arn:aws:bedrock:<region>:<accountId>:knowledge-base/<KnowledgeBaseId>", "document_location": { "type": "S3", "s3_location": { "uri": "s3:/<BucketName>/<ObjectKey>" } }, "status": "<ResourceStatus>" "status_reasons": String[], "chunk_statistics": { "ignored": int, "created": int, "deleted": int, "metadata_updated": int, "failed_to_create": int, "failed_to_delete": int, "failed_to_update_metadata": int }, }, "event_version": "1.0", "event_type": "StartIngestionJob.ResourceStatusChanged", "level": "INFO" | "WARN" | "ERROR" }
Sumber daya status untuk dapat menjadi salah satu dari berikut ini:
-
SCHEDULED_FOR_INGESTION,SCHEDULED_FOR_DELETION,SCHEDULED_FOR_UPDATE,SCHEDULED_FOR_METADATA_UPDATE: Nilai status ini menunjukkan bahwa sumber daya dijadwalkan untuk diproses setelah menghitung perbedaan antara keadaan basis pengetahuan saat ini dan perubahan yang dibuat dalam sumber data. -
RESOURCE_IGNORED: Nilai status ini menunjukkan bahwa sumber daya diabaikan untuk diproses, dan alasannya dirinci di dalamstatus_reasonsproperti. -
EMBEDDING_STARTEDdanEMBEDDING_COMPLETED: Nilai status ini menunjukkan kapan penyematan vektor untuk sumber daya dimulai dan selesai. -
INDEXING_STARTEDdanINDEXING_COMPLETED: Nilai status ini menunjukkan kapan pengindeksan untuk sumber daya dimulai dan selesai. -
DELETION_STARTEDdanDELETION_COMPLETED: Nilai status ini menunjukkan kapan penghapusan untuk sumber daya dimulai dan selesai. -
METADATA_UPDATE_STARTEDdanMETADATA_UPDATE_COMPLETED: Nilai status ini menunjukkan kapan pembaruan metadata untuk sumber daya dimulai dan selesai. -
EMBEDDING_FAILED,INDEXING_FAILED,DELETION_FAILED, danMETADATA_UPDATE_FAILED: Nilai status ini menunjukkan bahwa pemrosesan sumber daya gagal, dan alasannya dirinci di dalamstatus_reasonsproperti. -
INDEXEDDELETED,PARTIALLY_INDEXED,METADATA_PARTIALLY_INDEXED,,FAILED: Setelah pemrosesan dokumen selesai, log diterbitkan dengan status akhir dokumen, dan ringkasan pemrosesan di dalamchunk_statisticsproperti. -
CRAWLED,RESOURCE_CRAWLED,RESOURCE_FETCHED,CRAWLING_COMPLETED,CONNECTOR_CRAWLING_COMPLETED: Nilai status ini menunjukkan bahwa sumber daya telah dirayapi atau diambil dari konektor sumber data. -
PENDING,STARTING,IN_PROGRESS: Nilai status ini menunjukkan bahwa sumber daya sedang mengantri atau sedang diproses. -
DELETE_IN_PROGRESS,DELETING: Nilai status ini menunjukkan bahwa sumber daya sedang dalam proses dihapus. -
INGESTION_JOB_STARTED,INGESTION_JOB_FAILED: Nilai status ini menunjukkan awal atau kegagalan keseluruhan pekerjaan penyerapan untuk sumber daya. -
GRAPH_ENTITY_EXTRACTION_STARTED,GRAPH_ENTITY_EXTRACTION_COMPLETED,GRAPH_ENTITY_EXTRACTION_FAILED: Nilai status ini menunjukkan kemajuan ekstraksi entitas grafik untuk basis pengetahuan yang menggunakan penyimpanan data grafik.
Contoh kueri umum untuk men-debug log basis pengetahuan
Anda dapat berinteraksi dengan log menggunakan kueri. Misalnya, Anda dapat menanyakan semua dokumen dengan status acara RESOURCE_IGNORED selama penyerapan dokumen atau data.
Berikut ini adalah beberapa kueri umum yang dapat digunakan untuk men-debug log yang dihasilkan menggunakan CloudWatch Logs Insights:
-
Kueri untuk semua log yang dihasilkan untuk dokumen S3 tertentu.
filter event.document_location.s3_location.uri = "s3://<bucketName>/<objectKey>" -
Kueri untuk semua dokumen diabaikan selama pekerjaan penyerapan data.
filter event.status = "RESOURCE_IGNORED" -
Kueri untuk semua pengecualian yang terjadi saat menanamkan dokumen vektor.
filter event.status = "EMBEDDING_FAILED" -
Kueri untuk semua pengecualian yang terjadi saat mengindeks dokumen ke database vektor.
filter event.status = "INDEXING_FAILED" -
Kueri untuk semua pengecualian yang terjadi saat menghapus dokumen dari database vektor.
filter event.status = "DELETION_FAILED" -
Kueri untuk semua pengecualian yang terjadi saat memperbarui metadata dokumen Anda di database vektor.
filter event.status = "DELETION_FAILED" -
Kueri untuk semua pengecualian yang terjadi selama eksekusi pekerjaan penyerapan data.
filter level = "ERROR" or level = "WARN"