README_ms-MY.md

October 16, 2025 · View on GitHub

Bedrock Chat (BrChat)

English | 日本語 | 한국어 | 中文 | Français | Deutsch | Español | Italian | Norsk | ไทย | Bahasa Indonesia | Bahasa Melayu | Tiếng Việt | Polski | Português Brasil

Platform AI generatif berbilang bahasa yang dikuasakan oleh Amazon Bedrock. Menyokong perbualan, bot tersuai dengan pengetahuan (RAG), perkongsian bot melalui kedai bot, dan automasi tugas menggunakan ejen.

Warning

V3 telah dikeluarkan. Untuk mengemas kini, sila semak dengan teliti panduan migrasi. Tanpa sebarang perhatian, BOT DARI V2 AKAN MENJADI TIDAK BOLEH DIGUNAKAN.

Personalisasi Bot / Kedai Bot

Tambah arahan dan pengetahuan anda sendiri (juga dikenali sebagai RAG. Bot boleh dikongsi antara pengguna aplikasi melalui pasaran kedai bot. Bot yang disuaikan juga boleh diterbitkan sebagai API tersendiri (Lihat butiran).

Tangkapan Skrin

Anda juga boleh mengimport KnowledgeBase Amazon Bedrock yang sedia ada.

Important

Atas sebab tadbir urus, hanya pengguna yang dibenarkan boleh mencipta bot tersuai. Untuk membenarkan penciptaan bot tersuai, pengguna mesti menjadi ahli kumpulan yang dipanggil CreatingBotAllowed, yang boleh disediakan melalui konsol pengurusan > Amazon Cognito User pools atau aws cli. Perhatikan bahawa id kumpulan pengguna boleh dirujuk dengan mengakses CloudFormation > BedrockChatStack > Outputs > AuthUserPoolIdxxxx.

Ciri-ciri Pentadbiran

Pengurusan API, Tandakan bot sebagai penting, Analisis penggunaan untuk bot. butiran

Tangkapan Skrin

)

Ejen

Dengan menggunakan fungsi Ejen, bot perbualan anda boleh mengendalikan tugas yang lebih kompleks secara automatik. Sebagai contoh, untuk menjawab soalan pengguna, Ejen boleh mendapatkan maklumat yang diperlukan daripada alat luaran atau memecahkan tugas kepada beberapa langkah untuk diproses.

Tangkapan Skrin

🚀 Penempatan Super Mudah

  • Di rantau us-east-1, buka Akses Model Bedrock > Manage model access > Tandakan semua model yang anda ingin gunakan dan kemudian Save changes.
Tangkapan Skrin

Rantau yang Disokong

Sila pastikan anda menempatkan Bedrock Chat di rantau di mana OpenSearch Serverless dan API Ingestion tersedia, jika anda ingin menggunakan bot dan mencipta pangkalan pengetahuan (OpenSearch Serverless adalah pilihan lalai). Sehingga Ogos 2025, rantau berikut disokong: us-east-1, us-east-2, us-west-1, us-west-2, ap-south-1, ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-west-1, eu-west-2, eu-south-2, eu-north-1, sa-east-1

Untuk parameter bedrock-region anda perlu memilih rantau di mana Bedrock tersedia.

  • Buka CloudShell di rantau di mana anda ingin menempatkan
  • Jalankan penempatan melalui arahan berikut. Jika anda ingin menentukan versi untuk ditempatkan atau perlu menggunakan dasar keselamatan, sila tentukan parameter yang sesuai dari Parameter Pilihan.
git clone https://github.com/aws-samples/bedrock-chat.git
cd bedrock-chat
chmod +x bin.sh
./bin.sh
  • Anda akan ditanya sama ada pengguna baru atau menggunakan v3. Jika anda bukan pengguna yang meneruskan dari v0, sila masukkan y.

Parameter Pilihan

