<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>蔡文龍 &#8211; 科技島-掌握科技新聞、科技職場最新資訊</title>
	<atom:link href="https://www.technice.com.tw/tag/%E8%94%A1%E6%96%87%E9%BE%8D/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.technice.com.tw</link>
	<description>專注於科技新聞、科技職場、科技知識相關資訊，包含生成式AI、人工智慧、Web 3.0、區塊鏈、科技職缺百科、生物科技、軟體發展、雲端技術等豐富內容，適合熱衷科技及從事科技專業人事第一手資訊的平台。</description>
	<lastBuildDate>Wed, 17 Jul 2024 00:58:49 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.2</generator>

<image>
	<url>https://www.technice.com.tw/wp-content/uploads/2022/12/cropped-wordpress_512x512-150x150.png</url>
	<title>蔡文龍 &#8211; 科技島-掌握科技新聞、科技職場最新資訊</title>
	<link>https://www.technice.com.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">223945996</site>	<item>
		<title>【課堂筆記】探索OpenAI API的魔法世界｜蔡文龍</title>
		<link>https://www.technice.com.tw/classnotes/122550/</link>
					<comments>https://www.technice.com.tw/classnotes/122550/#respond</comments>
		
		<dc:creator><![CDATA[abc]]></dc:creator>
		<pubDate>Mon, 08 Jul 2024 00:50:50 +0000</pubDate>
				<category><![CDATA[課堂筆記 - AI學院]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[OpenAI]]></category>
		<category><![CDATA[蔡文龍]]></category>
		<category><![CDATA[課堂筆記]]></category>
		<guid isPermaLink="false">https://www.technice.com.tw/?p=122550</guid>

					<description><![CDATA[<p><img width="1920" height="1080" src="https://www.technice.com.tw/wp-content/uploads/2024/07/240708蔡文龍.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="240708蔡文龍" decoding="async" srcset="https://www.technice.com.tw/wp-content/uploads/2024/07/240708蔡文龍.jpg 1920w, https://www.technice.com.tw/wp-content/uploads/2024/07/240708蔡文龍-300x169.jpg 300w, https://www.technice.com.tw/wp-content/uploads/2024/07/240708蔡文龍-1024x576.jpg 1024w, https://www.technice.com.tw/wp-content/uploads/2024/07/240708蔡文龍-768x432.jpg 768w, https://www.technice.com.tw/wp-content/uploads/2024/07/240708蔡文龍-1536x864.jpg 1536w, https://www.technice.com.tw/wp-content/uploads/2024/07/240708蔡文龍-390x220.jpg 390w" sizes="(max-width: 1920px) 100vw, 1920px" title="【課堂筆記】探索OpenAI API的魔法世界｜蔡文龍 1"></p>
<p>當OpenAI開發的ChatGPT橫空出世後，許多人便開始思考如何將ChatGPT的模型套用在不同的工作中，甚至也開始利用OpenAI的金鑰，開發不同功能或用來處理特定任務的專屬機器人。本次課程將手把手地告訴大家，如何利用OpenAI API進行不同功能的開發，依照自己的需求，打造屬於自己的AI機器人。<content><!-- wp:heading --></p>
<h2 class="wp-block-heading"><strong>一、前言</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>當OpenAI開發的ChatGPT橫空出世後，許多人便開始思考如何將ChatGPT的模型套用在不同的工作中，甚至也開始利用OpenAI的金鑰，開發不同功能或用來處理特定任務的專屬機器人。本次課程將手把手地告訴大家，如何利用OpenAI API進行不同功能的開發，依照自己的需求，打造屬於自己的AI機器人。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":122551,"sizeSlug":"large","linkDestination":"none"} --></p>
<figure class="wp-block-image size-large"><img src="https://www.technice.com.tw/wp-content/uploads/2024/07/240708蔡文龍-1024x576.jpg" alt="探索OpenAI API的魔法世界" class="wp-image-122551"/></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading"><strong>二、OpenAI API應用範例</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>當我們想要在自己設計的機器人中導入OpenAI時，第一步當然就是要先申請OpenAI API的金鑰。申請方法非常簡單，我們首先要進入OpenAI API的介面，點擊右上方的「Dashboard」後，再於左方工具欄中選擇「API keys」。接著點選右上方的「+ Create new secret key」，並設定好金鑰的名稱，再點選「Create secret key」就可以成功得到一串金鑰啦（如下圖）！需要注意的是，我們一輩子就只會看到這個金鑰一次，所以大家切記要將金鑰複製，並保存於文字檔或記事本中。另外，若我們連續申請太多次金鑰，可能會出現要回答多個問題才能再申請的情況發生，需要特別留意。除此之外，如果我們想要知道每個金鑰的使用狀況，包含用量與費用，則可以到「Usage」中查看。有了金鑰以後，現在就讓我們看看它可以幫我們做什麼吧！</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":123787,"width":"840px","height":"auto","sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full is-resized"><img src="https://www.technice.com.tw/wp-content/uploads/2024/07/OpenAI.jpg" alt="OpenAI API金鑰申請步驟。" class="wp-image-123787" style="width:840px;height:auto"/><figcaption class="wp-element-caption">OpenAI API金鑰申請步驟。（圖／OpenAI操作截圖）</figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:list {"ordered":true} --></p>
<ol><!-- wp:list-item --></p>
<li><strong>OpenAI API文本生成服務開發</strong></li>
<p><!-- /wp:list-item --></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:paragraph --></p>
<p>我們都知道，ChatGPT具有強大的語言功能，也常被用來產生文案。因此，我們當然可以串接OpenAI API，幫助我們生成文本。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>首先，我們要先進入Google雲端硬碟，並開啟「Google Colaboratory」。如果找不到該功能，則可以點擊右鍵，在「連結更多應用程式」中搜尋Google Colaboratory，就可以成功開啟。接著，我們就可以開始輸入程式碼，串接OpenAI金鑰了。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>由於我們要使用OpenAI生成文本，所以在程式碼開頭要先輸入「!pip install openai」安裝OpenAI的套件。接著再於「openai.api_key = 」後放入我們的金鑰，並輸入「response = openai.chat.completions.create」呼叫Chat Completions API聊天模型。我們可以在這裡指定要使用的GPT模型參數，像是gpt-3.5-turbo、gpt-4或gpt-4o等，亦或是其他文字轉語音、語音轉文字的模型。接下來，當我們要把訊息傳出去時，必須先輸入訊息串列。這個訊息串列包含三個角色：「系統」（system）、「使用者」（user）、「助理」（assistant）。「系統」主要是用來指定機器人的角色，讓它的回覆可以更符合我們想要的結果。「使用者」則是用來指定使用者提示。最後的「助理」，代表模型回覆的結果，是用來做歷史紀錄，以便進行連續的對話。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>假設我們想要機器人扮演行銷小編，那麼我們首先要在system的程式碼中，指定它為「一位行銷小編，請用此身份回覆，並用繁體中文回覆。」接著，在user的部分輸入我們想要機器人執行的任務，像是「請幫我寫人中之龍8的IG貼文」。最後，我們再輸入print (response.choices[0]. message. content)，用來印出模型產生的訊息，並點選執行，就可以成功得到一串系統寫的行銷文案了（完整程式碼請見下圖）。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":123792,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full"><img src="https://www.technice.com.tw/wp-content/uploads/2024/07/OpenAI-2.jpg" alt="OpenAI API文本生成服務開發完整程式碼。" class="wp-image-123792"/><figcaption class="wp-element-caption">OpenAI API文本生成服務開發完整程式碼。（圖／OpenAI操作截圖）</figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>　2.<strong>打造智慧客服機器人</strong></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:list {"ordered":true} --></p>
<ol><!-- wp:list-item --></p>
<li></li>
<p><!-- /wp:list-item --></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:list {"ordered":true} --></p>
<ol><!-- wp:list-item --></p>
<li></li>
<p><!-- /wp:list-item --></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:paragraph --></p>
<p>雖然上述的文本生成機器人可以快速幫助我們得到一篇文案，但它仍有ChatGPT會一本正經胡說八道的老毛病。即便如此，我們也可以利用「少樣本提示」（Few-shot prompting）的方法，將公司相關資料提供給機器人，讓它的回答可以限縮在此資料範圍內，打造一個能夠依照我們的資料提供與事實相符回應的客服機器人。少樣本提示，指的是提供真實少量的數據樣本與提示給模型，來引導模型生成符合特定任務或要求輸出。此方法的優點為，能夠在少量樣本數據實現高效的模型微調，整體而言具有靈活性、通用性和快速調整的能力。且它也可以有效減少人力並適用於各種任務。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>打造客服機器人的第一步，一樣是開啟google colab。而由於我們要結合GUI製作客服機器人，所以要先輸入!pip install gradio安裝gradio，並輸入!pip install openai安裝OpenAI 。接著輸入import openai和import gradio as gr ，再放入我們的OpenAI API金鑰，並點選右方的執行。與文本生成不同的是，我們在這裡要將程式碼變成一個函數，所以要於訊息串列中輸入def chat (prompt) :。接著，因為我們要帶入客戶提問的prompt，所以要於訊息串列中「user」部分的“content”後的程式碼改為prompt。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>接下來，我們就可以開始上傳公司資訊給機器人，讓它可以依照這些資訊回覆客人的問題。假設我們是一間飯店的經營者，想要打造一個專屬的客服機器人，那麼可以點選colab頁面左側工具欄的資料夾圖示，將飯店服務資訊的文字檔上傳。如此一來，我們就成功地將資料嵌入在客服機器人中了。最後，為了要讓機器人依照公司資料回覆，所以我們也要記得在程式碼中加入如下圖藍色部分的with = open程式碼。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":123797,"width":"840px","height":"auto","sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full is-resized"><img src="https://www.technice.com.tw/wp-content/uploads/2024/07/OpenAI3.jpg" alt="為了讓機器人可以依照我們上傳的資料回覆客人問題，我們必須加入上圖藍色部分的程式碼。" class="wp-image-123797" style="width:840px;height:auto"/><figcaption class="wp-element-caption">為了讓機器人可以依照我們上傳的資料回覆客人問題，我們必須加入上圖藍色部分的程式碼。（圖／OpenAI操作截圖）</figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>接下來，我們要於訊息串列中設定機器人的角色，所以要將system設定為「一位飯店客服人員，請依{info}內容回覆，並用繁體中文回覆。」點選執行後，機器人就會成功依照我們提供給它的資訊進行回覆。完成客服機器人的最後一步，就是要再加上以下程式碼：interface = gr. Interface (fn=chat, inputs=gr.Textbox (label=‘提問’), outputs=gr. Textbox (label=‘回覆’), title=‘飯店客服系統’) interface. Launch (share=True)，輸入完成後點選執行，確認是否可以成功執行程式碼。若執行成功，應會出現如下圖的飯店客服系統。我們可以點選系統出現的網址，並在google頁面右上方的三個點點，使用「開發人員工具」，將客服系統變成手機版。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":123798,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full"><img src="https://www.technice.com.tw/wp-content/uploads/2024/07/OpenAI4.jpg" alt="成功執行客服機器人的程式碼後，我們可以得到如圖中系統給我們的網址。我們可以利用Google的「開發人員工具」，將此客服系統變成手機版。" class="wp-image-123798"/><figcaption class="wp-element-caption">成功執行客服機器人的程式碼後，我們可以得到如圖中系統給我們的網址。我們可以利用Google的「開發人員工具」，將此客服系統變成手機版。（圖／OpenAI操作截圖）</figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>　3.<strong>利用OpenAI API進行辦公室自動化</strong></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>除了打造專屬的客服機器人外，我們也可以串接OpenAI API ，自動化辦公室工作流程。首先，我們可以開啟一個新的google colab，並同樣先將飯店資訊拉到右方工作欄的資料夾中，再於程式碼中安裝OpenAI。現在假設我們有一個excel檔，記錄了客人曾經問過的問題，並希望AI生成的資料可以整理在某個欄位供我們查看。那我們就可以先將該excel檔拉到資料夾中，就可以在程式碼中得到如下圖的程式碼。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":123815,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full"><img src="https://www.technice.com.tw/wp-content/uploads/2024/07/OpenAI5.jpg" alt="當我們上傳excel檔給google colab後，會得到如圖中的程式碼。
" class="wp-image-123815"/><figcaption class="wp-element-caption">當我們上傳excel檔給google colab後，會得到如圖中的程式碼。（圖／OpenAI操作截圖）<br /></figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>接著，我們一樣要做一個函式，並輸入如下圖的程式碼。最後我們再點選執行鍵，就會看到左方出現一個「客服ok」的excel檔。點擊進入excel檔後，我們就可以成功看到機器人自動回覆的訊息囉！</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":123816,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full"><img src="https://www.technice.com.tw/wp-content/uploads/2024/07/OpenAI6.jpg" alt="我們必須在程式碼中輸入圖中的程式碼，才能讓機器人在excel檔中的指定欄位進行回覆。" class="wp-image-123816"/><figcaption class="wp-element-caption">我們必須在程式碼中輸入圖中的程式碼，才能讓機器人在excel檔中的指定欄位進行回覆。（圖／OpenAI操作截圖）</figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>　4.<strong>OpenAI影像分析服務開發</strong></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>除了前述的應用外，今年五月份OpenAI也開發了具有視覺功能的GPT-4o，因此我們也可以利用此功能來理解圖像。方法與前述的步驟類似。安裝完OpenAI後，同樣輸入response = openai.chat.completions.create，並設定要使用gpt-4o的模型。接著，在訊息串列中，我們可以在user部分的提示內容放入我們的問題，像是「這張圖片裡有什麼」，也可以直接放入想要讓AI分析的圖片網址。最後，我們一樣用response.choices[0].message.content來印出模型並產生訊息（完整程式碼請見下圖）。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":123817,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full"><img src="https://www.technice.com.tw/wp-content/uploads/2024/07/OpenAI7.jpg" alt="串接OpenAI API進行圖片分析的完整程式碼。" class="wp-image-123817"/><figcaption class="wp-element-caption">串接OpenAI API進行圖片分析的完整程式碼。（圖／OpenAI操作截圖）</figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>以此類推，我們也可以串接不同的OpenAI功能，打造不同的機器人。舉例來說，假設我們讓機器人可以幫我們繪圖，就可以利用openai.images.generate的方法，並套用DALL·E 3 的模型讓機器人幫助我們生成圖片（完整程式碼請見下圖）。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":123818,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full"><img src="https://www.technice.com.tw/wp-content/uploads/2024/07/OpenAI8.jpg" alt="串接DALL·E 3模型的完整程式碼。" class="wp-image-123818"/><figcaption class="wp-element-caption">串接DALL·E 3模型的完整程式碼。（圖／OpenAI操作截圖）</figcaption></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading"><strong>三、結語</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>從本次的課程內容我們可以發現，擁有了OpenAI的金鑰後，我們可以依照自己的需求撰寫程式，打造不同功能的機器人，像是專業行銷小編機器人、客服機器人，以及圖像分析機器人。然而，礙於篇幅限制，如果大家想要知道完整的程式碼，或者詳細的操作過程，也歡迎觀看本次課程回放喔！</p>
<p><!-- /wp:paragraph --></content></p>
<p>這篇文章 <a rel="nofollow" href="https://www.technice.com.tw/classnotes/122550/">【課堂筆記】探索OpenAI API的魔法世界｜蔡文龍</a> 最早出現於 <a rel="nofollow" href="https://www.technice.com.tw">科技島-掌握科技新聞、科技職場最新資訊</a>。</p>
]]></description>
		
					<wfw:commentRss>https://www.technice.com.tw/classnotes/122550/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">122550</post-id>	</item>
	</channel>
</rss>
