基于C# .NetCore WebApi 接入ChatGPT 方法

1,098 阅读1分钟

1.新建一个.NetCore WebApi项目,演示是基于.Net Core 6

7c493049ae834c4e89194cc8d57a3839_tplv-k3u1fbpfcp-watermark.png

bc451393b0a245b3aacffd950a515800_tplv-k3u1fbpfcp-watermark.png

2.添加Nuget引用 OpenAi

9605c83381264451b50296902a2d3848_tplv-k3u1fbpfcp-watermark.png

3.新建一个控制器 ChatGPTController

6d4cf0a25e80420382f1e9ed79970010_tplv-k3u1fbpfcp-watermark.png

using OpenAI_API;
using OpenAI_API.Completions;

namespace ChatGPTApi.Controllers
{
    public class ChatGPTController : Controller
    {
        [HttpPost]
        [Route("getanswer")]
        public IActionResult GetResult([FromBody] string prompt)
        {
            //你的apiKey
            string apiKey = "sk-N8NY6OlcxytzRRyhcJ0iT3BlbkXXXXXXXXXXXXXXXXXXXX";
            string answer = string.Empty;
            var openai = new OpenAIAPI(apiKey);
            CompletionRequest completion = new CompletionRequest();
            completion.Prompt = prompt;
            completion.Model =OpenAI_API.Models.Model.DavinciText;
            completion.MaxTokens = 4000;
            var result = openai.Completions.CreateCompletionAsync(completion);
            if (result != null)
            {
                foreach (var item in result.Result.Completions)
                {
                    answer = item.Text;
                }
                return Ok(answer);
            }
            else
            {
                return BadRequest("Not found");
            }
        }
    }
}


其中apiKey需要登录openapi网站,并新建ApiKey,并复制。注册过程略过。

852be0ea68bc417fa798c7ff868ce479_tplv-k3u1fbpfcp-watermark.png 下面是测试效果

image.png

个人觉得ChatGPT现阶段的用处。

1.资料搜索:当成百科全书来用,当学习工作的小助手。
2.营销广告生成器:生成营销广告,每次调用都能生成不同的营销广告,批量铺软文,吸引客户眼球。
3.生成博文:可以调用博客/问答网站发送接口,自动制造博文并发布。

适当使用,给这个垃圾信息爆炸的时代减减负。

CreateBy ZRY.2023.02.09.