Anda boleh menentukan parameter berikut semasa penempatan untuk meningkatkan keselamatan dan penyesuaian:

  • --disable-self-register: Nyahaktifkan pendaftaran sendiri (lalai: diaktifkan). Jika bendera ini ditetapkan, anda perlu mencipta semua pengguna di cognito dan ia tidak akan membenarkan pengguna mendaftar akaun mereka sendiri.
  • --enable-lambda-snapstart: Aktifkan Lambda SnapStart (lalai: dinyahaktifkan). Jika bendera ini ditetapkan, ia meningkatkan masa mula sejuk untuk fungsi Lambda, memberikan masa tindak balas yang lebih pantas untuk pengalaman pengguna yang lebih baik.
  • --ipv4-ranges: Senarai julat IPv4 yang dibenarkan, dipisahkan dengan koma. (lalai: benarkan semua alamat ipv4)
  • --ipv6-ranges: Senarai julat IPv6 yang dibenarkan, dipisahkan dengan koma. (lalai: benarkan semua alamat ipv6)
  • --disable-ipv6: Nyahaktifkan sambungan melalui IPv6. (lalai: diaktifkan)
  • --allowed-signup-email-domains: Senarai domain e-mel yang dibenarkan untuk pendaftaran, dipisahkan dengan koma. (lalai: tiada sekatan domain)
  • --bedrock-region: Tentukan rantau di mana bedrock tersedia. (lalai: us-east-1)
  • --repo-url: Repo tersuai Bedrock Chat untuk ditempatkan, jika difork atau kawalan sumber tersuai. (lalai: https://github.com/aws-samples/bedrock-chat.git)
  • --version: Versi Bedrock Chat untuk ditempatkan. (lalai: versi terkini dalam pembangunan)
  • --cdk-json-override: Anda boleh mengatasi mana-mana nilai konteks CDK semasa penempatan menggunakan blok JSON override. Ini membolehkan anda mengubah suai konfigurasi tanpa mengedit fail cdk.json secara langsung.

Contoh penggunaan:

./bin.sh --cdk-json-override '{
  "context": {
    "selfSignUpEnabled": false,
    "enableLambdaSnapStart": true,
    "allowedIpV4AddressRanges": ["192.168.1.0/24"],
    "allowedCountries": ["US", "CA"],
    "allowedSignUpEmailDomains": ["example.com"],
    "globalAvailableModels": [
      "claude-v3.7-sonnet",
      "claude-v3.5-sonnet",
      "amazon-nova-pro",
      "amazon-nova-lite",
      "llama3-3-70b-instruct"
    ]
  }
}'

JSON override mesti mengikuti struktur yang sama seperti cdk.json. Anda boleh mengatasi mana-mana nilai konteks termasuk:

  • selfSignUpEnabled
  • enableLambdaSnapStart
  • allowedIpV4AddressRanges
  • allowedIpV6AddressRanges
  • allowedCountries
  • allowedSignUpEmailDomains
  • bedrockRegion
  • enableRagReplicas
  • enableBedrockCrossRegionInference
  • globalAvailableModels: menerima senarai ID model untuk diaktifkan. Nilai lalai adalah senarai kosong, yang mengaktifkan semua model.
  • logoPath: laluan relatif ke aset logo dalam direktori frontend public/ yang muncul di bahagian atas laci navigasi.
  • Dan nilai konteks lain yang ditakrifkan dalam cdk.json

Note

Nilai override akan digabungkan dengan konfigurasi cdk.json sedia ada semasa masa penempatan dalam AWS code build. Nilai yang ditentukan dalam override akan mengambil keutamaan berbanding nilai dalam cdk.json.

Contoh arahan dengan parameter:

./bin.sh --disable-self-register --ipv4-ranges "192.0.2.0/25,192.0.2.128/25" --ipv6-ranges "2001:db8:1:2::/64,2001:db8:1:3::/64" --allowed-signup-email-domains "example.com,anotherexample.com" --bedrock-region "us-west-2" --version "v1.2.6"
  • Selepas kira-kira 35 minit, anda akan mendapat output berikut, yang boleh anda akses dari pelayar anda
Frontend URL: https://xxxxxxxxx.cloudfront.net

Skrin pendaftaran akan muncul seperti yang ditunjukkan di atas, di mana anda boleh mendaftar e-mel anda dan log masuk.

Important

