Hej
Napotkałem taki problem z aplikacją którą popełniłem lata temu, a służyła mi do uzupełniania opisów produktowych w jakiejś tam bazie systemu epr. Aplikacja klasyczna windows forms, .net Framework 4.8.
Chciałem uprościć pracę i dorzucić generowanie tekstów z gpt, i mam problem taki, że tam gdzie robię await - aplikacja mi się zamraża :)
Dochodze do tej liniki gdzie jest await i cisza...
To samo w konsolowej chodzi i odpowiada.
Dlaczego tak się dzieje? Co i gdzie zgubiłem?
private void btn_gpt(object sender, EventArgs e)
{
Task<string> task = Obsluga.SendChatGTPRequest(txt_gpt_question.Text, "sk-xxxxx");
if (task != null)
{
txt_response.Text = task.Result;
}
}
public async static Task<string> SendChatGTPRequest(string question, string apiKey)
{
...
using (var httpReq = new HttpRequestMessage(HttpMethod.Post, "https://api.openai.com/v1/completions"))
{
httpReq.Headers.Add("Authorization", $"Bearer {apiKey}");
string requestString = JsonSerializer.Serialize(completionRequest);
httpReq.Content = new StringContent(requestString, Encoding.UTF8, "application/json");
using (HttpResponseMessage httpResponse = await httpClient.SendAsync(httpReq))
{
if (httpResponse != null)
{
string responseString = await httpResponse.Content.ReadAsStringAsync();
if (httpResponse.IsSuccessStatusCode && !string.IsNullOrWhiteSpace(responseString))
{
completionResponse = JsonSerializer.Deserialize<CompletionResponse>(responseString);
}
}
}
}
...
}