Агент AWS Bedrock - невозможно получить InvokeAgent для потоковой передачи даже после установки StreamFinalResponse на TPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Агент AWS Bedrock - невозможно получить InvokeAgent для потоковой передачи даже после установки StreamFinalResponse на T

Сообщение Anonymous »

Я использую AWS Lambda, чтобы вызвать функцию InvokeagentCommand; Несмотря на то, что он возвращает ответ, но при настройке StreamfinalResponse True, он не отправляет ответ в несколько кусков. Достаточно смешно, что я сделал версию Python и смог заставить агента транслировать ответы. К сожалению, в среде выполнения Python нет streamifyResponse, поэтому мне пришлось идти с узлом. Я включил код ниже для справки. Спасибо < /p>
import util from 'util';
import stream from 'stream';
const { Readable, Transform } = stream;
const pipeline = util.promisify(stream.pipeline);
import {
BedrockAgentRuntimeClient,
InvokeAgentCommand,
} from "@aws-sdk/client-bedrock-agent-runtime";

export const handler = awslambda.streamifyResponse(

async (event, responseStream, context) => {

console.log(`event: ${JSON.stringify(event)}`)
const client = new BedrockAgentRuntimeClient({ region: "us-east-1" });
const agentId = "xxxxxxxx";
const agentAliasId = "yyyyyyyy";
const sessionId = event['queryStringParameters']['sessionId'];
const prompt = event['queryStringParameters']['prompt'];

const command = new InvokeAgentCommand({

streamingConfigurations: {
streamFinalResponse: true
},
agentId,
agentAliasId,
sessionId,
inputText: prompt,
enableTrace: true,
endSession: false
});

try {

const response = await client.send(command);
console.log(`response: ${JSON.stringify(response)}`)

const processChunk = new Transform({

objectMode: true,
transform(chunk, encoding, callback) {

const chunk_string = JSON.stringify(chunk)
console.log(`transform chunk ${chunk_string}`);

if (chunk.chunk) {
const decodedResponse = new TextDecoder("utf-8").decode(chunk.chunk.bytes);
console.log(decodedResponse);
this.push(decodedResponse);
} else if (chunk.internalServerException) {
this.push(JSON.stringify({ error: 'Internal Server Exception' }) + '\n');
}
callback();
}

});

await pipeline(
response.completion,
processChunk,
responseStream
)
} catch (err) {
console.error(err);
}
}
);
< /code>
Я изначально думал, что это проблема разрешения, поэтому я даю это Amazonbedrockfullaccess, но это не имело значения < /p>
Я прошел через документацию:
https://docs.aws.amazon.com/awsjavascri ... ntcommand/
, чтобы я не пропустил какую-либо конфигурацию, которая требуется для потоковой передачи

Подробнее здесь: https://stackoverflow.com/questions/794 ... after-sett
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • API InvokeAgent — отправка изображений агенту AWS BEDROCK
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • API InvokeAgent — отправка изображений агенту AWS BEDROCK
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • API InvokeAgent — отправка изображений агенту AWS BEDROCK
    Anonymous » » в форуме Python
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Как вызвать агент с помощью клиента времени выполнения Bedrock Agent в AWS SDK с PHP
    Anonymous » » в форуме Php
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Как вызвать агент с помощью клиента времени выполнения Bedrock Agent в AWS SDK с PHP
    Anonymous » » в форуме Php
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»