Tanpa menetapkan parameter pilihan, kaedah penempatan ini membenarkan sesiapa sahaja yang mengetahui URL untuk mendaftar. Untuk penggunaan pengeluaran, adalah sangat disyorkan untuk menambah sekatan alamat IP dan menyahaktifkan pendaftaran sendiri untuk mengurangkan risiko keselamatan (anda boleh menentukan allowed-signup-email-domains untuk menyekat pengguna supaya hanya alamat e-mel dari domain syarikat anda boleh mendaftar). Gunakan kedua-dua ipv4-ranges dan ipv6-ranges untuk sekatan alamat IP, dan nyahaktifkan pendaftaran sendiri dengan menggunakan disable-self-register semasa melaksanakan ./bin.

Tip

Jika Frontend URL tidak muncul atau Bedrock Chat tidak berfungsi dengan betul, ia mungkin masalah dengan versi terkini. Dalam kes ini, sila tambah --version "v3.0.0" pada parameter dan cuba penempatan sekali lagi.

Seni Bina

Ia adalah seni bina yang dibina pada perkhidmatan terurus AWS, menghapuskan keperluan untuk pengurusan infrastruktur. Dengan menggunakan Amazon Bedrock, tiada keperluan untuk berkomunikasi dengan API di luar AWS. Ini membolehkan penerapan aplikasi yang berskala, boleh dipercayai, dan selamat.

Menggunakan CDK untuk Penempatan

Penempatan Super-mudah menggunakan AWS CodeBuild untuk melakukan penempatan menggunakan CDK secara dalaman. Bahagian ini menerangkan prosedur untuk penempatan secara langsung dengan CDK.

  • Sila pastikan anda mempunyai UNIX, Docker dan persekitaran runtime Node.js.

Important

Jika ruang storan dalam persekitaran tempatan tidak mencukupi semasa penempatan, bootstrap CDK mungkin mengakibatkan ralat. Kami mengesyorkan untuk menambah saiz volum instans sebelum melakukan penempatan.

  • Klon repositori ini
git clone https://github.com/aws-samples/bedrock-chat
  • Pasang pakej npm
cd bedrock-chat
cd cdk
npm ci
  • Jika perlu, edit entri berikut dalam cdk.json.

    • bedrockRegion: Wilayah di mana Bedrock tersedia. NOTA: Bedrock TIDAK menyokong semua wilayah buat masa ini.
    • allowedIpV4AddressRanges, allowedIpV6AddressRanges: Julat alamat IP yang dibenarkan.
    • enableLambdaSnapStart: Lalai kepada true. Tetapkan kepada false jika menggunakan wilayah yang tidak menyokong Lambda SnapStart untuk fungsi Python.
    • globalAvailableModels: Lalai kepada semua. Jika ditetapkan (senarai ID model), membolehkan kawalan global model yang muncul dalam menu dropdown merentasi perbualan untuk semua pengguna dan semasa penciptaan bot dalam aplikasi Bedrock Chat.
    • logoPath: Laluan relatif di bawah frontend/public yang menunjuk kepada imej yang dipaparkan di bahagian atas laci aplikasi. ID model berikut disokong (sila pastikan ia juga diaktifkan dalam konsol Bedrock di bawah Akses Model di wilayah penempatan anda):
  • Model Claude: claude-v4-opus, claude-v4.1-opus, claude-v4-sonnet, claude-v3.5-sonnet, claude-v3.5-sonnet-v2, claude-v3.7-sonnet, claude-v3.5-haiku, claude-v3-haiku, claude-v3-opus

  • Model Amazon Nova: amazon-nova-pro, amazon-nova-lite, amazon-nova-micro

  • Model Mistral: mistral-7b-instruct, mixtral-8x7b-instruct, mistral-large, mistral-large-2

  • Model DeepSeek: deepseek-r1

  • Model Meta Llama: llama3-3-70b-instruct, llama3-2-1b-instruct, llama3-2-3b-instruct, llama3-2-11b-instruct, llama3-2-90b-instruct

Senarai penuh boleh didapati dalam index.ts.

  • Sebelum menempatkan CDK, anda perlu melakukan Bootstrap sekali untuk wilayah yang anda ingin tempatkan.
npx cdk bootstrap
  • Tempatkan projek sampel ini
