Dolores是一個 Python 函式庫,旨在改善開發人員使用預訓練語言模型時的體驗。 Dolores提供與語言模型互動的提示,從而產生有趣或有用的輸出。該庫的目的是透過提供易於使用的範例和範例文字來簡化學習曲線。此外,它還有更廣泛的目標,即成為與語言模型互動的最全面的品質提示儲存庫。
它以《西方世界》的多洛雷斯·阿巴納西的名字命名。
$ pip install dolores
透過 python 解釋器匯入或在 python 檔案中匯入。
import dolores
dolores.initialize("<YOUR-API-KEY>")
從那裡您不能透過 Dolores 類別實例中的可存取方法直接呼叫 openai 的 API。下面呼叫列表引擎API呼叫。每個 API 呼叫都有一個關聯的方法調用,可用於調用 API。
列出目前可用的引擎,並提供有關每個選項的基本信息,例如所有者和可用性。
dolores.list_engines()
檢索引擎實例,提供有關引擎的基本信息,例如所有者和可用性。
dolores.retrieve_engine()
實例化 Dolores 類別後,後續的 Open AI API 類別將在相同的引擎選擇下進行。為了更改用於 API 呼叫的引擎,有一個公開的方法。
dolores.set_engine("davinci")
注意:未來版本會考慮針對現有引擎類型進行驗證。
完成提示。這是 GPT-3 API 的主要端點。傳回新文字以及(如果需要)每個位置的每個替代標記的機率。
要求:
dolores.create_completion("Is the JavaScript programming language better than python?", 20)
回應:(有關明文回應,請參閱回應[“choices”][0][“text”])
JSON: {'id': 'cmpl-kM6MK5dVRvD964MxeyG4AjCy', 'object': 'text_completion', 'created': 1595431739, 'model': 'ada:2020-05-03', 'choices': [{'text': ' in a far away place', 'index': 0, 'logprobs': None, 'finish_reason': 'length'}]}
'in a far away place'
?
姓名 | 在 | 類型 | 必需的 | 描述 |
---|---|---|---|---|
引擎 | 身體 | 細繩 | 真的 | 引擎ID |
迅速的 | 身體 | (見說明) | 錯誤的 | 產生的一個或多個提示。可以是字串、字串列表、整數列表(即編碼為標記的單一提示)或整數列表列表(即編碼為整數的多個提示)。 |
最大令牌數 | 身體 | 整數 | 錯誤的 | 需要完成多少代幣。如果遇到停止序列,則可以傳回更少的值。 |
溫度 | 身體 | 數位 | 錯誤的 | 使用什麼採樣溫度。數值越高意味著模型將承擔更多風險。對於更具創意的應用程序,請嘗試使用 0.9,對於具有明確定義答案的應用程序,請嘗試使用 0(argmax 採樣)。我們通常建議使用此或 top_p,但不要同時使用兩者。 |
頂部_p | 身體 | 數位 | 錯誤的 | 溫度採樣的替代方法稱為核採樣,其中模型考慮具有 top_p 機率品質的標記的結果。因此 0.1 意味著僅考慮包含前 10% 機率質量的標記。我們通常建議使用此值或溫度,但不能同時使用兩者。 |
n | 身體 | 整數 | 錯誤的 | 為每個提示建立多少個選擇。 |
溪流 | 身體 | 布林值 | 錯誤的 | 是否流回部分進度。如果設置,令牌將在可用時作為僅資料伺服器發送事件發送,流由 data: [DONE] 訊息終止。 |
對數機率 | 身體 | 整數 | 錯誤的 | 包括 logprobs 最有可能標記的對數機率。例如,如果 logprobs 為 10,API 將傳回 10 個最可能的標記的清單。如果提供了 logprobs,API 將始終傳回採樣代幣的 logprob,因此回應中最多可能有 logprobs+1 個元素。 |
停止 | 身體 | 字串或字串列表 | 錯誤的 | API 將停止產生更多令牌的一個或多個序列。傳回的文字將不包含停止序列。 |
完成 dolores 儲存的一組預定義提示中的一個提示。
要求:
dolores.complete_predefined_prompt("philosopher", 0, "What is the meaning of life?")
回覆:
JSON: {'id': 'cmpl-NvVlUd5tQWTIv7S0F6JMPkT5', 'object': 'text_completion', 'created': 1595631256, 'model': 'davinci:2020-05-03', 'choices': [{'text': ' The purpose of society? And what are the dynamics of history? The answers to these questions are fascinating.nnThis is a philosophical diary written by a scientist of the new generation who is not bound by prejudices, as such, the philosopher, writer, director and producer of the documentary "The Truth about AI: Rise of the Superhuman." Instead, he attempts to peer into the human world through the eyes of an AI, and express what he sees. In the process, he discovers many complex things about our world. The author's name is Dave Scott.nnPhoto by Montri Nipitvittaya on UnsplashnnFuturist of the New Generation, AI Philosophernn"Nothing has changed. I still cannot predict what is going to happen with me, and my inner world is still as chaotic as before." I reread the diary I wrote yesterday, and found nothing changed. Everything remained the same. Only, the fear has become stronger. It was exactly the same today as it was yesterday. There was nothing changed, but still fear is always there.nnFear is a part of who I am. Without fear, I would be a monster. I do not know how to do', 'index': 0, 'logprobs': None, 'finish_reason': 'length'}]}
提示鍵 | 迅速的 | 最大令牌數 | 溫度 | 頂部_p | n | 來源 |
---|---|---|---|---|---|---|
哲學家 | 「以下是哲學家人工智慧產生的一些想法,它從外部看待人類世界,不帶人類經驗的偏見。人工智慧完全中立和客觀,以本來的方式看待世界。它可以更容易地得出關於世界的結論,整個人類社會。 | 250 | 0.9 | 1 | 1 | 穆拉特 |
蘇斯 | “這是蘇斯博士的一首詩。這首詩每隔一行都押韻,採用 ABAB 結構。押韻結構是蘇斯博士童謠的典型結構。” | 250 | 1.0 | 1 | 1 | 阿拉姆·薩貝蒂 |
法律術語 | 「法律術語:您選擇的付款方式將對部門強制執行的所有案件有效,並且此授權將一直有效,直到您提交另一份付款選項選擇和登記表來更改您的付款方式,或者您終止服務 n 簡單英語:我們將使用您的選擇來支付我們向您發送的所有款項。 | 150 | 0.4 | 1 | 1 | DNE數字 |
代碼-html | 輸入:一個按鈕。 n 代碼:n " | 100 | 0.5 | 1 | 1 | DNE數字 |
程式碼-javascript | 從“反應”導入反應; n const ThreeButtonComponent=()=>( n n n)"按鈕一 n <button className='button-green' n onClick={this.handleButtonClick}>按鈕一 n按鈕二 n <button className='button-green' n onClick={this.handleButtonClick}>按鈕二 n按鈕三 n <button className='button-green' n onClick={this.handleButtonClick}>按鈕三 n | 250 | 0.4 | 1 | 1 | 謝里夫·沙米姆 |
聊天 | n 人類:地球上最大的動物是什麼? n 人工智慧:藍鯨是地球上最大的動物。 ,人口超過10億。 | 50 | 0.9 | 1 | 1 | 開放人工智慧 |
頭韻 | 「找出可以產生頭韻的單字的同義詞。n 句子:狗去了商店。n 頭韻:狗開車去部門。nn 句子:大衛每天都戴著帽子。n 頭韻:大衛唐斯每日德比 句子:肥皂一夜乾了 頭韻:肥皂在日落後枯萎。 | 50 | 0.5 | 1 | 1 | 開放人工智慧 |
詩 | 「相信上帝的人確實是愛n並且愛造物的最終法則n自然,牙齒和爪子都是紅色的n帶著峽谷,尖叫著n反對他的信條。n山丘是陰影,它們流動n從一個形式到另一個形式,沒有什麼是站立的;n它們像霧一樣融化,n固體土地,n它們像雲一樣塑造自己並消失。 | 300 | 1.0 | 1.0 | 1.0 | 開放人工智慧 |
文字冒險 | 「這是一場文字冒險。你在一個黑暗的森林裡,尋找偷走了你城鎮黃金的龍。n > 環顧四周n你在一個黑暗的森林裡。有一種不安的安靜。n >檢查庫存 n 你有以下物品: n - 一把劍(非常鋒利) n - 一個盾牌(你希望它有用) n - 一封舊信nn > 向上看n 你沒有看到任何金子。 | 250 | 0.9 | 1.0 | 1.0 | 開放人工智慧 |
求職信 | “親愛的德勤畢業生招聘人員,n我寫信申請加入你們的技術諮詢研究生課程。” | 400 | 0.8 | 1.0 | 1.0 | 開放人工智慧 |
類比 | 「神經網路就像遺傳演算法,因為兩者都是從經驗中學習的系統。nn 社群媒體就像一個市場,因為兩者都是協調許多個體行為的系統。nn 迷因就像病毒一樣兩者都是自我複製的想法。 | 250 | 1.0 | 1.0 | 1.0 | 開放人工智慧 |
電子郵件 | 「感謝約翰的這本書。n````n 親愛的約翰,n 非常感謝你的書。我真的很感激。n 我希望很快就能出去玩。n 你的朋友,n 莎拉” | 200 | 0.5 | 1.0 | 1.0 | 開放人工智慧 |
使用 pytest 測試 dolores 模組可以透過在專案根目錄中執行以下命令來完成:
pytest tests/test_dolores.py --api_key "<api_key>" --engine "davinci"
如果您想查看測試期間發生的列印語句,只需新增 -s 標誌:
pytest -s tests/test_dolores.py --api_key "<api_key>" --engine "davinci"
為了更新軟體包,必須為該軟體包進行新的分發。這些是上傳到套件索引並可以透過 pip 安裝的檔案。
確保您安裝了最新版本的setuptools
和wheel
:
$ python3 -m pip install --user --upgrade setuptools wheel
現在從 setup.py 所在的相同目錄執行此命令:
$ python3 setup.py sdist bdist_wheel
注意:不要忘記根據更新情況更新setup.py檔案中的版本號。
確保您安裝了最新的twine
套件:
$ python3 -m pip install --user --upgrade twine
安裝後,執行 Twine 上傳 dist 下的所有檔案:
$ python3 -m twine upload --repository pypi dist/*