首页
关于
Search
1
C语言中的类型衰变
167 阅读
2
C#对接chatgpt
157 阅读
3
winform中combobox绑定数据源
140 阅读
4
反射异步调用
107 阅读
5
dynamic在反序列化中的用途
95 阅读
技术分享
后端分享
前端分享
福利活动
资源分享
天天向上
登录
/
注册
Search
标签搜索
C#
DotNet
.NET
SSE
Stream
ChatGpt
winform
c
dynamic
反序列化
反射
异步
西街长安
累计撰写
11
篇文章
累计收到
45
条评论
首页
栏目
技术分享
后端分享
前端分享
福利活动
资源分享
天天向上
页面
关于
搜索到
1
篇与
的结果
2023-05-31
C#对接chatgpt
获取OpenAI API密钥:首先,需要在OpenAI网站上注册并获取API密钥。这将允许通过API与ChatGPT进行通信。之后我们再创建几个类用于储存需要提交的数据。internal record class Message(string role,string content);internal class Data { public string model = "gpt-3.5-turbo"; public Message[] messages; public float temperature=0.7f; public bool stream = false;//此处是告诉chatgpt是否通过流返回数据,如果为true,则后面代码中的Reader.ReadToEnd()要修改为Reader.ReadLine() }发起HTTP请求:使用C#中的HttpClient类,可以发起HTTP POST请求来与OpenAI API进行通信。在请求标头中,需要设置Authorization标头,并在请求主体中提供必要的参数。using System.Text.Json; using System.Net.Http; using System.Text; using System.Net.Http.Headers; using System.Net.Http.Json; using Newtonsoft.Json; using System.Net; namespace ConsoleApp13 { internal class Program { static void Main(string[] args) { string key = "这里填你的Key"; string result = "";//这里是最后拿到的json数据 HttpWebRequest http = (HttpWebRequest)WebRequest.Create("https://api.openai.com/v1/chat/completions"); Data data = new Data() { messages=new Message[] {new Message("user","用c#写登录功能")} }; http.ContentType = "application/json"; http.Method = "POST"; http.Headers.Add("Authorization", $"Bearer {Key}"); byte[] bytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(data)); http.ContentLength = bytes.Length; using (Stream streamr = http.GetRequestStream()) { streamr.Write(bytes, 0, bytes.Length); } HttpWebResponse response = (HttpWebResponse)http.GetResponse(); Stream stream = response.GetResponseStream(); using (StreamReader reader = new StreamReader(stream)) { result = reader.ReadToEnd(); } } } }{alert type="info"}成功对接ChatGpt后可以利用Asp.Net写chatgpt接口。{/alert}{alert type="info"}另外需要注意的是,如果是通过流接收数据,使用httpclient时会在响应完成后返回所有数据,而不是逐字返回。{/alert}
2023年05月31日
157 阅读
1 评论
71 点赞