我在C#项目中使用OpenAI库,但如果超过100秒没有收到响应,就会出现以下错误。我无法添加自定义的httpclient元素。请问如何解决这个问题。提前感谢。
‘system Threading Tasks.TaskCanceledException: 请求因配置的HttpClient.Timeout在100秒后到期而被取消,‘
我使用的库: https://github.com/OkGoDoIt/OpenAI-API-dotnet
我的代码:
OpenAIAPI api = new OpenAIAPI(apiKey); var result = await api.Chat.CreateChatCompletionAsync(new ChatRequest() { Model = Model.ChatGPTTurbo, Temperature = 0.5, Messages = new ChatMessage[] { new ChatMessage(ChatMessageRole.System, ""), new ChatMessage(ChatMessageRole.User, prompt) } });
回答:
对于有其他问题的用户的解决方案:
using System.Net.Http;public class CustomHttpClientFactory : IHttpClientFactory{ public HttpClient CreateClient(string name) { var httpClient = new HttpClient(); httpClient.Timeout = TimeSpan.FromSeconds(200); return httpClient; }}
OpenAIAPI api = new OpenAIAPI(apiKey); api.HttpClientFactory = new CustomHttpClientFactory();var result = await api.Chat.CreateChatCompletionAsync(new ChatRequest(){ Model = Model.ChatGPTTurbo, Temperature = 0.5, Messages = new ChatMessage[]{ new ChatMessage(ChatMessageRole.System, ""), new ChatMessage(ChatMessageRole.User, prompt)}});