自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python語(yǔ)言openAI庫(kù)詳解:從入門(mén)到精通(從0到1手把手教程)

發(fā)布于 2025-1-7 11:29
瀏覽
0收藏

在人工智能(AI)領(lǐng)域,OpenAI無(wú)疑是全球最受矚目的機(jī)構(gòu)之一。它推出的GPT系列模型、DALL·E等創(chuàng)新技術(shù),正在深刻改變各行各業(yè)。作為Python開(kāi)發(fā)者,我們?cè)撊绾慰焖偕鲜植⒏咝Ю肙penAI的API,成為了提升個(gè)人競(jìng)爭(zhēng)力的關(guān)鍵。

本文將帶你從零開(kāi)始,深入解析Python語(yǔ)言中的openAI庫(kù),助你掌握AI開(kāi)發(fā)的核心工具,成為AI領(lǐng)域的專(zhuān)家。

一、什么是openAI庫(kù)?它能為開(kāi)發(fā)者帶來(lái)什么?

1.1 openAI庫(kù)簡(jiǎn)介

openAI庫(kù)是OpenAI官方提供的Python SDK,旨在幫助開(kāi)發(fā)者輕松調(diào)用OpenAI的API,實(shí)現(xiàn)自然語(yǔ)言處理(NLP)、圖像生成、代碼補(bǔ)全等AI功能。通過(guò)openAI庫(kù),開(kāi)發(fā)者可以快速集成GPT、DALL·E等先進(jìn)模型,構(gòu)建智能應(yīng)用。

1.2 openAI庫(kù)的核心

  • 簡(jiǎn)化開(kāi)發(fā)流程:openAI庫(kù)封裝了復(fù)雜的API調(diào)用邏輯
  • 支持多種模型:包括GPT-3、GPT-4、Codex等,滿(mǎn)足不同場(chǎng)景需求。
  • 靈活的參數(shù)配置:開(kāi)發(fā)者可以通過(guò)調(diào)整參數(shù),控制模型的輸出質(zhì)量、風(fēng)格等。
  • 高效的數(shù)據(jù)處理:支持批量請(qǐng)求、流式響應(yīng)等功能,提升開(kāi)發(fā)效率。

二、openAI庫(kù)的安裝和配置

2.1 安裝openAI庫(kù)

在開(kāi)始使用openAI庫(kù)之前,首先需要安裝它??梢酝ㄟ^(guò)以下命令安裝最新版本的openAI庫(kù):

pip install openai

2.2 配置API KEY

要使用openAI庫(kù),你需要一個(gè)OpenAI API KEY。以下是配置步驟:

  1. 之前寫(xiě)過(guò)CSDN的文章,教你如何獲取OpenAI API KEY的教程,你可以前往這里查看:  【OpenAI】獲取OpenAI API Key的多種方式全攻略:從入門(mén)到精通
  2. 注意!注意!注意!Python代碼中如果要設(shè)置base_url和api_key?。那么在配置base_url?的時(shí)候你要注意一點(diǎn),那就是在OpenAI庫(kù)里面,Python的base_url?后面,自帶了v1?的參數(shù)。所以base_url?后面也要加上v1,如下代碼:

from openai import OpenAI
client = OpenAI(
    api_key="這里是獲取的api_key",
    base_url="https://api.aihao123.cn/luomacode-api/open-api/v1"
)

response = client.chat.completions.create(
    messages=[
     # 把用戶(hù)提示詞傳進(jìn)來(lái)content
        {'role': 'user', 'content': "1+1等于幾?幫我說(shuō)列出詳細(xì)步驟。"},
    ],
    model='gpt-3.5-turbo',  # 調(diào)用的模型
    stream=True# True 是流逝返回,F(xiàn)alse是非流逝返回
)

# stream=False的時(shí)候,打開(kāi)這個(gè),啟用非流式返回
# print(response.choices[0].message.content)

# stream=True的時(shí)候,啟用流示返回
for chunk in response:
    print(chunk.choices[0].delta.content, end="", flush=True)

Python語(yǔ)言openAI庫(kù)詳解:從入門(mén)到精通(從0到1手把手教程)-AI.x社區(qū)

三、openAI庫(kù)的核心功能詳解

3.1 文本生成:GPT模型的使用

GPT(Generative Pre-trained Transformer)是OpenAI最著名的模型之一,廣泛應(yīng)用于文本生成、對(duì)話(huà)系統(tǒng)等場(chǎng)景。以下是一個(gè)簡(jiǎn)單的文本生成示例:

from openai import OpenAI

client = OpenAI(
    api_key="這里是獲取的api_key",
    base_url="https://api.aihao123.cn/luomacode-api/open-api/v1"

)
response = client.chat.completions.create(
    messages=[
        {'role': 'user', 'content': "寫(xiě)一篇關(guān)于人工智能的文章。"}, ],
    model='gpt-3.5-turbo',
    # stream=False
    stream=False,
    max_tokens=500
)
print(response.choices[0].message.content)

