HTTP方式請求並處理GPT聊天補全接口的流式響應輸出

python使用HTTP方式,調用OpenAI的聊天補全的流式響應接口,並處理數據
目的是,如果需要對接fastGPT等其他第三方,需要額外增加參數,或者其他開發語言調用時,不能使用官方的類庫。需要自行封裝請求方法,那麼可以參考代碼,增加參數或轉成相應語言
import json
import requests

url = "https://代理域名/v1/chat/completions"  # 替換爲目標URL
data = {
    "stream": True,
    "model": "gpt-3.5-turbo",
    "messages": [
        {
            "role": "user",
            "content": "你是誰"
        },
    ]
}
headers = {
    "Authorization": "Bearer key",
}

# 使用 with 語句確保請求完成後釋放資源
with requests.post(url, json=data, headers=headers, timeout=60000, stream=True) as response:
    # print(response.headers)
    for chunk in response.iter_lines(chunk_size=None):
        mChunk = chunk.decode('utf-8')
        if "[DONE]" in mChunk:
            break
        # print(mChunk)
        lines = mChunk.splitlines()
        for line in lines:
            respStr = line.strip().replace("data: ", "")
            respContent = ""
            try:
                respJson = json.loads(respStr)
                respContent = respJson["choices"][0]["delta"]["content"]
            except  Exception as e:
                respContent = ""
            print(respContent)

 

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