🪨

DenoからBedrock使う

2024/05/12に公開

コード

main.ts
import {
  BedrockRuntimeClient,
  InvokeModelCommand,
} from "npm:@aws-sdk/client-bedrock-runtime";

const bedrockClient = new BedrockRuntimeClient({ region: "us-east-1" })

const body = {
  prompt: "Human: Denoについておしえてください。\\n\\nAssistant:",
  max_tokens_to_sample: 500,
  temperature: 0.5,
  top_k: 250,
  top_p: 1,
  stop_sequences: ["\\n\\nHuman:"],
};

const params = {
  modelId: "anthropic.claude-instant-v1",
  body: JSON.stringify(body),
  contentType: "application/json",
};

const command = new InvokeModelCommand(params);
const response = await bedrockClient.send(command);

const decoder = new TextDecoder()
console.log(decoder.decode(response.body));

実行結果

deno run --allow-sys --allow-net --allow-env --allow-read  main.ts
{"completion":" DenoはNode.jsの後継となる新しいJavaScript/TypeScript実行環境です。\n\nDenoの主な特徴は以下の通りです。\n\n- セキュアなデフォルトの設定 - Denoは起動時にネットワークアクセスやファイル
システムアクセスがデフォルトでブロックされています。\n\n- TypeScript第一原理 - Denoは設計段階からTypeScriptを第一級のCitizenとしてサポートしています。\n\n- モジュールシステムが組み込まれている - Denoにはモジュールシステムが標準で実装されており、npmなど外部モジュールマネージャーは必要ありません。\n\n- シンプルなAPI - DenoのAPIはNode.jsよりもシンプルで一貫性があります。\n\n- 高速な起動 - Denoの 起動は非常に高速で、少量のメモリしか使用しません。\n\n- セキュアな実行環境 - Denoはサンドボックスモデルで実行され、ネイティブモジュールは利用できません。\n\n以上がDenoの主な特徴です。Node.jsの後継と位置づけられていますが、設計理念が異なる部分もあるので注意が必要です。","stop_reason":"stop_sequence","stop":"\n\nHuman:"}

Discussion