乘風破浪,遇見最佳跨平臺跨終端框架.Net Core/.Net生態 - 深入OpenAI與馬斯克、微軟的祕密,通過API輕鬆接入ChatGPT

什麼是OpenAI

https://openai.com

image

OpenAI是一家人工智能公司,成立於2015年,總部位於美國舊金山。該公司的使命是研究和開發能夠產生廣泛影響的人工智能技術,並將這些技術傳播到整個社會。OpenAI由一些著名的科學家和企業家共同創立,包括伊隆·馬斯克、Sam Altman等。該公司致力於推動人工智能技術的發展,同時也關注潛在的倫理和公共政策問題。

OpenAI和馬斯克有什麼關係

image

OpenAI是由埃隆·馬斯克在2015年創立的人工智能公司之一。然而,他後來退出該公司的開發和運作,聲稱擔心人工智能可能對人類造成的潛在威脅。儘管如此,OpenAI仍然受到馬斯克的支持和投資,但他不再直接參與公司的運營和決策。

馬斯克退出OpenAI是因爲他和其他創始成員對於OpenAI的發展方向和策略存在不同的看法。馬斯克一直強調OpenAI的開發應該有明確的安全和道德框架,以確保AI技術的未來發展是有益於人類的,而其他成員則對於這種限制比較謹慎。由於雙方觀點的差異,馬斯克決定退出OpenAI,而OpenAI也繼續沿着其自己的發展方向前進。

OpenAI和微軟有什麼關係

OpenAI和微軟有一些聯合合作項目,包括使用微軟的Azure雲平臺來爲OpenAI的研究提供計算資源和技術支持。另外,在OpenAI的董事會成員中,也有微軟的高管和代表。此外,目前一些OpenAI的技術也被微軟用於其產品和服務中。

微軟和OpenAI之所以合作緊密,是因爲兩家公司擁有着共同的願景和目標,即推動人工智能的發展並拓展其應用。另外,微軟作爲一個科技巨頭,已經有了很強的技術和資源優勢,而OpenAI則是人工智能領域的先驅和領導者,有着頂尖的人才和研究成果。通過合作,雙方可以互相借鑑和合作,共同推動人工智能技術的發展,並將其應用於更多領域,包括醫療、金融、教育、自動駕駛等。此外,微軟和OpenAI還有着衆多共同的合作伙伴,包括谷歌、IBM等,聯手合作可以更好地打造一個更具有影響力和領導力的人工智能行業。

微軟和OpenAI曾在2019年宣佈建立合作伙伴關係。根據該協議,微軟將爲OpenAI提供技術支持,並投資10億美元作爲OpenAI的首次投資款項。 微軟還將成爲OpenAI的首個雲服務提供商,爲其提供基礎設施和計算能力。在這個合作框架下,微軟將利用其Azure雲計算服務爲 OpenAI提供支持,這將有助於OpenAI開發和部署更強大的人工智能模型和解決方案,並擴大其產品和服務的市場。除此之外,微軟和OpenAI 還計劃聯手推出一系列開源工具和技術,促進人工智能在更廣泛領域的發展和創新。

微軟與OpenAI合作的目的是在人工智能和自然語言處理領域共同研究和開發更先進的技術,並將其應用於各種產品和服務中。OpenAI是一個領先的人工智能研究機構,它擁有大量的數據、算法和專業知識,可以幫助微軟進一步提升其人工智能技術。通過使用OpenAI的技術,微軟可以提高其搜索引擎、智能助手和其他人工智能相關產品的性能和功能。此外,微軟還可以將這些技術應用於其他領域,如自動化、智能製造和醫療保健,爲現代社會帶來切實可行的解決方案。

什麼是ChatGPT

ChatGPT是一種基於自然語言處理和機器學習技術的聊天機器人。它可以與人類進行對話,並回答有關天氣、新聞、娛樂、教育、旅遊等各種主題的問題。ChatGPT使用了開源的GPT(Generative Pre-trained Transformer)模型,該模型是一種深度學習技術,可以在沒有特定任務或目標的情況下對大量文本進行預訓練,學習瞭解自然語言,並生成文本響應。這使得ChatGPT可以更好地理解人類語言,併產生更自然、更準確的回覆。