npx cdk deploy --require-approval never --all
  • Anda akan mendapat output seperti berikut. URL aplikasi web akan dikeluarkan dalam BedrockChatStack.FrontendURL, sila akses melalui pelayar web anda.
  BedrockChatStack

  Deployment time: 78.57s

Outputs:
BedrockChatStack.AuthUserPoolClientIdXXXXX = xxxxxxx
BedrockChatStack.AuthUserPoolIdXXXXXX = ap-northeast-1_XXXX
BedrockChatStack.BackendApiBackendApiUrlXXXXX = https://xxxxx.execute-api.ap-northeast-1.amazonaws.com
BedrockChatStack.FrontendURL = https://xxxxx.cloudfront.net

Menentukan Parameter

Anda boleh menentukan parameter untuk penempatan anda dalam dua cara: menggunakan cdk.json atau menggunakan fail parameter.ts yang selamat jenis.

Menggunakan cdk.json (Kaedah Tradisional)

Cara tradisional untuk mengkonfigurasi parameter adalah dengan mengedit fail cdk.json. Pendekatan ini mudah tetapi tidak mempunyai pemeriksaan jenis:

{
  "app": "npx ts-node --prefer-ts-exts bin/bedrock-chat.ts",
  "context": {
    "bedrockRegion": "us-east-1",
    "allowedIpV4AddressRanges": ["0.0.0.0/1", "128.0.0.0/1"],
    "selfSignUpEnabled": true,
    "globalAvailableModels": [
      "claude-v3.7-sonnet",
      "claude-v3.5-sonnet",
      "amazon-nova-pro",
      "amazon-nova-lite",
      "llama3-3-70b-instruct"
    ],
  }
}

Menggunakan parameter.ts (Kaedah Selamat Jenis yang Disyorkan)

Untuk keselamatan jenis dan pengalaman pembangun yang lebih baik, anda boleh menggunakan fail parameter.ts untuk menentukan parameter anda:

// Tentukan parameter untuk persekitaran lalai
bedrockChatParams.set("default", {
  bedrockRegion: "us-east-1",
  allowedIpV4AddressRanges: ["192.168.0.0/16"],
  selfSignUpEnabled: true,
  globalAvailableModels: [
      "claude-v3.7-sonnet",
      "claude-v3.5-sonnet",
      "amazon-nova-pro",
      "amazon-nova-lite",
      "llama3-3-70b-instruct"
    ],
});

// Tentukan parameter untuk persekitaran tambahan
bedrockChatParams.set("dev", {
  bedrockRegion: "us-west-2",
  allowedIpV4AddressRanges: ["10.0.0.0/8"],
  enableRagReplicas: false, // Penjimatan kos untuk persekitaran dev
  enableBotStoreReplicas: false, // Penjimatan kos untuk persekitaran dev
});

bedrockChatParams.set("prod", {
  bedrockRegion: "us-east-1",
  allowedIpV4AddressRanges: ["172.16.0.0/12"],
  enableLambdaSnapStart: true,
  enableRagReplicas: true, // Ketersediaan dipertingkatkan untuk produksi
  enableBotStoreReplicas: true, // Ketersediaan dipertingkatkan untuk produksi
});

Note

Pengguna sedia ada boleh terus menggunakan cdk.json tanpa sebarang perubahan. Pendekatan parameter.ts disyorkan untuk penempatan baharu atau apabila anda perlu menguruskan pelbagai persekitaran.

Menempatkan Pelbagai Persekitaran

Anda boleh menempatkan pelbagai persekitaran dari kod asas yang sama menggunakan fail parameter.ts dan pilihan -c envName.

Prasyarat

  1. Tentukan persekitaran anda dalam parameter.ts seperti yang ditunjukkan di atas
  2. Setiap persekitaran akan mempunyai set sumber sendiri dengan awalan khusus persekitaran

Arahan Penempatan

Untuk menempatkan persekitaran tertentu:

# Tempatkan persekitaran dev
npx cdk deploy --all -c envName=dev

# Tempatkan persekitaran prod
npx cdk deploy --all -c envName=prod

Jika tiada persekitaran dinyatakan, persekitaran "default" digunakan:

