Я использовал шаблон «Чат с вашими данными» и выбрал Azure OpenAI, как мы являемся клиентами Azure OpenAI.
Затем я изменил метод RenderDataAsync(), чтобы вызвать внешний API, который я создал, и вернуть выходные данные в Команды:
`public async Task RenderDataAsync (контекст ITurnContext, память IMemory, токенизатор ITokenizer, int maxTokens, CancellationToken cancelToken)
{
string? query = Memory.GetValue("temp.input") как строка;
Код: Выделить всё
if (query == null)
{
return new RenderedPromptSection(string.Empty, 0);
}
else
{
using var httpClient = new HttpClient();
var requestUri = "http:///query";
var requestBody = new
{
query = query,
mode = "local"
};
var json = System.Text.Json.JsonSerializer.Serialize(requestBody);
var content = new StringContent(json, Encoding.UTF8, "application/json");
using var request = new HttpRequestMessage(HttpMethod.Post, requestUri)
{
Headers =
{
{ "accept", "application/json" }
},
Content = content
};
var response = await httpClient.SendAsync(request);
var responseContent = await response.Content.ReadAsStringAsync();
var answer = responseContent;
return new RenderedPromptSection(formatDocument(answer), answer.Length);
}
Это работает без проблем, когда я тестирую его локально, я также могу импортировать appPackage.dev.zip и опубликовать приложение на своем Office-365-org, и он работает так, как ожидалось.
Но что мне нужно передать моему клиенту в другом Office-365-org? Если я передам ему свой appPackage.dev.zip, он сможет его установить, но бот никогда не получит никакого ответа, я даже не вижу никаких запросов к моему API.
Что я пропал?
Я дал клиенту appPackage.dev.zip, он установил его в свою собственную организацию Office-365, я ожидал того же поведения, что и в своей организации, но это не удалось.
Подробнее здесь: https://stackoverflow.com/questions/792 ... o-a-client
Мобильная версия