2023/2/20

以下是一個使用 C# 和 OpenAI GPT-3 API 進行文本生成的簡單範例程式碼,您可以根據需要進行修改:

using System; using System.Collections.Generic; using System.Net.Http; using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; namespace GPT3Example { class Program { static async Task Main(string[] args) { string apiKey = "YOUR_API_KEY_HERE"; // 替換為您的 API 密鑰 string prompt = "Once upon a time"; // 輸入文本 string model = "text-davinci-002"; // 模型 ID int maxTokens = 50; // 生成的最大 token 數量 string generatedText = await GenerateText(apiKey, prompt, model, maxTokens); Console.WriteLine(generatedText); } static async Task<string> GenerateText(string apiKey, string prompt, string model, int maxTokens) { string endpoint = "https://api.openai.com/v1/engines/" + model + "/completions"; using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey); var requestData = new { prompt = prompt, max_tokens = maxTokens }; var requestJson = JsonConvert.SerializeObject(requestData); var content = new StringContent(requestJson, Encoding.UTF8, "application/json"); var response = await client.PostAsync(endpoint, content); var responseString = await response.Content.ReadAsStringAsync(); dynamic responseData = JsonConvert.DeserializeObject(responseString); string generatedText = responseData.choices[0].text; return generatedText; } } } }


在程式碼中,您需要替換 apiKey 變數為您的 OpenAI API 密鑰,prompt 變數為您想要生成的文本開頭,model 變數為您要使用的模型 ID,maxTokens 變數為您希望生成的最大 token 數量。

然後,使用 HttpClient 類別發送 POST 請求到 OpenAI API,並傳遞相應的 JSON 資料。在收到回應後,解析 JSON 資料並返回生成的文本。

請注意,此範例程式碼僅供參考,實際應用可能需要更多的錯誤處理和安全措施。

沒有留言:

張貼留言