gpt4 book ai didi

.net - 来自 .net API 的 OpenAI 调用

转载 作者:行者123 更新时间:2023-12-02 05:47:51 32 4
gpt4 key购买 nike

我正在尝试在我的 .net Core API 中复制我可以在 Postman 中进行的调用。在 Postman 中,我正在对以下对象执行 POST 调用:

https://api.openai.com/v1/completions

在正文中,我传递了以下内容:

{
"model":"ada:dummy-2022-11-08-18-19-04",
"prompt":"This is my test data on causes for illness ->",
"max_tokens":6,
"temperature":0
}

作为原始 JSON。

这会毫无问题地返回我的结果。显然我也在设置我的授权,我只是没有显示出来。在我的 .net 核心 api 中,我有以下代码:

async Task<string> getOpenAIData(OpenAISettings pSettings, string promptValue)
{
var targetUrl = $"https://api.openai.com/V1/completions";

OpenAIRequest reqBody = new OpenAIRequest();
reqBody.model = pSettings.Model;
reqBody.prompt = promptValue;
reqBody.temprature = pSettings.Temprature;
reqBody.max_tokens = pSettings.MaxTokens;

using(HttpClient client = new HttpClient())
{
using(var request = new HttpRequestMessage(HttpMethod.Post, targetUrl))
{
request.Headers.TryAddWithoutValidation("Authorization", "Bearer my-secret-code");
request.Content = JsonContent.Create(reqBody, new MediaTypeHeaderValue("application/json"));
request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");

var response = client.SendAsync(request).Result;
var json = response.Content.ReadAsStringAsync().Result;
}
}
return "";
}

我知道还有更多要完成此功能,但现在我的响应状态始终是 404。我的 reqBody 对象看起来与我从 Postman 传递的对象相同。

读者可能会告诉我只使用其中一个包装器库,但它们都不允许您指定模型(据我所知),而且我已尝试对它们进行逆向工程,但无法使任何东西正常工作。有什么明显的东西我只是忽略了吗?

最佳答案

添加 try catch 如下:

        catch (WebException ex)
{

using (var stream = ex.Response.GetResponseStream())
using (var reader = new StreamReader(stream))
{
string Fail404 = reader.ReadToEnd();

}


}

然后调试Fail404(任何调用的响应主体)

关于.net - 来自 .net API 的 OpenAI 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74697742/

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