-
Notifications
You must be signed in to change notification settings - Fork 0
/
aws_sdk_bedrock_streamed.js
40 lines (35 loc) · 1.1 KB
/
aws_sdk_bedrock_streamed.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const {
BedrockRuntimeClient,
InvokeModelWithResponseStreamCommand,
} = require("@aws-sdk/client-bedrock-runtime");
// Replace this value
const region = "us-east-1";
const client = new BedrockRuntimeClient({ region });
const mockRequest = async (userInput) => {
const textInput = `\n\nHuman: ${userInput}\n\nAssistant:`;
const command = new InvokeModelWithResponseStreamCommand({
modelId: "anthropic.claude-instant-v1",
contentType: "application/json",
accept: "*/*",
body: Buffer.from(
JSON.stringify({
prompt: textInput,
max_tokens_to_sample: 300,
temperature: 0.8,
top_p: 0.8,
anthropic_version: "bedrock-2023-05-31",
})
),
});
const response = await client.send(command);
let chatResponse = "";
let stop_reason = null;
for await (const chunk of response.body) {
const body = JSON.parse(Buffer.from(chunk.chunk?.bytes).toString());
chatResponse += body.completion;
stop_reason = body.stop_reason;
console.log(chatResponse);
}
console.log(chatResponse, stop_reason);
};
(() => mockRequest("Who is Santa?"))();