国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用 Python 流式傳輸來自 OpenAI API 的響應(yīng):分步指南

這篇具有很好參考價值的文章主要介紹了使用 Python 流式傳輸來自 OpenAI API 的響應(yīng):分步指南。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

OpenAI API 提供了大量可用于執(zhí)行各種 NLP 任務(wù)的尖端 AI 模型。但是,在某些情況下,僅向 OpenAI 發(fā)出 API 請求可能還不夠,例如需要實時更新時。這就是服務(wù)器發(fā)送事件 (SSE) 發(fā)揮作用的地方。

SSE 是一種簡單有效的技術(shù),用于將數(shù)據(jù)從服務(wù)器實時流式傳輸?shù)娇蛻舳恕?span id="n5n3t3z" class="kdocs-color" style="color:#080F17;">如何在 Windows 計算機中備份驅(qū)動程序在本文中,我們將探討如何使用 Python 和 SSE 實時流式傳輸來自 OpenAI API 的響應(yīng)。到本教程結(jié)束時,您將對如何實現(xiàn)此技術(shù)有深入的了解,并且能夠輕松地將響應(yīng)從 OpenAI API 流式傳輸?shù)侥膽?yīng)用程序。

檢索您的 OpenAI API 密鑰

為了能夠從您的 Python 腳本中訪問 OpenAI API,我們需要使用 API 密鑰。

要檢索您的 OpenAI API 密鑰,您需要在 https://openai.com/ 創(chuàng)建一個用戶帳戶并訪問 OpenAI 儀表板中的 API 密鑰部分以創(chuàng)建一個新的 API 密鑰。

使用 Python 流式傳輸來自 OpenAI API 的響應(yīng):分步指南

此密鑰是秘密的,不得與任何其他人共享。稍后在實現(xiàn) Python 腳本以訪問 OpenAI 的 API 時,我們將需要使用此密鑰。

執(zhí)行腳本

在一個新文件夾中創(chuàng)建一個文件 main.py 并通過插入以下四行代碼開始實施:

import requests
import json
import sseclient
 
API_KEY = '[INSERT YOUR OPENAI API KEY HERE]'

這段代碼在 Python 中導(dǎo)入了三個模塊:requests、json 和 sseclient。

requests 是一個流行的 Python 庫,用于向服務(wù)器發(fā)送 HTTP 請求并接收響應(yīng)。

json 是一個提供處理 JSON 數(shù)據(jù)的函數(shù)的庫。它允許您編碼和解碼 JSON 數(shù)據(jù)。sseclient 是一個用于處理服務(wù)器發(fā)送事件 (SSE) 的庫——一種在客戶端和服務(wù)器之間通過 HTTP 進行的事件驅(qū)動通信。

如果您之前沒有在 Python 開發(fā)環(huán)境中安裝這些庫,您首先需要使用 pip 命令來安裝這些包:

pip install requests json sseclient-py

該代碼還定義了一個用于存儲 OpenAI API 密鑰的變量 API_KEY。請將占位符文本 [INSERT YOUR OPENAI API KEY HERE] 替換為您之前從 OpenAI 帳戶中檢索到的 API 密鑰。

接下來通過實現(xiàn)和執(zhí)行 performRequestWithStreaming() 函數(shù)來進一步完成實現(xiàn),該函數(shù)包含向 OpenAI API 完成端點執(zhí)行 POST 請求并以流模式接收答案所需的所有邏輯:

import requests
import json
import sseclient
 
API_KEY = '[INSERT YOUR OPENAI API KEY HERE]'

def performRequestWithStreaming():
    reqUrl = 'https://api.openai.com/v1/completions'
    reqHeaders = {
        'Accept': 'text/event-stream',
        'Authorization': 'Bearer ' + API_KEY
    }
    reqBody = {
      "model": "text-davinci-003",
      "prompt": "What is Python?",
      "max_tokens": 100,
      "temperature": 0,
      "stream": True,
    }
    request = requests.post(reqUrl, stream=True, headers=reqHeaders, json=reqBody)
    client = sseclient.SSEClient(request)
    for event in client.events():
        if event.data != '[DONE]':
            print(json.loads(event.data)['choices'][0]['text'], end="", flush=True),

if __name__ == '__main__':
    performRequestWithStreaming()

該函數(shù)使用請求模塊向 URL https://api.openai.com/v1/completions 發(fā)出 POST 請求。請求標頭包括 Accept 和 Authorization 字段,授權(quán)標頭使用代碼中前面定義的 API_KEY 變量。

