本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Anthropic Claude 文字完成 API
本節提供推論參數和使用 Anthropic Claude 模型搭配文字完成 API 的程式碼範例。
Anthropic Claude 文字完成 API 概觀
使用文字完成 API,從使用者提供的提示產生單回合文字。例如,您可以使用文字完成 API 來產生部落格文章的文字,或摘要來自使用者的文字輸入。
如需建立 Anthropic Claude 模型提示的相關資訊,請參閱提示設計簡介
支援的模型
您可以搭配下列 Anthropic Claude 模型使用文字完成 API。
Anthropic Claude Instant v1.2
Anthropic Claude v2
Anthropic Claude v2.1
請求與回應
請求本文在請求 body 欄位中傳遞到 InvokeModel 或 InvokeModelWithResponseStream。
如需詳細資訊,請參閱 Anthropic Claude 文件中的 https://docs.anthropic.com/claude/reference/complete_post
程式碼範例
這些範例展示如何利用隨需輸送量呼叫 Anthropic Claude V2 模型。若要使用 Anthropic Claude version 2.1,請將 modelId 的值變更為 anthropic.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'))
以下範例展示如何使用 Python 產生串流文字,並使用提示寫一篇關於在火星生活的 1000 字文章以及 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()))