Generative Pre-trained Transformer模型,簡稱GPT模型,是一種基於自然語言處理的深度學習模型。它是由OpenAI團隊開發的模型系列,目前已經發布了GPT、GPT-2和GPT-3。GPT模型基於Transformer網絡結構,採用的是無監督學習方式進行前期訓練,即通過大量的語言數據集進行自我學習,學習文本的統計規律和語義信息,並將學習到的模型參數存儲爲預訓練模型。在後續的學習任務中,可以基於預訓練模型進行微調或fine-tune操作,以適應特定的語言處理任務,如文本分類、機器翻譯、自然語言生成等方面。GPT模型已經在多個自然語言處理任務上取得了非常優秀的表現。

Transformer網絡結構是一種用於處理序列數據的深度學習網絡結構,最初由Google團隊在2017年提出。它被廣泛應用於機器翻譯、文本生成、語音識別等任務中,其性能表現優於很多傳統的序列模型,如循環神經網絡(RNN)和卷積神經網絡(CNN)。Transformer網絡結構的核心是自注意力機制(self-attention mechanism),它能夠捕捉每個輸入在序列中的整體聯繫,並且避免使用傳統RNN或CNN中必要的循環或卷積操作,極大地減少了計算量。由於在序列中每個輸入節點都可以與其他任意節點建立聯繫,因此它可以獲取到更加全局的信息。此外,Transformer網絡結構還採用了殘差連接和歸一化技巧,更加有效的解決了梯度消失問題。總之,Transformer網絡結構是一種高效且強大的神經網絡模型,其廣泛應用於自然語言處理和語音識別等領域,並在其中產生了非常優秀的表現

ChatGPT可以做什麼

ChatGPT是一個基於人工智能技術的智能聊天機器人,可以通過與用戶的交互來提供以下服務:

  1. 回答用戶的問題:ChatGPT可以回答各種領域的問題,如科學、歷史、地理、文化、娛樂等,可以幫助用戶快速獲取相關知識和信息。
  2. 交流和娛樂:ChatGPT會與用戶進行友好的對話,可以用幽默和風趣的方式與用戶互動,爲用戶提供娛樂和消遣。
  3. 語音識別和處理:ChatGPT支持語音輸入和輸出,可以進行語音識別和語音合成,讓用戶更加方便地使用服務。
  4. 個性化定製服務:ChatGPT可以根據用戶的需求和偏好進行個性化的定製服務,包括推薦相關內容、制定健康飲食計劃等。

總之,ChatGPT是一個全方位的智能助手,可以爲用戶提供多種服務,幫助用戶更快、更準確地獲取信息,提高生活品質。

新Bing和ChatGPT的關係

新Bing是微軟公司於2023年推出的一款升級版搜索引擎,它基於人工智能技術和機器學習算法打造,旨在提供更加智能化、個性化的搜索服務,優化用戶的搜索體驗。新Bing的機器學習技術被稱爲Turing模型,它是基於深度神經網絡的語言模型,能夠更好地理解自然語言、推斷用戶的意圖以及呈現最相關的搜索結果。與ChatGPT有關係的是,Turing模型是基於GPT技術(Generative Pre-trained Transformer)打造的,它是用於自然語言處理的預訓練神經網絡,可以生成新的自然語言文本、回答自然語言問題等。因此,ChatGPT和新Bing都是基於人工智能技術的應用,都能夠解決自然語言理解和生成的問題。

微軟的Turing模型是一款開源的自然語言處理(NLP)軟件工具包,用於構建聊天機器人、語音識別系統、智能客服等應用。通過使用該工具包,開發人員可以簡單快速地創建智能對話系統,從而提高用戶體驗並提高工作效率。

什麼是Prometheus AI

