【愚公系列】2023年02月 .NET CORE工具案例-ChatGPT和.NET Core应用的结合

举报
愚公搬代码 发表于 2023/02/28 22:40:50 2023/02/28
【摘要】 前言 1.ChatGPT的概念ChatGPT是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进...

前言

1.ChatGPT的概念

ChatGPT是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进行互动的能力,做到与真正人类几乎无异的聊天场景进行交流。ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。–百度百科

自美国时间12月2日上线以来,美国硅谷的初创公司OpenAI推出的ChatGPT,已经拥有超过一百万的用户,受到热烈的讨论。它既能完成包括写代码,修bug(代码改错),翻译文献,写小说,写商业文案,创作菜谱,做作业,评价作业等一系列常见文字输出型任务,而且在和用户对话时,能记住对话的上下文,反应非常逼真。

本人实际测试过ChatGPT相关功能还是很不错,本篇文章讲解ChatGPT和.NET Core应用的结合。把ChatGPT融入自己的程序里。

API文档地址:https://platform.openai.com/docs/introduction
在这里插入图片描述

2.ChatGPT注册教程

1、打开 OpenAI 官网:https://openai.com/
在这里插入图片描述

2、在页面右上角点击“Sign In”按钮

在这里插入图片描述
注册完成后就可以点击“Create Account”,进行密钥的获取

一、ChatGPT和.NET Core应用的结合

1.安装包

Betalgo.OpenAI.GPT3

在这里插入图片描述

2.控制器

[HttpPost]
[Route("getanswer")]
public async Task GetResult()
{
   const string OPENAPI_TOKEN = "sk-x9ZSpd67CeF4sHg2xxxxxxxxxxxxxx";

   OpenAIService service = new OpenAIService(new OpenAiOptions() { ApiKey = OPENAPI_TOKEN });
   CompletionCreateRequest createRequest = new CompletionCreateRequest()
   {

       Prompt = "写一首关于工作的诗",
       Temperature = 0.3f,
       MaxTokens = 1000
   };

   var res = await service.Completions.CreateCompletion(createRequest, Models.TextDavinciV3);

   if (res.Successful)
   {
       var ss = res.Choices.FirstOrDefault().Text;
       Console.WriteLine(ss);
   }
}

在这里插入图片描述

3.运行程序

3.1 问题一

1、问

写一首关于工作的诗

2、答

工作把我折磨,
把我的时间拉长,
把我的精力耗尽,
把我的头发秃掉。

努力工作让我累,
让我的眼睛发红,
让我的身体疲惫,
让我的心情沉重。

但是我知道,
工作是必须的,
它能让我获得成功,
它能让我实现梦想。

所以我要坚持,
不管多么艰辛,
努力工作,
让梦想成真!

在这里插入图片描述

3.2 问题二

1、问

.NETJAVA那个更好

2、答

这取决于你想要做什么。.NETJAVA都是功能强大的编程语言,它们都有自己的优势和劣势。.NET更适合开发Windows应用程序,而JAVA
更适合开发Web应用程序。因此,你应该根据你的需求来选择合适的语言。

在这里插入图片描述

3.3 问题三

1、问

用李白的口语来首刀光剑影的诗

3、答

长江万里长,滔滔不绝;
烟波浩渺,滚滚如潮。
江上落日,刀光剑影,
纷纷欲断,绝不可收。
江山秀丽,景色灿烂;
江渚清碧,渔歌轻轻。
江边渔火,照亮夜空,
船夫拨开,满江星斗。

在这里插入图片描述

备注

流读取

using OpenAI.GPT3.Managers;
using OpenAI.GPT3.ObjectModels.RequestModels;
using OpenAI.GPT3.ObjectModels;
using OpenAI.GPT3;
using System.Text;

const string OPENAPI_TOKEN = "sk-G3ZApAW1VfvvnXcTMNk4T3BlXXXXXXXXXXXXXXXXXXXXXX";
Console.InputEncoding = Encoding.Unicode;
while (true)
{
    OpenAIService service = new OpenAIService(new OpenAiOptions() { ApiKey = OPENAPI_TOKEN });
    Console.WriteLine();
    Console.WriteLine("--------------------我:");
    string msg = Console.ReadLine();

    CompletionCreateRequest createRequest = new CompletionCreateRequest()
    {
        Prompt = msg,
        Temperature = 0.3f,
        MaxTokens = 1000,
        Stream=true
    };

    var completionResult =service.Completions.CreateCompletionAsStream(createRequest, Models.TextDavinciV3);
    Console.WriteLine("--------------------AI机器人:");
    await foreach (var completion in completionResult)
    {
        if (completion.Successful)
        {
            Console.Write(completion.Choices.FirstOrDefault()?.Text);
        }
        else
        {
            if (completion.Error == null)
            {
                throw new Exception("Unknown Error");
            }

            Console.WriteLine($"{completion.Error.Code}: {completion.Error.Message}");
        }
    }
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。