成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Python探究OpenAI API 原創

發布于 2024-5-21 08:57
瀏覽
0收藏

不妨了解可以從OpenAI享用的所有實用服務。

誰沒聽說過OpenAI?這家人工智能研究實驗室因其著名的產品ChatGPT而改變了世界。它改變了AI實施領域,許多公司現在急于成為下一大熱點。

盡管競爭激烈,OpenAI仍然是任何生成式AI業務需求的首選公司,因為它擁有最好的模型和持續的支持。該公司提供了許多最先進的生成式AI模型,能夠處理各種任務:圖像生成和文本到語音等。

OpenAI提供的所有模型都可以通過API調用獲得。借助簡單的Python代碼,您已經可以使用該模型。

我們在本文中將探討如何結合使用OpenAI API和Python以及可以執行的各種任務。但愿您能從這篇文章中學到很多。

OpenAI API設置

要閱讀本文,您需要準備好幾個方面。

最重要的是OpenAI的API密鑰,因為沒有密鑰就無法訪問OpenAI模型。要獲得訪問權限,您必須注冊OpenAI帳戶,并在帳戶頁面上申請API密鑰。收到密鑰后,將其保存在能夠記住的地方,因為它不會再次出現在OpenAI界面中。

需要做的下一件事是購買預付費積分以使用OpenAI API。最近,OpenAI宣布改變計費方式。我們需要為API調用購買預付費積分,而不是在月底支付。您可以訪問OpenAI定價頁面來估算所需的積分。還可以查看模型頁面,以了解您需要哪種模型。

最后,您需要在生產環境中安裝OpenAI Python軟件包。您可以使用下面的代碼做到這一點。

pip install openai

然后,您需要使用下面的代碼設置OpenAI Key環境變量。

import os
os.environ['OPENAI_API_KEY'] = 'YOUR API KEY'

一切設置完畢后,不妨開始使用Python探索OpenAI模型的API。

OpenAI API文本生成

OpenAI API的明星是其文本生成模型。這些大語言模型系列可以從名為提示的文本輸入生成文本輸出。提示實際上是關于我們期望從模型中得到什么的指令,比如分析文本和生成文檔草稿等。

不妨從執行一個簡單的文本生成API調用入手。我們將使用OpenAI的GPT-3.5 Turbo模型作為基礎模型。它不是最先進的模型,但最便宜的模型常常足以執行與文本相關的任務。

from openai import OpenAI
client = OpenAI()

completion = client.chat.completions.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Generate me 3 Jargons that I can use for my Social Media content as a Data Scientist content creator"}
  ]
)

print(completion.choices[0].message.content)
  • “釋放預測分析的力量,推動數據驅動的決策!”
  • “深入挖掘數據海洋,發現有價值的見解。”
  • “通過先進算法將原始數據轉化為實用的情報。”

文本生成模型的API調用使用API Endpoint chat.completions從提示創建文本響應。

文本生成需要兩個參數:模型和消息。

至于模型,您可以檢查可以在相關模型頁面上使用的模型列表。

至于消息,我們傳遞一個含有兩個對的字典:角色和內容。角色鍵指定了對話模型中的角色發送方。有三種不同的角色:系統、用戶和助手。

使用消息中的角色,我們可以幫助設置模型行為和模型應該如何回答提示的示例。

不妨使用角色助手擴展前面的代碼示例,以指導我們的模型。此外,我們將探索文本生成模型的一些參數,以改進結果。

completion = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Generate me 3 jargons that I can use for my Social Media content as a Data Scientist content creator."},
        {"role": "assistant", "content": "Sure, here are three jargons: Data Wrangling is the key, Predictive Analytics is the future, and Feature Engineering help your model."},
        {"role": "user", "content": "Great, can you also provide me with 3 content ideas based on these jargons?"}
    ],
    max_tokens=150,
    temperature=0.7,
    top_p=1,
    frequency_penalty=0
)

print(completion.choices[0].message.content)

當然!以下是基于提供的行語的三個內容思路:

  • “釋放數據處理的力量:數據科學家的逐步指南”——創建一篇博文或視頻教程,展示實際數據科學項目中數據處理的最佳實踐和工具。
  • “預測分析的未來:數據科學的趨勢和創新”——撰寫一篇思想領袖文章,討論預測分析領域的新興趨勢和技術,以及它們如何塑造數據科學的未來。
  • “駕馭特征工程:提升模型性能的技術”——開發一個信息圖表或社交媒體系列,著重介紹不同的特征工程技術及其對提高機器學習模型的準確性和效率的影響。