Prometheus AI是微軟推出的自然語言處理(NLP)模型,它基於最先進的人工智能技術,可以進行文本生成,語言翻譯,問答系統等多種NLP任務。該模型使用了大規模的預訓練數據和多個深度神經網絡層,可以理解和處理多種語言和語言風格。Prometheus AI還能夠學習和記憶用戶的習慣用語和語義,具有更好的個性化服務能力。此外,它還可以自動從語料庫中提取信息並進行歸納總結,提高內容生成的速度和準確度。

與GPT 3.5的區別

Prometheus AI語言模型和GPT 3.5都是自然語言處理領域的先進技術,其主要的區別如下:

  1. 數據量:Prometheus AI語言模型擁有比GPT 3.5更多的數據量,據稱它的數據量達到了4萬億字節,而GPT 3.5的數據量只有數十萬億字節。

  2. 訓練方式:Prometheus AI語言模型是基於自監督的訓練方式,而GPT 3.5則是基於有監督和無監督的訓練方式。自監督訓練是指在沒有人類干預的情況下,利用大量未標記的數據進行訓練。而有監督和無監督訓練則需要人類對數據進行標記和監督。

  3. 應用場景:兩者的應用場景也有所不同。Prometheus AI主要用於語言生成和理解方面的研究, 如輔助文章寫作、翻譯、問答等。而GPT 3.5則更加註重於語言處理和應用領域,它可以廣泛地應用於自然語言生成、機器翻譯、語音識別、文本分類等領域

  4. 網絡架構:Prometheus AI和GPT 3.5的網絡架構也有所不同。Prometheus AI採用的是基於Transformer的模型,而GPT 3.5則是採用了自迴歸式神經網絡模型(auto-regressive neural network)。

總體來說,Prometheus AI語言模型和GPT 3.5都是自然語言處理領域的先進技術,其在數據量、訓練方式、應用場景和網絡架構等方面的差異,決定了它們在不同領域中的應用價值和適用性。

對接OpenAI的前置工作

註冊OpenAI開發者賬號

https://platform.openai.com

  1. 訪問OpenAI官方網站,點擊"Sign up"按鈕,進入註冊頁面。
  2. 在註冊頁面填寫您的電子郵件地址和密碼,然後點擊“Create account”按鈕。
  3. 您將收到一封來自OpenAI的確認郵件,請點擊郵件中的鏈接進行確認。
  4. 在確認之後,您會被引導到登錄頁面,輸入您的註冊電子郵件地址和密碼, 點擊“Login”進行登錄。
  5. 登錄之後,請根據您的需要完成賬號信息的填寫,例如設置您的API密鑰等。

註冊完成之後,您可以使用OpenAI的API進行開發項目。

如何生成OpenAI的APIKey

  1. 首先,訪問OpenAI的網站
  2. 輸入您的電子郵件地址和密碼,然後單擊“登錄”。
    image
  3. 單擊頁面右上角的"View API Keys"按鈕。
    image
  4. 在"API keys"標籤下單擊"Create new secret key"。
    image
  5. 複製生成的APIKey,並保存好。

請注意,OpenAI的APIKey是機密信息,請務必妥善保管。

通過Postman調用ChatGPT API

調用示例

接口地址:https://api.openai.com/v1/chat/completions

請求方式:Post

image

請求頭: Authorization: Bearer $your api key

image

請求內容體格式:

{
    "model": "gpt-3.5-turbo",
    "messages": [
        {
            "role": "system",
            "content": "你是一個搜索引擎小助手。"
        },
        {
            "role": "user",
            "content": "什麼是ChatGPT?"
        }
    ]
}

返回結構

{
    "id": "chatcmpl-6q37KnFWZ3XOZ1eciKhymvZJVh1bL",
    "object": "chat.completion",
    "created": 1677863058,
    "model": "gpt-3.5-turbo-0301",
    "usage": {
        "prompt_tokens": 33,
        "completion_tokens": 178,
        "total_tokens": 211
    },
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "ChatGPT是一個基於人工智能技術的聊天機器人,它能夠與人類進行自然的對話,並能夠回答問題,提供幫助,解決問題等。ChatGPT使用了GPT(Generative Pre-Trained Transformer)技術,這是一種流行的自然語言處理模型,它能夠處理大規模自然語言任務,生成自然語言文本,包括文字、語音、圖像等。ChatGPT可以應用於各種場景,如客戶服務、在線支持、產品推廣等,並能夠幫助人們更快、更方便地獲取信息。"
            },
            "finish_reason": "stop",
            "index": 0
        }
    ]
}

