提供您專業技能的最佳管道,IT企業主管唯一推薦

提供您專業技能的最佳管道,IT企業主管唯一推薦

2024年9月5日 星期四

使用ChatGPT API快速實作翻譯機


許嘉仁 Jerry hsu

  • 恆逸教育訓練中心-資深講師
  • 技術分類:程式設計

 




本篇文章的內容會需要使用者先註冊OpenAI帳戶,並且需要登記信用卡資訊以及儲值才能使用,相關的註冊方式可以參考網路上的影片。另外透過官網的操作介面建立並取得呼叫API所需要的API Key,這樣才能開始使用喔。

撰寫這個練習的主因是有時出國在外需要與人溝通,雖然現行的翻譯應用程式很多,但自己寫的比較自嗨,這個範例雖然使用Windows Form展示,但實際上筆者有改用Xamarin寫成app並安裝到android手機,網路穩定的狀況下速度尚可但不滿意。

開始吧!簡單整理一下步驟:
1、 建立Windows Form專案並放置需要的使用者畫面,如下:


2、 透過Nuget Package Manager安裝OpenAI的套件,如下圖:


3、 先using三個名稱空間:

using OpenAI_API;
using OpenAI_API.Chat;
using OpenAI_API.Models;    

然後在Form Load事件先建立好呼叫API的物件,以及建立新的對話群,也可以設定要使用的模組,然後給定事先取得的API Key,也就是下列程式的"API KEY"的位置,需要自行替換喔。

OpenAIAPI? api = null;
Conversation? conversation = null;

private void Form1_Load(object sender, EventArgs e)
{
    api = new OpenAIAPI("API KEY");

    conversation = api.Chat.CreateConversation();
    conversation.Model = Model.ChatGPTTurbo;
}     

4、 然後中翻日按鈕的點選事件撰寫程式,透過適當的情境描述以及對話描述,讓ChatGPT給予適當的日文結果,程式如下:

private async void button1_Click(object sender, EventArgs e)
{
    textBox1.Text= string.Empty;
    conversation.AppendSystemMessage("你是個來日本旅遊的遊客,希望能跟日本人溝通");
    conversation.AppendUserInput($"請幫我把下列這段話翻譯成適當的日文,翻譯內容:「{textBox2.Text}」");
    await conversation.StreamResponseFromChatbotAsync(x =>
    {
        textBox1.Text += x;
    });
}        

也在日翻中按鈕的點選事件撰寫程式,一樣透過適當的情境描述以及對話描述,讓ChatGPT給予適當的中文結果,程式如下:

private async void button2_Click(object sender, EventArgs e)
{
    textBox2.Text = string.Empty;
    conversation.AppendSystemMessage("你是個日本人");
    conversation.AppendUserInput($"請幫我把下列這段話翻譯成適當的中文,翻譯內容:「{textBox1.Text}」");
    await conversation.StreamResponseFromChatbotAsync(x =>
    {
        textBox2.Text += x;
    });
}           

接下來就測試看看翻譯成日文的狀況如何,如下圖:


再來看看日文翻譯成中文的狀況如何,如下圖:


測試結果如果不滿意,大家可以調整情境設定跟對話設定來修正,而這就是跟坊間翻譯軟體不一樣的地方,透過隨時替換情境能得到不同的結果回覆;然後再透過對話內容也能翻譯成各種文字,這個範例只是個入門小練習,請大家發揮創意來測試吧!



您可在下列課程中了解更多技巧喔!

Related Posts:

  • 使用ChatGPT API快速實作翻譯機許嘉仁 Jerry hsu恆逸教育訓練中心-資深講師技術分類:程式設計 本篇文章的內容會需要使用者先註冊OpenAI帳戶,並且需要登記信用卡資訊以及儲值才能使用,相關的註冊方式可以參考網路上的影片。另外透過官網的操作介面建立並取得呼叫API所需要的API Key,這樣才能開始使用… Read More
  • 【讓GitHub Copilot更強大】GitHub Copilot擴充功能簡介-1作者:許薰尹  精誠資訊/恆逸教育訓練中心資深講師GitHub Copilot Chat是一個超級聰明的聊天機器人,它可以幫你做很多程式開發相關的事情,而GitHub Copilot 擴充功能(GitHub Copilot Extensions)可以讓這個機器人裝上各種不同的工具… Read More
  • 【學長姐帶路】沒有IT背景,如何用4個月跨領域轉職程式設計師?不要讓過去的學經歷,限制了你的夢想與未來零經驗、非本科系,也可以四個月成功轉職資訊業!2024.3月上課前,他們都沒有IT背景2024.7月結業一個月內,他們都已成功轉職程式設計師來看看微軟養成班學員的學習分享!👩盧玉雯背景:國立高雄科技大學行銷與流通管理系轉職前:產險公司行政專員➤為什麼想轉職?… Read More
  • 【強大的AI程式設計助手】使用GitHub Copilot提高Coding生產力 作者:許薰尹  精誠資訊/恆逸教育訓練中心資深講師當前,人工智慧的進步正在全面改變科技界的格局,並重新塑造世界運轉的模式,影響著各個組織和團隊的運作方式。若能充分善用這些人工智慧的進步,將如同催化劑般顯著提升全球開發人員的生產力。對於開發人員而言,將人工智慧的功能融入他們所熟… Read More
  • ChatGPT與Excel融合:如何在數據分析的賽道上領跑作者:吳翠鳳精誠資訊 恆逸教育訓練中心 資深講師前言在資訊技術不斷進步的今天,企業和專業人士越來越依賴數據來驅動決策。Microsoft Excel做為廣泛使用的數據分析工具之一,長期以來,一直是業務人員、資料分析師與各領域專業人士的重要武器。然而,隨著技術的不斷進步,一個名為ChatGPT的新興資… Read More

0 意見:

張貼留言