# Tempatkan persekitaran default
npx cdk deploy --all

Nota Penting

  1. Penamaan Stack:

    • Stack utama untuk setiap persekitaran akan mempunyai awalan nama persekitaran (contoh: dev-BedrockChatStack, prod-BedrockChatStack)
    • Walau bagaimanapun, stack bot tersuai (BrChatKbStack*) dan stack penerbitan API (ApiPublishmentStack*) tidak menerima awalan persekitaran kerana ia dicipta secara dinamik semasa runtime
  2. Penamaan Sumber:

    • Hanya beberapa sumber menerima awalan persekitaran dalam nama mereka (contoh: jadual dev_ddb_export, dev-FrontendWebAcl)
    • Kebanyakan sumber mengekalkan nama asal mereka tetapi diasingkan dengan berada dalam stack yang berbeza
  3. Pengenalpastian Persekitaran:

    • Semua sumber ditag dengan tag CDKEnvironment yang mengandungi nama persekitaran
    • Anda boleh menggunakan tag ini untuk mengenal pasti persekitaran sumber tersebut
    • Contoh: CDKEnvironment: dev atau CDKEnvironment: prod
  4. Penggantian Persekitaran Lalai: Jika anda menentukan persekitaran "default" dalam parameter.ts, ia akan menggantikan tetapan dalam cdk.json. Untuk terus menggunakan cdk.json, jangan tentukan persekitaran "default" dalam parameter.ts.

  5. Keperluan Persekitaran: Untuk mencipta persekitaran selain daripada "default", anda mesti menggunakan parameter.ts. Pilihan -c envName sahaja tidak mencukupi tanpa definisi persekitaran yang sepadan.

  6. Pengasingan Sumber: Setiap persekitaran mencipta set sumber sendiri, membolehkan anda mempunyai persekitaran pembangunan, pengujian, dan produksi dalam akaun AWS yang sama tanpa konflik.

Lain-lain

Anda boleh menentukan parameter untuk penempatan anda dalam dua cara: menggunakan cdk.json atau menggunakan fail parameter.ts yang selamat jenis.

Menggunakan cdk.json (Kaedah Tradisional)

Cara tradisional untuk mengkonfigurasi parameter adalah dengan menyunting fail cdk.json. Pendekatan ini mudah tetapi tidak mempunyai semakan jenis:

{
  "app": "npx ts-node --prefer-ts-exts bin/bedrock-chat.ts",
  "context": {
    "bedrockRegion": "us-east-1",
    "allowedIpV4AddressRanges": ["0.0.0.0/1", "128.0.0.0/1"],
    "selfSignUpEnabled": true
  }
}

Menggunakan parameter.ts (Kaedah Selamat Jenis yang Disyorkan)

Untuk keselamatan jenis dan pengalaman pembangun yang lebih baik, anda boleh menggunakan fail parameter.ts untuk menentukan parameter anda:

// Define parameters for the default environment
bedrockChatParams.set("default", {
  bedrockRegion: "us-east-1",
  allowedIpV4AddressRanges: ["192.168.0.0/16"],
  selfSignUpEnabled: true,
});

// Define parameters for additional environments
bedrockChatParams.set("dev", {
  bedrockRegion: "us-west-2",
  allowedIpV4AddressRanges: ["10.0.0.0/8"],
  enableRagReplicas: false, // Cost-saving for dev environment
});

bedrockChatParams.set("prod", {
  bedrockRegion: "us-east-1",
  allowedIpV4AddressRanges: ["172.16.0.0/12"],
  enableLambdaSnapStart: true,
  enableRagReplicas: true, // Enhanced availability for production
});

Note

Pengguna sedia ada boleh terus menggunakan cdk.json tanpa sebarang perubahan. Pendekatan parameter.ts disyorkan untuk penempatan baharu atau apabila anda perlu menguruskan pelbagai persekitaran.

Menempatkan Pelbagai Persekitaran

Anda boleh menempatkan pelbagai persekitaran dari kod asas yang sama menggunakan fail parameter.ts dan pilihan -c envName.

Prasyarat

  1. Tentukan persekitaran anda dalam parameter.ts seperti yang ditunjukkan di atas
  2. Setiap persekitaran akan mempunyai set sumber sendiri dengan awalan khusus persekitaran

