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)
相关推荐
gihigo19982 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
古译汉书2 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
白太岁2 天前
通信:(5) 电路交换、报文交换与分组交换
运维·服务器·网络·网络协议
EasyGBS2 天前
国标安全升级:GB28181平台EasyGBS支持GB35114协议的应用场景与核心优势
网络协议·安全·gb28181·gb35114
凯酱2 天前
Windows防火墙入站规则IP白名单
windows·网络协议·tcp/ip
稻草猫.2 天前
TCP与UDP:传输层协议深度解析
笔记·后端·网络协议
科技块儿2 天前
如何用离线库秒筛“数据中心”IP段并自动封号?
网络·网络协议·tcp/ip
上海云盾第一敬业销售2 天前
选择最佳高防CDN与高防IP服务以保证网站安全
网络协议·tcp/ip·安全
傻啦嘿哟2 天前
免费代理IP获取与验证:实战爬取代理网站并筛选可用IP
网络·网络协议·tcp/ip
上海云盾-小余2 天前
高防IP与传统防护的互补性分析
网络·网络协议·tcp/ip