Anthropic Claude API Penyelesaian Teks - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Anthropic Claude API Penyelesaian Teks

Bagian ini memberikan parameter inferensi dan contoh kode untuk menggunakan Anthropic Claude model dengan Text Completions API.

Anthropic Claude Ikhtisar API Penyelesaian Teks

Gunakan API Penyelesaian Teks untuk pembuatan teks satu putaran dari prompt yang disediakan pengguna. Misalnya, Anda dapat menggunakan Text Completion API untuk menghasilkan teks untuk posting blog atau untuk meringkas input teks dari pengguna.

Untuk informasi tentang membuat prompt untuk Anthropic Claude model, lihat Pengantar desain yang cepat. Jika Anda ingin menggunakan prompt Penyelesaian Teks yang ada denganAnthropic Claude Pesan API, lihat Memigrasi dari Penyelesaian Teks.

Model yang didukung

Anda dapat menggunakan Text Completions API dengan berikut Anthropic Claude model.

  • Anthropic Claude Instant v1.2

  • Anthropic Claude v2

  • Anthropic Claude v2.1

Permintaan dan Tanggapan

Badan permintaan diteruskan di body bidang permintaan ke InvokeModelatau InvokeModelWithResponseStream.

Untuk informasi selengkapnya, lihat https://docs.anthropic.com/claude/referensi/complete_post di Anthropic Claude dokumentasi.

Request

Anthropic Claude memiliki parameter inferensi berikut untuk panggilan inferensi Penyelesaian Teks.

{ "prompt": "\n\nHuman:<prompt>\n\nAssistant:", "temperature": float, "top_p": float, "top_k": int, "max_tokens_to_sample": int, "stop_sequences": [string] }

Berikut ini adalah parameter yang diperlukan.

  • prompt - (Wajib) Prompt yang Anda ingin Claude selesaikan. Untuk menghasilkan respons yang tepat, Anda perlu memformat prompt Anda menggunakan giliran bolak-balik \n\nHuman: dan \n\nAssistant: percakapan. Sebagai contoh:

    "\n\nHuman: {userQuestion}\n\nAssistant:"

    Untuk informasi selengkapnya, lihat Validasi cepat di Anthropic Claude dokumentasi.

  • max_tokens_to_sample — (Wajib) Jumlah maksimum token yang akan dihasilkan sebelum berhenti. Kami merekomendasikan batas 4.000 token untuk kinerja optimal.

    Perhatikan bahwa Anthropic Claude model mungkin berhenti menghasilkan token sebelum mencapai nilaimax_tokens_to_sample. Berbeda Anthropic Claude model memiliki nilai maksimum yang berbeda untuk parameter ini. Untuk informasi lebih lanjut, lihat Perbandingan model di Anthropic Claude dokumentasi.

    Default Minimum Maksimum

    200

    0

    4096

Berikut ini adalah parameter opsional.

  • stop_sequences — (Opsional) Urutan yang akan menyebabkan model berhenti menghasilkan.

    Anthropic Claude model berhenti aktif"\n\nHuman:", dan mungkin termasuk urutan berhenti bawaan tambahan di masa mendatang. Gunakan parameter stop_sequences inferensi untuk menyertakan string tambahan yang akan memberi sinyal model untuk berhenti menghasilkan teks.

  • suhu — (Opsional) Jumlah keacakan yang disuntikkan ke dalam respons. Gunakan nilai yang mendekati 0 untuk pilihan analitik/ganda, dan nilai lebih dekat ke 1 untuk tugas kreatif dan generatif.

    Default Minimum Maksimum

    1

    0

    1

  • top_p — (Opsional) Gunakan pengambilan sampel nukleus.

    Dalam pengambilan sampel nukleus, Anthropic Claude menghitung distribusi kumulatif atas semua opsi untuk setiap token berikutnya dalam urutan probabilitas yang menurun dan memotongnya setelah mencapai probabilitas tertentu yang ditentukan oleh. top_p Anda harus mengubah salah satu temperature atautop_p, tetapi tidak keduanya.

    Default Minimum Maksimum

    1

    0

    1

  • top_k — (Opsional) Hanya sampel dari opsi K teratas untuk setiap token berikutnya.

    Gunakan top_k untuk menghapus respons probabilitas rendah ekor panjang.

    Default Minimum Maksimum

    250

    0

    500

Response

Bagian Anthropic Claude model mengembalikan bidang berikut untuk panggilan inferensi Penyelesaian Teks.

{ "completion": string, "stop_reason": string, "stop": string }
  • penyelesaian — Penyelesaian yang dihasilkan hingga dan tidak termasuk urutan berhenti.

  • stop_reason — Alasan mengapa model berhenti menghasilkan respons.

    • “stop_sequence” — Model mencapai urutan berhenti — baik disediakan oleh Anda dengan parameter stop_sequences inferensi, atau urutan berhenti yang dibangun ke dalam model.

    • “max_tokens” — Model terlampaui max_tokens_to_sample atau jumlah token maksimum model.

  • stop - Jika Anda menentukan parameter stop_sequences inferensi, stop berisi urutan berhenti yang memberi sinyal model untuk berhenti menghasilkan teks. Misalnya, holes dalam tanggapan berikut.

    { "completion": " Here is a simple explanation of black ", "stop_reason": "stop_sequence", "stop": "holes" }

    Jika Anda tidak menentukanstop_sequences, nilai stop untuk kosong.

Contoh kode

Contoh-contoh ini menunjukkan cara memanggil Anthropic Claude Model V2 dengan throughput sesuai permintaan. Untuk menggunakan Anthropic Claude versi 2.1, ubah nilai modelId keanthropic.claude-v2:1.

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ "prompt": "\n\nHuman: explain black holes to 8th graders\n\nAssistant:", "max_tokens_to_sample": 300, "temperature": 0.1, "top_p": 0.9, }) modelId = 'anthropic.claude-v2' accept = 'application/json' contentType = 'application/json' response = brt.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType) response_body = json.loads(response.get('body').read()) # text print(response_body.get('completion'))

Contoh berikut menunjukkan cara menghasilkan teks streaming dengan Python menggunakan prompt write an essay for living on mars in 1000 words dan model Anthropic Claude V2:

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ 'prompt': '\n\nHuman: write an essay for living on mars in 1000 words\n\nAssistant:', 'max_tokens_to_sample': 4000 }) response = brt.invoke_model_with_response_stream( modelId='anthropic.claude-v2', body=body ) stream = response.get('body') if stream: for event in stream: chunk = event.get('chunk') if chunk: print(json.loads(chunk.get('bytes').decode()))