Azure OpenAI 和文字完成概觀

已完成

Azure OpenAI 服務提供以 REST API 存取 OpenAI 強大的語言模型,包括 GPT-3.5 及 GPT-4 模型系列。 這些模型可以輕鬆地調整至您的特定工作,包括但不限於內容生成、摘要、語意搜尋,以及自然語言翻譯為程式碼。

除了 REST API 存取之外,還有 .NET SDK 可用來存取 Azure OpenAI 服務。 這就是我們將用來組建應用程式的內容。 但在組建應用程式之前,讓我們進一步了解什麼是 Azure OpenAI,以及什麼是文字完成。 了解這個讓我們具備使用 AI 組建令人驚奇的應用程式所需的基礎。

Azure OpenAI 概觀

Azure OpenAI 服務使用 OpenAI GPT-3.5、GPT-4、Codex 和 DALL-E 模型給予客戶進階語言 AI,並提供 Azure 的安全性和企業承諾。 Azure OpenAI 使用 OpenAI 共同開發 API,以確保相容性,並且能夠在兩個 API 之間順暢轉換。

透過 Azure OpenAI,客戶可享有 Microsoft Azure 的安全性功能,同時執行與 OpenAI 相同的模型。 Azure OpenAI 提供私人網路、區域可用性、負責任 AI 內容篩選,以及使用您自己的資料擴充模型的能力。

完成端點是 API 服務的核心元件。 此 API 可提供存取模型的文字輸入、輸出介面。 使用者只要提供包含英文文字命令的輸入提示,模型就會產生完成文字。

文字完成

在本單元中,我們將了解文字完成。 不過,完成端點可用於各種不同的工作。 它為所有 Azure OpenAI 模型提供簡單而強大的文字輸入、輸出介面。 您輸入一些文字作為提示,模型就會產生試圖與您提供的任何內容或模式相符的完成。 例如,如果您給 API 這個提示:「正如笛卡兒說,我思,故」,模型就有很高的可能性會傳回「我在」的完成。

您看到的實際完成結果可能會有所不同,因為 AI 預設是隨機的。 換句話說,每次呼叫時,您可能會收到稍微不同的完成,即使您的提示維持不變。

這個簡單的「文字輸入、輸出」介面意味著您可以透過提供指示,或是幾個您想要它完成的動作範例,就可以「程式設計」此模型。 它的成功通常取決於工作的複雜度,以及您提示的品質。 一般的規則是,思考您要如何撰寫一個文字問題,交給年輕的學生去解決。 撰寫良好的提示會提供足夠的資訊,讓模型知道您想要的內容及其回應的方式。

我們稍後將探討如何撰寫良好的提示,但現在讓我們看看不同類型的完成。

Azure OpenAI 完成的類型

如前所述,您將提示傳入 Azure OpenAI API,以提供您想要它執行的動作指示。 而且,您可以讓它執行像是分類文字、產生構想,或甚至將文字轉譯成表情符號等動作。

分類

針對此第一個完成類型,讓我們深入探討如何使用指示「程式設計」模型。

您可以告訴模型將資料排序為預先定義的類別。 此完成類型稱為分類

例如,您可以傳遞指示或提示,類似於完成 API:

This is a sentiment classifier

Example: "I loved the new movie!"
Sentiment: Positive

Example: "I hate it when my phone battery dies"
Sentiment: Negative

Example: "My day has been 👍"
Sentiment: Positive

Example: "This is the link to the article"
Sentiment: Neutral

Examples:
1. "I loved the new Batman movie!"
2. "I hate it when my phone battery dies"
3. "My day has been 👍"
4. "This is the link to the article"
5. "This new music video blew my mind"

Examples sentiment ratings:
1: Positive
2: Negative
3: Positive
4: Neutral
5: Positive

Create sentiments for:
1. "I can't stand homework"
2. "This is no fun. I'm bored 😠"
3. "I can't wait for Halloween!!!"
4. "My cat is adorable ❤️❤️"
5. "I hate chocolate"

Sentiment classifications:
1.

向模型顯示 4 個用情緒分類的句子範例之後,我們提供它一列範例清單,然後再提供一列具有相同數字索引的情緒評分。 API 能夠從中找出它要如何輸出已分類的情緒。