生成的輸出遵循我們提供給模型的示例。如果我們希望模型遵循某種樣式或結果,那么使用角色助手非常有用。

至于參數,下面簡單解釋我們使用的每個參數:

  • max_tokens:該參數設置模型可以生成的最多字數。
  • temperature:該參數控制模型輸出的不可預測性。該參數值越高,輸出越具有多樣性,越富有想象力。可接受的范圍是從0到無窮大,但大于2的值不尋常。
  • top_p:又叫核抽樣,該參數有助于確定模型得出輸出所依賴的概率分布的子集。比如說,top_p值為0.1意味著模型只考慮抽樣概率分布的前10%。其值可以從0到1,值越大,輸出多樣性越大。
  • frequency_penalty:這懲罰模型輸出中的重復token。懲罰值的范圍從-2到2,其中正值不鼓勵重復使用token,負值則相反,鼓勵重復使用單詞。值為0表示不會對重復進行懲罰。

最后,您可以使用以下代碼將模型輸出改為JSON格式。

completion = client.chat.completions.create(
  model="gpt-3.5-turbo",
  response_format={ "type": "json_object" },
  messages=[
    {"role": "system", "content": "You are a helpful assistant designed to output JSON.."},
    {"role": "user", "content": "Generate me 3 Jargons that I can use for my Social Media content as a Data Scientist content creator"}
  ]
)

print(completion.choices[0].message.content)
 
{
"jargons": [
"利用預測分析發掘寶貴的洞察力",
"深入研究先進機器學習算法的微妙細處",
"利用大數據的力量推動數據驅動的決策"
]
}

結果采用JSON格式,并遵循我們輸入到模型中的提示。

要獲得完整的文本生成API文檔,您可以在專門的頁面上查看。

OpenAI圖像生成

OpenAI模型對于文本生成用例很有用,也可以調用API以生成圖像。

使用DALL?E模型,我們可以按要求生成圖像。執行起來很簡單,只需使用以下代碼。

from openai import OpenAI
from IPython.display import Image

client = OpenAI()

response = client.images.generate(
  model="dall-e-3",
  prompt="White Piano on the Beach",
  size="1792x1024",
  quality="hd",
  n=1,
)

image_url = response.data[0].url
Image(url=image_url)

針對這些參數,解釋如下:

  • model:要使用的圖像生成模型。目前,API只支持DALL?E 3和DALL?E 2模型。
  • prompt:這是文本描述,模型將在此基礎上生成圖像。
  • size:決定生成圖像的分辨率。DALL?E3模型有三種選擇:1024x1024、1024x1792或1792x1024。
  • quality:該參數影響生成圖像的質量。如果需要計算時間,“標準”比“高清”快。
  • n:指定基于提示生成圖像的數量。DALL?E3一次只能生成一個圖像。DALL?E2一次可以生成多達10個圖像。

還可以從現有的圖像生成一個衍變圖像,不過只能使用DALL?E2模型做到這點。API也只接受4 MB以下的正方形PNG圖像。

from openai import OpenAI
from IPython.display import Image

client = OpenAI()

response = client.images.create_variation(
  image=open("white_piano_ori.png", "rb"),
  n=2,
  size="1024x1024"
)

image_url = response.data[0].url

Image(url=image_url)

生成的圖像可能不如DALL?E 3好,因為它使用舊模型。

OpenAI Vision

OpenAI是一家提供能夠理解圖像輸入的模型的領先公司。這個模型名為Vision模型,有時被稱為GPT-4V。該模型能夠根據我們給出的圖像回答問題。

不妨試一下Vision模型API。在本例中,我將使用從DALL?E3模型生成的白色鋼琴圖像,并將其存儲在本地。此外,我還將創建一個函數,接受圖像路徑并返回圖像描述文本。別忘了將api_key變量改為您的API Key。

from openai import OpenAI
import base64
import requests
def provide_image_description(img_path):

    client = OpenAI()

    api_key = 'YOUR-API-KEY'
    # Function to encode the image
    def encode_image(image_path):
      with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')
   
    # Path to your image
    image_path = img_path
   
    # Getting the base64 string
    base64_image = encode_image(image_path)
   
    headers = {
      "Content-Type": "application/json",
      "Authorization": f"Bearer {api_key}"
    }
   
    payload = {
      "model": "gpt-4-vision-preview",
      "messages": [
        {
          "role": "user",
          "content": [
            {
              "type": "text",
              "text": """Can you describe this image? """
            },
            {
              "type": "image_url",
              "image_url": {
                "url": f"data:image/jpeg;base64,{base64_image}"
              }
            }
          ]
        }
      ],
      "max_tokens": 300
    }
   
    response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)

    return response.json()['choices'][0]['message']['content']

