问1:
如何用delphi调用ChatGPT接口
答1:
uses IdHTTP, System.JSON; function GetChatGPTResponse(const Query: string): string; var IdHTTP: TIdHTTP; begin IdHTTP := TIdHTTP.Create(nil); try Result := IdHTTP.Get('https://api.openai.com/v1/engines/davinci-codex/completions?prompt=' + Query); finally IdHTTP.Free; end; end; function GetChatGPTText(const Query: string): string; var JSONValue: TJSONValue; begin Result := ''; try JSONValue := TJSONObject.ParseJSONValue(GetChatGPTResponse(Query)); if JSONValue is TJSONObject then Result := TJSONObject(JSONValue).GetValue('choices').Items[0].GetValue('text').Value; except // 异常处理 end; end;
使用 GetChatGPTText
函数传入一个问题字符串,将返回 ChatGPT 的响应,您可以将其输出到控制台或将其显示在 GUI 窗口中。
请注意,此代码仅是示例,您需要根据您的需要进行修改,以处理不同类型的响应,包括错误处理和身份验证。
问2:
如何用C#调用ChatGPT (使用到了.net core的类库)
答2:
using System; using System.Net.Http; using System.Text.Json; class ChatGPT { static async void GetChatGPTResponse(string query) { using (var httpClient = new HttpClient()) { var url = "https://api.openai.com/v1/engines/davinci-codex/completions?prompt=" + query; using (var response = await httpClient.GetAsync(url)) { string responseContent = await response.Content.ReadAsStringAsync(); // 解析响应,获取返回的文本 var document = JsonDocument.Parse(responseContent); var text = document.RootElement.GetProperty("choices")[0].GetProperty("text").GetString(); Console.WriteLine(text); } } } static void Main(string[] args) { GetChatGPTResponse("Hello, ChatGPT!"); } }
使用 GetChatGPTResponse
方法传入一个问题字符串,将返回 ChatGPT 的响应,您可以将其输出到控制台或将其显示在 GUI 窗口中。
请注意,此代码仅是示例,您需要根据您的需要进行修改,以处理不同类型的响应,包括错误处理和身份验证。
问3:
如何用C# .net framework 调用ChatGPT
答3:
要使用 .NET Framework 调用 ChatGPT 接口,您可以使用 System.Net.WebClient 类或 System.Net.HttpWebRequest
类将数据发送到 ChatGPT 的 API 终点,然后解析响应。以下是一个使用 System.Net.WebClient 类的简单示例:
using System; using System.Net; using System.IO; using Newtonsoft.Json.Linq; class ChatGPT { static void Main(string[] args) { string query = "Hello, ChatGPT!"; string url = "https://api.openai.com/v1/engines/davinci-codex/completions?prompt=" + query; using (var client = new WebClient()) { client.Headers.Add("Content-Type:application/json"); client.Headers.Add("Authorization: Bearer YOUR_API_KEY"); string response = client.DownloadString(url); JObject jsonObject = JObject.Parse(response); string text = jsonObject["choices"][0]["text"].ToString(); Console.WriteLine(text); } } }
在此示例中,我们首先定义了一个查询字符串和 API 终点 URL。然后,我们使用 WebClient 类来创建一个 HTTP 请求,
并设置请求头以包括身份验证信息。发送请求后,我们从响应字符串中解析出所需的文本,然后将其输出到控制台。
请注意,您需要将 YOUR_API_KEY 替换为您的 OpenAI API 密钥。
您也可以使用 System.Net.HttpWebRequest 类发送 HTTP 请求,以下是一个简单的示例:
using System; using System.IO; using System.Net; using Newtonsoft.Json.Linq; class ChatGPT { static void Main(string[] args) { string query = "Hello, ChatGPT!"; string url = "https://api.openai.com/v1/engines/davinci-codex/completions?prompt=" + query; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Headers["Authorization"] = "Bearer YOUR_API_KEY"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string json = reader.ReadToEnd(); JObject jsonObject = JObject.Parse(json); string text = jsonObject["choices"][0]["text"].ToString(); Console.WriteLine(text); } } }