效果演示

image

調用說明

之前Open AI開放的接口都是針對text-davinci-003模型的,現在最新API已經開放了能力更加接近ChatGPT的gpt-3.5-turbo模型。

新的接口請求結構體中,只剩下modelmessages組兩個參數,其中model比較好理解,這次messages變成一個Json對象數組,而這個數組裏面可以填入多個message對象。

{
    "messages": [
        {
            "role": "system",
            "content": "你是一個搜索引擎小助手。"
        },
        {
            "role": "user",
            "content": "什麼是ChatGPT?"
        },
        {
            "role": "assistant",
            "content": "ChatGPT是一個基於人工智能技術的聊天機器人。"
        },
        {
            "role": "user",
            "content": "請給我一段使用C#對接gpt-3.5-turbo模型接口的示例"
        }
    ]
}

我們看到每一個message中包含兩個節點,一個是角色role,它有三個值,分別是系統角色(system)、用戶角色(user)、助理角色(assistant),它們共同構成了整個對話的上下文信息。

所謂系統角色(system),就是你先給這個機器人一個定位,而用戶角色(user)說的就是和機器人對話的這個人類,助理角色(assistant)指的就是來回答人類提出的問題的這個機器人,我們可以把它叫做助理。

因爲我們和這個機器人助理之間會存在多輪對話,那麼我們只需要在後續對話中,將之前用戶角色(user)、助理角色(assistant)的對話信息在messages中帶上即可,這樣後面的對話就有了前面對話的上下文信息。

關於費用

註冊即送免費額度

這麼好的東西,當然是收費的。不過註冊完,也給了一定的免費額度18美元。

image

在賬戶的Usage標籤頁可以看到使用量和已記賬費用。

45次模型調用才使用了0.00272美元,那麼摺合下來就是0.00006044美元一次,還是蠻便宜的。

單次調用計算規律

每次調用它會返回一個usage信息

{
    "usage": {
        "prompt_tokens": 245,
        "completion_tokens": 550,
        "total_tokens": 795
    }
}

其中prompt_tokens就是輸入消耗的Tokens數量,completion_tokens是輸出消耗的Tokens數量,total_tokens就是這次對話輸入輸出加起來總消耗的Tokens數量。

最終它會根據tokens的消耗來計算費用。

Token是什麼

在ChatGPT中,Token是指一段文本中的最小單位,通常是一個詞或一個標點符號。ChatGPT需要將輸入的文本分解成許多個Token,然後將它們轉化成數字,以便在訓練和推理時使用。計算Token數的方法是將輸入文本按空格、標點等符號進行切分,得到單獨的Token,然後統計Token的數量即可。例如句子 "Hello, how are you?" 包含4個Token: "Hello", ",", "how", "are", "you"。

在ChatGPT模型中,一個模型在處理文本時有一個固定的最大輸入Token數限制,如果輸入的Token數量超過這個限制,則需要進行截斷。這個限制通常由模型的超參數指定。在使用ChatGPT時,通常需要對輸入的文本進行預處理,將其分割成符合模型要求的Token數量。

Token怎麼計費

ChatGPT的Token計費方式因服務提供商而異。通常情況下,Token是通過預先購買一定數量的Token,然後在使用ChatGPT服務時,系統會扣除相應的Token數量進行計費。計費的數量取決於你對ChatGPT的使用頻率和使用量,以及提供商的計費標準。有些服務提供商會根據每次對話、每個API請求或一定時間段內的使用次數來計算Token。有些提供商還根據你對ChatGPT的使用情況進行不同的費率標準。因此,在選擇ChatGPT提供商時,應該根據自己的需求和預算來選擇最適合自己的計費方式和提供商。

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章