# for chunk in response:
#     print(chunk.choices[0].delta.content, end="", flush=True)

參數(shù)說(shuō)明:

  • model?:指定使用的模型,如gpt-3.5-turbo。
  • messages:輸入的提示文本。
  • stream:等于False,是非流示返回。
  • max_tokens:生成文本的最大長(zhǎng)度。

Python語(yǔ)言openAI庫(kù)詳解:從入門(mén)到精通(從0到1手把手教程)-AI.x社區(qū)

3.2 代碼補(bǔ)全:Codex模型的使用

Codex是OpenAI專(zhuān)為代碼生成優(yōu)化的模型,支持多種編程語(yǔ)言。以下是一個(gè)代碼補(bǔ)全示例:

response = client.chat.completions.create(
    messages=[
        {'role': 'user', 'content': "1+1"}, ],
    model='gpt-3.5-turbo',
    # stream=False
    stream=False,
    max_tokens=200
)
print(response.choices[0].message.content)

參數(shù)說(shuō)明:

  • response = client.chat.completions.create()?:這個(gè)是代碼補(bǔ)全的參數(shù)completions。

Python語(yǔ)言openAI庫(kù)詳解:從入門(mén)到精通(從0到1手把手教程)-AI.x社區(qū)

3.3 圖像識(shí)別:4O模型的使用

4O模型是OpenAI的大語(yǔ)言模型,可以根據(jù)圖片生成對(duì)應(yīng)文案。以下是一個(gè)圖像識(shí)別示例:

目標(biāo):我要去識(shí)別這個(gè)圖片

Python語(yǔ)言openAI庫(kù)詳解:從入門(mén)到精通(從0到1手把手教程)-AI.x社區(qū)

完整的代碼如下:

from openai import OpenAI

client = OpenAI(
    api_key="這里是獲取的api_key",
    base_url="https://api.aihao123.cn/luomacode-api/open-api/v1"

)
response = client.chat.completions.create(
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "text": "這是什么?",
                    "type": "text"
                },
                {
                    "image_url": {
                        "url": "data:image/png;base64,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"
                    },
                    "type": "image_url"
                }
            ]
        }
    ],
    model='gpt-4o-2024-05-13',
    stream=False,
    max_tokens=200
)

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

Python語(yǔ)言openAI庫(kù)詳解:從入門(mén)到精通(從0到1手把手教程)-AI.x社區(qū)

參數(shù)說(shuō)明:

  • image_url?:參數(shù)里面的image_url傳入的是Base64,你也可以傳入U(xiǎn)RL,但是傳Base64響應(yīng)會(huì)非常的快。這個(gè)是我用的轉(zhuǎn)Base64的工具:轉(zhuǎn)Base64
  • 等轉(zhuǎn)完Base64后,在把內(nèi)容貼到image_url即可?;蛘吣憧梢灾苯诱{(diào)用Base64的代碼庫(kù)也可以。

四、openAI庫(kù)的高級(jí)用法

4.1 批量請(qǐng)求與流式響應(yīng)

為了提高效率,openAI庫(kù)支持批量請(qǐng)求和流式響應(yīng)。以下是一個(gè)批量請(qǐng)求示例:

response = client.chat.completions.create(
    messages=[
            {'role': 'user', 'content': "10+5"}, {'role': 'user', 'content': "2+1"},],
        model='gpt-3.5-turbo',
        stream=False,
        # stream=True,
        max_tokens=500
    )

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

Python語(yǔ)言openAI庫(kù)詳解:從入門(mén)到精通(從0到1手把手教程)-AI.x社區(qū)

4.2 錯(cuò)誤處理與重試機(jī)制

在實(shí)際開(kāi)發(fā)中,可能會(huì)遇到API調(diào)用失敗的情況。以下是一個(gè)簡(jiǎn)單的錯(cuò)誤處理示例:

import time
from os import error
from openai import OpenAI

def generate_text(prompt):
    client = OpenAI(
        api_key="這里是獲取的api_key",
        base_url="https://api.aihao123.cn/luomacode-api/open-api/v1"

    )
    try:
        response = client.chat.completions.create(
            messages=[
                {'role': 'user', 'content': prompt}, ],
            model='gpt-3.5-turbo',
            # stream=False
            stream=False,
            max_tokens=200
        )
        return response.choices[0].message.content
    except error:
        time.sleep(10)
        return generate_text(prompt)

if __name__ == '__main__':
    prompt = "床前明月光下一句是什么?并且輸出完整的解釋"
    print(generate_text(prompt))

Python語(yǔ)言openAI庫(kù)詳解:從入門(mén)到精通(從0到1手把手教程)-AI.x社區(qū)圖片

本文轉(zhuǎn)載自??愛(ài)學(xué)習(xí)的蝌蚪??,作者: hpstream 

已于2025-1-10 17:57:01修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