Arahan Penempatan

Untuk menempatkan persekitaran tertentu:

# Deploy the dev environment
npx cdk deploy --all -c envName=dev

# Deploy the prod environment
npx cdk deploy --all -c envName=prod

Jika tiada persekitaran dinyatakan, persekitaran "default" digunakan:

# Deploy the default environment
npx cdk deploy --all

Nota Penting

  1. Penamaan Tindanan:

    • Tindanan utama untuk setiap persekitaran akan diawali dengan nama persekitaran (cth., dev-BedrockChatStack, prod-BedrockChatStack)
    • Walau bagaimanapun, tindanan bot tersuai (BrChatKbStack*) dan tindanan penerbitan API (ApiPublishmentStack*) tidak menerima awalan persekitaran kerana ia dicipta secara dinamik semasa masa jalanan
  2. Penamaan Sumber:

    • Hanya sesetengah sumber menerima awalan persekitaran dalam nama mereka (cth., jadual dev_ddb_export, dev-FrontendWebAcl)
    • Kebanyakan sumber mengekalkan nama asal mereka tetapi diasingkan dengan berada dalam tindanan yang berbeza
  3. Pengenalpastian Persekitaran:

    • Semua sumber ditag dengan tag CDKEnvironment yang mengandungi nama persekitaran
    • Anda boleh menggunakan tag ini untuk mengenal pasti persekitaran mana sumber tersebut tergolong
    • Contoh: CDKEnvironment: dev atau CDKEnvironment: prod
  4. Penggantian Persekitaran Default: Jika anda menentukan persekitaran "default" dalam parameter.ts, ia akan menggantikan tetapan dalam cdk.json. Untuk terus menggunakan cdk.json, jangan tentukan persekitaran "default" dalam parameter.ts.

  5. Keperluan Persekitaran: Untuk mencipta persekitaran selain daripada "default", anda mesti menggunakan parameter.ts. Pilihan -c envName sahaja tidak mencukupi tanpa definisi persekitaran yang sepadan.

  6. Pengasingan Sumber: Setiap persekitaran mencipta set sumber sendiri, membolehkan anda mempunyai persekitaran pembangunan, pengujian, dan pengeluaran dalam akaun AWS yang sama tanpa konflik.

Lain-lain

Membuang sumber

Jika menggunakan cli dan CDK, sila gunakan npx cdk destroy. Jika tidak, akses CloudFormation dan kemudian padam BedrockChatStack dan FrontendWafStack secara manual. Sila ambil perhatian bahawa FrontendWafStack berada di rantau us-east-1.

Tetapan Bahasa

Aset ini mengesan bahasa secara automatik menggunakan i18next-browser-languageDetector. Anda boleh menukar bahasa dari menu aplikasi. Sebagai alternatif, anda boleh menggunakan Query String untuk menetapkan bahasa seperti yang ditunjukkan di bawah.

https://example.com?lng=ja

Nyahaktifkan pendaftaran sendiri

Sampel ini mempunyai pendaftaran sendiri diaktifkan secara lalai. Untuk menyahaktifkan pendaftaran sendiri, buka cdk.json dan tukar selfSignUpEnabled kepada false. Jika anda mengkonfigurasi pembekal identiti luaran, nilai ini akan diabaikan dan dinyahaktifkan secara automatik.

Hadkan Domain untuk Alamat E-mel Pendaftaran

Secara lalai, sampel ini tidak menghadkan domain untuk alamat e-mel pendaftaran. Untuk membenarkan pendaftaran hanya dari domain tertentu, buka cdk.json dan tentukan domain sebagai senarai dalam allowedSignUpEmailDomains.

"allowedSignUpEmailDomains": ["example.com"],

Pembekal Identiti Luaran

Sampel ini menyokong pembekal identiti luaran. Buat masa ini kami menyokong Google dan pembekal OIDC tersuai.

WAF Frontend Pilihan

Untuk pengedaran CloudFront, AWS WAF WebACL mesti dibuat di rantau us-east-1. Dalam sesetengah organisasi, penciptaan sumber di luar rantau utama dihadkan oleh polisi. Dalam persekitaran sedemikian, penggunaan CDK boleh gagal apabila cuba menyediakan Frontend WAF di us-east-1.

