Как правильно читать и обрабатывать Amazon.BedrockAgentRuntime.Model.ResponseStream в InvokeAgentResponse?C#

Место общения программистов C#
Ответить
Anonymous
 Как правильно читать и обрабатывать Amazon.BedrockAgentRuntime.Model.ResponseStream в InvokeAgentResponse?

Сообщение Anonymous »

Текущая реализация

Код: Выделить всё

    public class AgentClient : IAgentClient
{
private readonly AmazonBedrockAgentRuntimeClient _client;
private readonly BedrockSettings _settings;

public AgentClient()
{

_settings = new BedrockSettings();

var credentials = new BasicAWSCredentials(_settings.AccessKeyId, _settings.SecretAccessKey);

var config = new AmazonBedrockAgentRuntimeConfig
{
RegionEndpoint = Amazon.RegionEndpoint.GetBySystemName(_settings.Region)
};

_client = new AmazonBedrockAgentRuntimeClient(credentials, config);
}

public async Task QueryAgentAsync(string sessionId, string inputText)
{
try
{
var request = new InvokeAgentRequest
{
SessionId = sessionId,
AgentId = _settings.AgentId,
AgentAliasId = _settings.AgentAliasId,
InputText = inputText,
EnableTrace = true
};

var agentResponse = await _client.InvokeAgentAsync(request);

if (agentResponse.Completion == null)
{
throw new Exception("Completion is undefined in the response.");
}

var responseContent = agentResponse.Completion;
Console.WriteLine("Agent Response Content: " + responseContent);

return responseContent;
}
catch (Exception ex)
{
Console.WriteLine($"Error invoking agent: {ex.Message}");
return null;
}
}
}
вывод
Содержимое ответа агента: Amazon.BedrockAgentRuntime.Model.ResponseStream
Что я пробовал:

Я использую Amazon Bedrock SDK для запроса агента с помощью InvokeAgentAsync. Я успешно отправил запрос и получил ответ. Однако когда я пытаюсь получить доступ к ответу агента, я получаю объект типа Amazon.BedrockAgentRuntime.Model.ResponseStream вместо обычного текста или читаемого вывода.
Вот соответствующая часть моего кода:

Код: Выделить всё

var agentResponse = await _client.InvokeAgentAsync(request);

if (agentResponse.Completion == null)
{
throw new Exception("Completion is undefined.");
}

// Attempting to retrieve response content
return agentResponse.Completion.ToString();
В результате получается следующее:

Код: Выделить всё

Agent Response Content: Amazon.BedrockAgentRuntime.Model.ResponseStream
Я также проверил агентResponse.Completion, но не смог найти такое свойство, как Text или Message, содержащее содержимое ответа.

Чего я ожидал:

Я ожидал, что у AgentResponse.Completion будет свойство или метод, возвращающий ответ агента в виде обычного текста (например, Текст или Сообщение). В качестве альтернативы, если задействован ResponseStream, я ожидал документации или четкого метода для его обработки и извлечения текстового содержимого.

Подробнее здесь: https://stackoverflow.com/questions/792 ... onsestream
Ответить

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

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

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

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

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