C#/.Net开发chatGPT、openAI的简单步骤

 更新时间:2023年08月09日 15:40:09   作者:步、步、为营  
OpenAI处于科技行业下一件大事件的最前沿,具有初创公司史诗般的标志,下面这篇文章主要给大家介绍了关于C#/.Net开发chatGPT和openAI的相关资料,需要的朋友可以参考下

C#/.Net开发chatGPT、openAI

最近ChatGPT火爆了,自己使用了一下,确实厉害。所以自己折腾一番,使用C#来调用API。

获取Token

本文不再赘述。

C#/.net调用接口

C#/.net 对接chatGPT非常简单,导入相关的依赖,然后构建OpenAiService实例,填写相关参数,就可以发送我们的问题,返回结果是问题答案。

API常用参数

设置项含义数据类型作用
model(必需)模型string要使用的模型ID,目前text-davinci-003是自然语言最强大的模型
prompt提示(问题)string/array你向API提供的提示,即你提出的问题
temperature创新采样float取值范围0-1,当设置为0时,对于相同的问题,模型始终返回相同或者相近的结果,设置1则与上次的回答更加不同。默认1
top_p情绪采样float默认1。替代temperature使用,考虑了模型质量,0.1为生成结果的质量为10%,建议使用1。
n结果数量int默认1。针对提示所生成结果的次数,会大量消耗令牌。
stream流式返回bool默认false。是否以流式返回部分进度,流完成后会发送终止消息data:[DONE]
echo显示提示bool默认false,在返回结果外,还显示用户给的问题
stop停止词string/array最多四个序列,返回的文本不包括停止序列
max_tokens最大令牌数int默认16,大多数模型支持最大为2048

注意:有一个限制是,对于大多数模型,单个API请求只能处理2048个tokens,大约1500个单词(一个token大约是4个字符或者),大家在使用时注意余额情况。

使用示例

采用OpenAPI官网给出的nuget包Betalgo.OpenAI.GPT3

const string OPENAPI_TOKEN = "sk-************************";//输入自己的api-key
private async void Chat()
{
    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);
    }

}

可以看出写的还不错

总结

到此这篇关于C#/.Net开发chatGPT、openAI的文章就介绍到这了,更多相关C# .Net开发chatGPT openAI内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • AOP从静态代理到动态代理(Emit实现)详解

    AOP从静态代理到动态代理(Emit实现)详解

    AOP为Aspect Oriented Programming的缩写,意思是面向切面编程的技术。下面这篇文章主要给大家介绍了关于AOP从静态代理到动态代理(Emit实现)的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-09-09
  • Unity UGUI的ScrollRect滚动视图组件使用详解

    Unity UGUI的ScrollRect滚动视图组件使用详解

    这篇文章主要为大家介绍了Unity UGUI的ScrollRect滚动视图组件使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Winform实现调用asp.net数据接口实例

    Winform实现调用asp.net数据接口实例

    这篇文章主要介绍了Winform实现调用asp.net数据接口的方法,以实例的形式讲述了数据接口及反射辨别响应的实现方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • C# Winform实现截图工具的示例代码

    C# Winform实现截图工具的示例代码

    这篇文章主要为大家详细介绍了如何使用C# Winform制作一个简单的截图工具,从而实现截图功能,文中的示例代码讲解详细,有需要的可以参考下
    2024-02-02
  • WPF利用RPC调用其他进程的方法详解

    WPF利用RPC调用其他进程的方法详解

    这篇文章主要给大家介绍了关于WPF利用RPC调用其他进程的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05
  • C#中LINQ的Select与SelectMany函数使用

    C#中LINQ的Select与SelectMany函数使用

    这篇文章主要介绍了C#中LINQ的Select与SelectMany函数使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • C#中Abstract 、Virtual和Override的使用及区别

    C#中Abstract 、Virtual和Override的使用及区别

    C#中virtual,abstract,override用于方法重载,子类覆盖了父类的相同方法,父类中的实现不可能再被外面调用。本文给大家重点介绍C#中Abstract 、Virtual和Override的使用及区别,需要的朋友参考下吧
    2021-06-06
  • c#中Linq to Sql 增删除的实例

    c#中Linq to Sql 增删除的实例

    c#中Linq to Sql 增删除的实例,需要的朋友可以参考一下
    2013-05-05
  • C#简单发送email的方法

    C#简单发送email的方法

    这篇文章主要介绍了C#简单发送email的方法,涉及C#发送Email的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#中常用的正则表达式实例

    C#中常用的正则表达式实例

    正则表达式在程序设计中有着重要的位置,它经常被用于处理字符串信息,下面是C#中常用的正则表达式实例,感兴趣的朋友一起看看吧
    2016-10-10

最新评论