這個圖像顯示一架大鋼琴擺放在寧靜的海灘上。鋼琴是白色的,表明一種常與優雅聯系在一起的色調。樂器放在海岸線的邊緣,輕柔的海浪輕撫沙灘,泛起泡沫,正好碰到鋼琴的底座和配套的凳子。海灘周圍的環境暗示著一種寧靜和隔絕的感覺,清澈的藍天,遠處蓬松的云,平靜的大海延伸到地平線。無數大小形狀各異的貝殼散落在沙灘上鋼琴的周圍,突出了環境的自然美和寧靜的氛圍。自然海灘環境中的古典樂器創造了超現實和畫面充滿詩意的構圖。

您可以調整上面字典中的文本值以匹配您的Vision模型要求。

OpenAI音頻生成

OpenAI還提供了基于文本到語音模型生成音頻的模型。它非常易于使用,不過語音敘述風格很有限。此外,模型支持許多語言,您可以在語言支持頁面上看到這些語言。

要生成音頻,可以使用下面的代碼。

from openai import OpenAI
client = OpenAI()

speech_file_path = "speech.mp3"
response = client.audio.speech.create(
  model="tts-1",
  voice="alloy",
  input="I love data science and machine learning"
)
response.stream_to_file(speech_file_path)

您應該會在目錄中看到音頻文件。試著播放一下,看看是否符合標準。

目前,只有幾個參數可以用于文本到語音模型:

  • model:要使用的文本到語音模型。只有兩種模型可用:ts-1或ts-1-hd,其中ts-1優化速度,ts-1-hd優化質量。
  • voice:使用的語音樣式,所有聲音都被優化為英語。選擇有alloy、echo、fable、onyx、nova和shimmer。
  • response_format:音頻格式文件。目前支持的格式有mp3、opus、aac、flac、wav和pcm。
  • speed:生成的音頻速度。您可以選擇0.25到4之間的值。
  • input:用于創建音頻的文本。目前,模型最多支持4096個字符。

OpenAI語音到文本

OpenAI提供了轉錄和翻譯音頻數據的模型。使用Whispers模型,我們可以將音頻從支持的語言轉錄到文本文件中,并將其翻譯成英語。

不妨從我們之前生成的音頻文件中嘗試簡單的轉錄。

from openai import OpenAI
client = OpenAI()

audio_file= open("speech.mp3", "rb")
transcription = client.audio.transcriptions.create(
  model="whisper-1",
  file=audio_file
)

print(transcription.text)

我喜歡數據科學和機器學習。

還可以將音頻文件翻譯成英語。模型還無法翻譯成另一種語言。

from openai import OpenAI
client = OpenAI()

audio_file = open("speech.mp3", "rb")
translate = client.audio.translations.create(
  model="whisper-1",
  file=audio_file
)

結論

我們已經探討了OpenAI提供的幾項模型服務,從文本生成、圖像生成、音頻生成、視覺和文本到語音模型。每個模型都有自己的API參數和規范,您需要在使用它們之前有所了解。

原文標題:Exploring the OpenAI API with Python,作者:Cornellius Yudha Wijaya

鏈接:https://www.kdnuggets.com/exploring-the-openai-api-with-python。

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 四虎影视在线 | 久久免费精彩视频 | 久久久久久国产精品免费免费男同 | 日本韩国电影免费观看 | 精品一区二区三区四区 | 国产精品99精品久久免费 | 国产99热 | 亚洲成人免费 | 99精品国产一区二区三区 | 在线观看午夜视频 | 国色天香综合网 | 国产精品久久精品 | 精品国产一区二区三区免费 | 国产精品一区二区三区在线 | 日韩欧美三级电影在线观看 | 视频在线一区二区 | 中文字幕亚洲一区二区三区 | 美女爽到呻吟久久久久 | 91久操视频| 欧美激情一区二区三区 | 欧美嘿咻 | 波多野结衣一二三区 | 欧美精品在线看 | 不卡一区二区三区四区 | 在线只有精品 | 久久激情视频 | 国产精品有限公司 | 青青99 | 91视频一区二区 | 天天艹天天干天天 | 自拍偷拍中文字幕 | 中文字幕蜜臀 | 国产精品福利久久久 | 欧美日韩精品区 | 国产精品久久久久久久久久妞妞 | 免费观看日韩精品 | 国产精品高清一区二区三区 | 亚洲男人天堂 | 欧美区日韩区 | 精品网站999www | 欧美日韩在线播放 |