請求正文定義為 reqBody 變量,包含 API 請求的多個參數(shù),包括模型名稱、提示文本、要返回的最大令牌數(shù)、溫度以及對流式響應(yīng)的要求。

來自 API 請求的響應(yīng)被分配給請求變量。然后,使用 sseclient 庫處理響應(yīng),并將請求對象傳遞給 SSEClient 構(gòu)造函數(shù)以創(chuàng)建新的客戶端對象。

然后代碼使用 for 循環(huán)迭代客戶端對象中的事件。對于每個事件,事件數(shù)據(jù)都會打印到控制臺,除非事件數(shù)據(jù)等于“[DONE]”,在這種情況下什么都不打印。json.loads()函數(shù)用于解析事件中的JSON數(shù)據(jù),提取結(jié)果字典的choices字段,得到補全的文本。print() 函數(shù)的 end 和 flush 參數(shù)用于確保輸出不被緩沖并立即顯示在控制臺上。

執(zhí)行腳本

執(zhí)行腳本

$ python main.py

然后您應(yīng)該能夠看到 OpenAI 提供的答案(提示“什么是 Python?”)被流式傳輸?shù)矫钚小?mark hidden color="red">文章來源:http://www.zghlxwxcb.cn/news/detail-418716.html

結(jié)論

總之,使用 SSE 和 Python 實時流式傳輸來自 OpenAI API 的響應(yīng)是在應(yīng)用程序中訪問 AI 模型的一種強大而高效的方式。按照本文中的分步指南,您現(xiàn)在應(yīng)該能夠?qū)嵤┐思夹g(shù)并從 OpenAI API 接收實時更新。SSE 是一種簡單有效的解決方案,用于將數(shù)據(jù)從服務(wù)器流式傳輸?shù)娇蛻舳耍瑢τ谀切┫M麑⑵鋺?yīng)用程序的 AI 功能提升到一個新水平的人來說,它是一個很好的選擇。文章來源地址http://www.zghlxwxcb.cn/news/detail-418716.html