Untuk menampung sekatan ini, tindanan Frontend WAF adalah pilihan. Apabila dinyahaktifkan, pengedaran CloudFront dikerahkan tanpa WebACL. Ini bermakna anda tidak akan mempunyai kawalan membenarkan/menafikan IP di bahagian depan. Pengesahan dan semua kawalan aplikasi lain terus berfungsi seperti biasa. Ambil perhatian bahawa tetapan ini hanya mempengaruhi Frontend WAF (skop CloudFront); WAF API yang Diterbitkan (serantau) kekal tidak terjejas.

Untuk menyahaktifkan Frontend WAF tetapkan yang berikut dalam parameter.ts (Kaedah Selamat Jenis yang Disyorkan):

bedrockChatParams.set("default", {
  enableFrontendWaf: false
});

Atau jika menggunakan cdk/cdk.json warisan tetapkan yang berikut:

"enableFrontendWaf": false

Tambah pengguna baharu ke kumpulan secara automatik

Sampel ini mempunyai kumpulan berikut untuk memberikan kebenaran kepada pengguna:

Jika anda mahu pengguna baharu menyertai kumpulan secara automatik, anda boleh menentukannya dalam cdk.json.

"autoJoinUserGroups": ["CreatingBotAllowed"],

Secara lalai, pengguna baharu akan disertakan ke dalam kumpulan CreatingBotAllowed.

Konfigurasi Replika RAG

enableRagReplicas adalah pilihan dalam cdk.json yang mengawal tetapan replika untuk pangkalan data RAG, khususnya Pangkalan Pengetahuan menggunakan Amazon OpenSearch Serverless.

  • Lalai: true
  • true: Meningkatkan ketersediaan dengan membolehkan replika tambahan, menjadikannya sesuai untuk persekitaran pengeluaran tetapi meningkatkan kos.
  • false: Mengurangkan kos dengan menggunakan replika yang lebih sedikit, menjadikannya sesuai untuk pembangunan dan pengujian.

Ini adalah tetapan peringkat akaun/rantau, mempengaruhi keseluruhan aplikasi dan bukannya bot individu.

Note

Mulai Jun 2024, Amazon OpenSearch Serverless menyokong 0.5 OCU, mengurangkan kos permulaan untuk beban kerja skala kecil. Pengerahan pengeluaran boleh bermula dengan 2 OCU, manakala beban kerja dev/ujian boleh menggunakan 1 OCU. OpenSearch Serverless secara automatik mengskala berdasarkan permintaan beban kerja. Untuk maklumat lanjut, lawati pengumuman.

Konfigurasi Kedai Bot

Ciri kedai bot membolehkan pengguna berkongsi dan menemui bot tersuai. Anda boleh mengkonfigurasi kedai bot melalui tetapan berikut dalam cdk.json:

{
  "context": {
    "enableBotStore": true,
    "enableBotStoreReplicas": false,
    "botStoreLanguage": "en"
  }
}
  • enableBotStore: Mengawal sama ada ciri kedai bot diaktifkan (lalai: true)
  • botStoreLanguage: Menetapkan bahasa utama untuk carian dan penemuan bot (lalai: "en"). Ini mempengaruhi bagaimana bot diindeks dan dicari dalam kedai bot, mengoptimumkan analisis teks untuk bahasa yang ditentukan.
  • enableBotStoreReplicas: Mengawal sama ada replika tunggu sedia diaktifkan untuk koleksi OpenSearch Serverless yang digunakan oleh kedai bot (lalai: false). Menetapkannya kepada true meningkatkan ketersediaan tetapi meningkatkan kos, manakala false mengurangkan kos tetapi mungkin menjejaskan ketersediaan.

    Penting: Anda tidak boleh mengemaskini sifat ini selepas koleksi sudah dibuat. Jika anda cuba mengubah sifat ini, koleksi akan terus menggunakan nilai asal.

Inferens merentas rantau

