HTTP方式请求并处理GPT聊天补全接口的流式响应输出

python使用HTTP方式,调用OpenAI的聊天补全的流式响应接口,并处理数据

目的是,如果需要对接fastGPT等其他第三方,需要额外增加参数,或者其他开发语言调用时,不能使用官方的类库。需要自行封装请求方法,那么可以参考代码,增加参数或转成相应语言

bash 复制代码
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:
            continue
        # 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)
相关推荐
要加油哦~1 小时前
前端八股文 | HTTP - 实时通信方式/前后端通信方式
网络·网络协议·http
李昊哲小课4 小时前
spring 中 HttpStatus 与 ResponseEntity
spring boot·后端·spring·http·spring cloud·restful
编程爱好者熊浪4 小时前
测试需要使用HTTPS,怎么申请一个免费的测试域名
网络协议·http·https
limuyang25 小时前
【http3/quic】cronet 已经原生集成在Android内啦!还不快来开开眼!
android·http·google
helloworld工程师5 小时前
Dubbo应用开发之RPC直连开发
网络协议·rpc·dubbo
吐泡泡_7 小时前
TCP(滑动窗口/拥塞窗口补充)
网络协议
游戏开发爱好者812 小时前
HTTPS 内容抓取实战 能抓到什么、怎么抓、不可解密时如何定位(面向开发与 iOS 真机排查)
android·网络协议·ios·小程序·https·uni-app·iphone
Fms_Sa16 小时前
UDP的一次双向通信
网络·网络协议·udp
JH307317 小时前
B/S架构、HTTP协议与Web服务器详解
前端·http·架构
keer_zu18 小时前
一个Modbus-TCP传感器数据传输方案
网络·网络协议·tcp/ip