gpt4 book ai didi

c# - 如何使用 HttpClientFactory 从 C# 调用 ChatGPT,我一直收到错误且没有响应

转载 作者:行者123 更新时间:2023-12-02 05:46:40 25 4
gpt4 key购买 nike

对此感到非常恼火。 Playground 只提供 python 和节点,试图在 C# 中使用它,但我不断收到错误。这是我的设置方式。

首先在 Program/Startup 文件中,我是这样设置的:(URL:https://api.openai.com/)

services.AddHttpClient("ChatGptAPI", client =>
{
client.DefaultRequestHeaders.Clear();
client.BaseAddress = aiOptions.Url;
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + aiOptions.Bearer);
});

然后在我的方法中,我调用这个:

            var client = _httpFactory.CreateClient("ChatGptAPI");
var payload = new
{
prompt = $"Create a first person story\n\n{storyText}",
temperature = "0.5",
max_tokens = "1500",
model = "text-davinci-003"
};

var content = new StringContent(JsonSerializer.Serialize(payload), Encoding.UTF8, "application/json");
var response = await client.PostAsync("v1/completions", content);

Console.WriteLine("ChatGptAPI result:");
Console.WriteLine(response.RequestMessage);

一开始我一直收到 Bad Request 错误,但是当我尝试其他 URL 请求时,它似乎通过了,但响应是空白的。

在我的生活中,我找不到任何使用 C# 调用这些服务的示例。

任何帮助都会很棒。

我已经尝试了多个 URL,我已经尝试在 Playground 中运行它并查看代码,并且我已经搜索了其他示例,但这总是失败或没有返回任何内容。还尝试使用 OpenAI Nuget 包,那是浪费时间。

最佳答案

如果您实际上设法到达了完成端点并且您有一个有效的 key ,那么您只是在读回错误的对象。

收到回复后,您应该阅读它,例如:

var gptResponse = await response.Content.ReadAsStringAsync();

然后您可以解析或更好地反序列化 API 响应

关于c# - 如何使用 HttpClientFactory 从 C# 调用 ChatGPT,我一直收到错误且没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75278850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com