iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
AI & Data

ChatGPT提問詞(Prompt)的練習系列 第 29

(Day 29)ChatGPT api 金鑰的使用

  • 分享至 

  • xImage
  •  

OpenAI API 金鑰申請
前往並登入OpenAI網頁右上角選單的View API Keys網頁
https://platform.openai.com/account/api-keys
在API keys底下 + Create new secret key,建立你專屬的金鑰。

ChatGPT 問題輸入:

請給出一個ChatGPT智能客服程式(使用C#的MVC code)

當然,以下是一個基於 C# 的 MVC (Model-View-Controller) 架構的 ChatGPT 智能客服程式示例。這個示例使用 OpenAI GPT-3 模型來回應用戶的輸入。

首先,你需要在 OpenAI 網站上註冊並獲取你的 API 金鑰,然後將它放在程式碼中的合適位置。

  1. Model (模型) - ChatModel.cs
using OpenAI;
using System;
using System.Threading.Tasks;

public class ChatModel
{
    private readonly string apiKey = "YOUR_API_KEY_HERE"; // 替換為你的 OpenAI API 金鑰

    public async Task<string> GetGPTResponse(string userMessage)
    {
        OpenAI.ApiKey = apiKey;

        try
        {
            var prompt = $"用戶:{userMessage}\nAI:";
            var maxTokens = 50; // 要生成的最大標記數

            var response = await OpenAI.Completion.Create(
                engine: "davinci", // GPT-3 模型引擎
                prompt: prompt,
                max_tokens: maxTokens
            );

            return response.Choices[0].Text;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"錯誤:{ex.Message}");
            return "抱歉,出現了一些問題,無法回應您的請求。";
        }
    }
}
  1. Controller (控制器) - ChatController.cs
using System.Threading.Tasks;

public class ChatController
{
    private ChatModel model = new ChatModel();

    public async Task<string> ProcessUserMessage(string userMessage)
    {
        // 在這裡可以對用戶的訊息進行處理,例如驗證、清理、分析等等。
        // 然後調用 Model 來獲得回應
        return await model.GetGPTResponse(userMessage);
    }
}
  1. View (視圖) - 這個示例中,我們只是在控制台上顯示回應。你可以根據實際需求建立更具交互性的用戶界面。
using System;

public class ChatView
{
    public void DisplayResponse(string response)
    {
        Console.WriteLine("ChatGPT 智能客服回應:");
        Console.WriteLine(response);
    }
}

在實際應用中,你需要在用戶輸入時呼叫 ChatControllerProcessUserMessage 方法,然後將結果顯示在 ChatView 上。

請務必替換示例程式碼中的 YOUR_API_KEY_HERE 部分為你自己的 OpenAI API 金鑰。這僅是一個簡單的示例,實際應用中可能需要更多的錯誤處理和輸入驗證。希望這個示例對你有所幫助!


上一篇
(Day 28)ChatGPT 列出熱門程式的語言
下一篇
(Day 30)ChatGPT 寫出比賽的最後一天的心得
系列文
ChatGPT提問詞(Prompt)的練習31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言