到了這里,關(guān)于使用 Python 流式傳輸來自 OpenAI API 的響應(yīng):分步指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • python django StreamingHttpResponse流式響應(yīng)中文是亂碼

    在 Django 中,StreamingHttpResponse 用于實現(xiàn)流式響應(yīng),即在響應(yīng)過程中逐步發(fā)送數(shù)據(jù)。如果在使用 StreamingHttpResponse 時,返回的中文內(nèi)容出現(xiàn)亂碼,可能是因為編碼設(shè)置不正確。 要解決這個問題,請確保在設(shè)置 StreamingHttpResponse 時,正確設(shè)置了字符編碼。以下是一個示例: 在這個

    2024年03月10日
    瀏覽(20)
  • OpenAI Whisper 語音識別 API 模型使用 | python 語音識別

    OpenAI 除了 ChatGPT 的 GPT3.5 API 更新之外,又推出了一個 Whisper 的語音識別模型。支持96種語言。 Python 安裝 openai 庫后,把需要翻譯的音頻目錄放進去,運行程序即可生成音頻對應(yīng)的文字。 以上。

    2024年02月16日
    瀏覽(92)
  • 在 Python 中使用 OpenAI 的新 Whisper API 進行語音轉(zhuǎn)文本

    在 Python 中使用 OpenAI 的新 Whisper API 進行語音轉(zhuǎn)文本

    您是否厭倦了手動轉(zhuǎn)錄數(shù)小時的錄音?您想節(jié)省時間并提高工作效率嗎?然后,您會很高興聽到 OpenAI 用于語音到文本轉(zhuǎn)換的新 Whisper API!借助這項尖端的 AI 技術(shù),您現(xiàn)在可以在 Python 程序中輕松地將音頻文件轉(zhuǎn)換為文本。讓我們在下面探討這是如何工作的! 創(chuàng)建一個新文件

    2024年02月09日
    瀏覽(92)
  • 如何使用OpenAI API和Python SDK構(gòu)建自己的聊天機器人

    如何使用OpenAI API和Python SDK構(gòu)建自己的聊天機器人

    近日,OpenAI公司的ChatGPT模型走紅網(wǎng)絡(luò)。同時,OpenAI也推出了Chat API和gpt-3.5-turbo模型,讓開發(fā)者能夠更輕松地使用與ChatGPT類似的自然語言處理模型。 通過OpenAI API,我們可以使用gpt-3.5-turbo模型,實現(xiàn)多種任務(wù),包括:撰寫電子郵件或其他文本內(nèi)容,編寫Python代碼,創(chuàng)建對話代

    2024年02月01日
    瀏覽(48)
  • 使用SSE技術(shù)調(diào)用OPENAI接口并實現(xiàn)流式輸出,用PHP語言實現(xiàn)

    作為AI語言模型服務(wù)提供商,OpenAI 提供了一系列的 API 接口,其中大部分需要通過 HTTP 請求訪問。對于大量數(shù)據(jù)的請求,傳統(tǒng)的同步請求會導(dǎo)致網(wǎng)絡(luò)響應(yīng)變慢,無法滿足實時數(shù)據(jù)處理和分析的需求。因此,為了優(yōu)化這些接口的調(diào)用效率,我們可以利用 SSE(Server Sent Events) 技術(shù)來

    2024年02月11日
    瀏覽(22)
  • 為減少來自環(huán)境使用的無線傳感器網(wǎng)絡(luò)的傳輸次數(shù)而開發(fā)的方法(Matlab代碼實現(xiàn))

    為減少來自環(huán)境使用的無線傳感器網(wǎng)絡(luò)的傳輸次數(shù)而開發(fā)的方法(Matlab代碼實現(xiàn))

    ???????? 歡迎來到本博客 ???????? ??博主優(yōu)勢: ?????? 博客內(nèi)容盡量做到思維縝密,邏輯清晰,為了方便讀者。 ?? 座右銘: 行百里者,半于九十。 ?????? 本文目錄如下: ?????? 目錄 ??1 概述 ??2 運行結(jié)果 ??3 參考文獻 ??4 Matlab代碼實現(xiàn) 隨著無線

    2024年02月08日
    瀏覽(25)
  • 使用Builder AST 轉(zhuǎn)換為流式API

    從Groovy 2.3開始,我們可以使用 @Builder AST轉(zhuǎn)換輕松地為我們的類創(chuàng)建一個流暢的API。 我們可以將注釋應(yīng)用于我們的類,結(jié)果類文件將具有支持流暢API的所有必要方法。 我們可以自定義如何使用不同的注釋參數(shù)生成流暢的API。 在Groovy代碼中,我們已經(jīng)可以使用 with 方法 有一個

    2024年02月07日
    瀏覽(18)
  • python+flask+eventSource打造流式chatGPT生成式API接口

    后端用python,前端用web,怎么打通chatGPT API連接? 如果你遇到這樣的情況: 科學(xué)上網(wǎng)登chat.openai.com開啟一個新聊天,總是出現(xiàn)網(wǎng)頁錯誤,刷新幾次就沒有對話的想法了。 獲取了chatGPT的APIkey,用網(wǎng)上一大堆PHP/JSP/CURL的代碼去試,效果很差,不是反應(yīng)慢,就是兼容性不好。 用

    2024年02月04日
    瀏覽(25)
  • openai開放gpt3.5-turbo模型api,使用python即可寫一個基于gpt的智能問答機器人

    openai開放gpt3.5-turbo模型api,使用python即可寫一個基于gpt的智能問答機器人

    使用 pip 安裝openai庫,注意 gpt3.5-turbo 模型需要 python=3.9 的版本支持,本文演示的python版本是 python==3.10.10 需要提前在 openai 官網(wǎng)上注冊好賬號,然后打開 https://platform.openai.com/account/api-keys 就可以創(chuàng)建接口 keys 每個賬號注冊完成會有18美元在里面,每次調(diào)用api,就會花費里面的

    2024年02月06日
    瀏覽(103)
  • 【AI大模型應(yīng)用開發(fā)】【LangChain系列】9. 實用技巧:大模型的流式輸出在 OpenAI 和 LangChain 中的使用

    【AI大模型應(yīng)用開發(fā)】【LangChain系列】9. 實用技巧:大模型的流式輸出在 OpenAI 和 LangChain 中的使用

    大家好,我是同學(xué)小張,日常分享AI知識和實戰(zhàn)案例 歡迎 點贊 + 關(guān)注 ??, 持續(xù)學(xué)習(xí) , 持續(xù)干貨輸出 。 +v: jasper_8017 一起交流??,一起進步??。 微信公眾號也可搜【同學(xué)小張】 ?? 本站文章一覽: 當大模型的返回文字非常多時,返回完整的結(jié)果會耗費比較長的時間。如果

    2024年04月09日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包