這可引導到我們想要模型執行的動作:我們會為模型提供 5 種情緒來分類,然後它應該會在一列排序清單中輸出每一種的分類。

這可讓模型用一個呼叫就對五個 (甚至更多) 範例進行評分。

您可以開始明白提示,或者傳遞至模型的文字,就是程式設計語言。

第幾代

您可以使用各種 GPT 模型完成的一個最強大而且最簡單的工作,就是產生新構想或輸入的版本。 您可以給模型一列故事的幾個構想清單,它就會試著新增內容到清單中。 我們看過它建立商務方案、特性描述和行銷口號,只要提供幾個範例即可。

交談

此模型能非常熟練地和人類交談,甚至與自己對話。 我們已經看過只用幾行指令,此模型就能以客服聊天機器人的身分聰明地解答問題,絕不會慌張,或是作為妙語如珠的聊天夥伴,會講笑話和雙關語。

轉換

此模型是一種語言模型,對於使用文字和字元來傳達資訊的方式非常熟悉。 範圍從自然語言文字到英文以外的程式碼和語言。 此模型也能了解內容到一個層次,讓它可以使用不同的方式加以摘要、轉換和表達。

翻譯

此模型已經掌握許多語言,例如法文,因此您不需要教導它。 相反地,您只需要在提示中提供足夠的翻譯範例,讓它瞭解它只是從一種語言翻譯成另一種語言。

轉換

在此範例中,我們會將電影的名稱轉換成表情圖示。 這可顯示模型在提取模式及處理其他字元的適應性。

在這裡,我們預期輸出是蜘蛛人電影的表情圖示標記法。

Back to Future: 👨👴🚗🕒
Batman: 🤵🦇
Transformers: 🚗🤖
Wonder Woman: 👸🏻👸🏼👸🏽👸🏾👸🏿
Spider-Man: 🕸🕷🕸🕸🕷🕸
Winnie the Pooh: 🐻🐼🐻
The Godfather: 👨👩👧🕵🏻‍♂️👲💥
Game of Thrones: 🏹🗡🗡🏹
Spider-Man:

摘要

此模型能夠掌握文字內容並使用不同的方式重新述說。 例如,它可能需要一組文字,並產生讓兒童都可瞭解的說明。

Completion

雖然所有提示都會有完成結果,但是在您想要模型補足您無法做到的部分的案例中,把文字完成想成它自己的工作會很有幫助。 例如,如果給予模型這個提示,它就會繼續關於垂直農業的思路。

Vertical farming provides a novel solution for producing food locally, reducing transportation costs and

基於事實的回應

大型語言模型 (LLM) 有許多知識,是從他們定型的資料中已經學習到的。 它們也能夠提供聽起來真實,但事實上是編造的回應。 有兩種方式可以限制 LLM 編造答案的可能性。

  • 1. 提供基本事實給 API 如果您提供模型一篇文本 (像是維基百科的項目) 以回答問題,它比較不可能編造回應。

  • 2. 使用低可能性並向 API 顯示如何說「我不知道」 如果模型了解在它遇到比較不確定的問題時,說「我不知道」或類似的回應是合適的,它就比較不會編造答案。

在此範例中,我們給模型它已知的問題和解答範例,然後給予它所不知道的事物範例並提出問號。 我們也將可能性設定為零,讓模型在有任何疑慮時,更可能回覆"?"

Q: Who is Batman?
A: Batman is a fictional comic book character.

Q: What is torsalplexity?
A: ?

Q: What is Devz9?
A: ?

Q: Who is George Lucas?
A: George Lucas is American film director and producer famous for creating Star Wars.

摘要

Azure OpenAI 服務提供以 REST API 存取 OpenAI 強大的語言模型,包括 GPT-3.5 及 GPT-4 模型系列。 它也給予您所依賴的從 Azure 雲端提供的安全性和企業功能。

OpenAI 語言模型中最有用的功能之一是文字完成。 您傳入提示或一般語言描述,說明您想要模型執行的動作,而且它可以執行文字分類、文字生成或文字摘要等工作。

檢定您的知識

1.

分類完成的功能為何?