Inferens merentas rantau membolehkan Amazon Bedrock menghalakan permintaan inferens model secara dinamik merentasi pelbagai rantau AWS, meningkatkan daya pemprosesan dan ketahanan semasa tempoh permintaan tinggi. Untuk mengkonfigurasi, edit cdk.json.

"enableBedrockCrossRegionInference": true

Lambda SnapStart

Lambda SnapStart meningkatkan masa permulaan sejuk untuk fungsi Lambda, menyediakan masa tindak balas yang lebih pantas untuk pengalaman pengguna yang lebih baik. Sebaliknya, untuk fungsi Python, terdapat caj bergantung pada saiz cache dan tidak tersedia di beberapa rantau pada masa ini. Untuk menyahaktifkan SnapStart, edit cdk.json.

"enableLambdaSnapStart": false

Konfigurasi Domain Tersuai

Anda boleh mengkonfigurasi domain tersuai untuk pengedaran CloudFront dengan menetapkan parameter berikut dalam cdk.json:

{
  "alternateDomainName": "chat.example.com",
  "hostedZoneId": "Z0123456789ABCDEF"
}
  • alternateDomainName: Nama domain tersuai untuk aplikasi perbualan anda (cth., chat.example.com)
  • hostedZoneId: ID zon hos Route 53 anda di mana rekod DNS akan dibuat

Apabila parameter ini disediakan, pengerahan akan secara automatik:

  • Mencipta sijil ACM dengan pengesahan DNS di rantau us-east-1
  • Mencipta rekod DNS yang diperlukan dalam zon hos Route 53 anda
  • Mengkonfigurasi CloudFront untuk menggunakan domain tersuai anda

Note

Domain mesti diurus oleh Route 53 dalam akaun AWS anda. ID zon hos boleh didapati dalam konsol Route 53.

Konfigurasi negara yang dibenarkan (sekatan geo)

Anda boleh menyekat akses ke Bedrock-Chat berdasarkan negara dari mana pelanggan mengaksesnya. Gunakan parameter allowedCountries dalam cdk.json yang mengambil senarai Kod Negara ISO-3166. Contohnya, perniagaan yang berpangkalan di New Zealand mungkin memutuskan bahawa hanya alamat IP dari New Zealand (NZ) dan Australia (AU) boleh mengakses portal dan semua orang lain harus dinafikan akses. Untuk mengkonfigurasi tingkah laku ini gunakan tetapan berikut dalam cdk.json:

{
  "allowedCountries": ["NZ", "AU"]
}

Atau, menggunakan parameter.ts (Kaedah Selamat Jenis yang Disyorkan):

// Define parameters for the default environment
bedrockChatParams.set("default", {
  allowedCountries: ["NZ", "AU"],
});

Nyahaktifkan sokongan IPv6

Frontend mendapat kedua-dua alamat IP dan IPv6 secara lalai. Dalam beberapa keadaan yang jarang berlaku, anda mungkin perlu menyahaktifkan sokongan IPv6 secara eksplisit. Untuk melakukan ini, tetapkan parameter berikut dalam parameter.ts atau serupa dalam cdk.json:

"enableFrontendIpv6": false

Jika dibiarkan tidak ditetapkan, sokongan IPv6 akan diaktifkan secara lalai.

Pembangunan Tempatan

Lihat LOCAL DEVELOPMENT.

Sumbangan

Terima kasih kerana mempertimbangkan untuk menyumbang kepada repositori ini! Kami mengalu-alukan pembetulan pepijat, terjemahan bahasa (i18n), peningkatan ciri, alat ejen, dan penambahbaikan lain.

Untuk peningkatan ciri dan penambahbaikan lain, sebelum membuat Pull Request, kami sangat menghargai jika anda boleh membuat Isu Permintaan Ciri untuk membincangkan pendekatan pelaksanaan dan butiran. Untuk pembetulan pepijat dan terjemahan bahasa (i18n), teruskan dengan membuat Pull Request secara langsung.

Sila juga lihat garis panduan berikut sebelum menyumbang:

Kenalan

🏆 Penyumbang Penting

Penyumbang

penyumbang bedrock chat

Lesen

Perpustakaan ini dilesenkan di bawah Lesen MIT-0. Sila rujuk fail LESEN.