AnthropicClaudeAPI Penyelesaian Teks - Amazon Bedrock

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

AnthropicClaudeAPI Penyelesaian Teks

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

AnthropicClaudeIkhtisar 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 Pendahuluan untuk desain prompt. Jika Anda ingin menggunakan prompt Penyelesaian Teks yang ada denganAnthropicClaudePesan API, lihat Memigrasi dari Penyelesaian Teks.

Model yang didukung

Anda dapat menggunakan API Penyelesaian Teks dengan Anthropic Claude model berikut.

  • AnthropicClaudeInstantv1.2

  • AnthropicClaudev2

  • AnthropicClaudev2.1

Permintaan dan Tanggapan

Badan permintaan diteruskan di body bidang permintaan ke InvokeModelatau InvokeModelWithResponseStream.

Untuk informasi lebih lanjut, lihat https://docs.anthropic.com/claude/reference/complete_post dalam Anthropic Claude dokumentasi.

Request

AnthropicClaudememiliki 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 dalam 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. AnthropicClaudeModel yang berbeda memiliki nilai maksimum yang berbeda untuk parameter ini. Untuk informasi selengkapnya, lihat Perbandingan model dalam Anthropic Claude dokumentasi.

    Default Minimum Maksimum

    200

    0

    4096

Berikut ini adalah parameter opsional.

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

    AnthropicClaudemodel 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

AnthropicClaudeModel 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 model AnthropicClaudeV2 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 menulis esai untuk hidup di mars dalam 1000 kata 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()))