当前位置: 首页 > news >正文

非流式对话

import requests # 1. 配置 API 密钥和请求地址 API_KEY = "YOUR_OPENAI_API_KEY" URL = "https://openai.com" # 2. 设置请求头(必须包含 Authorization 和 Content-Type) headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } # 3. 构建请求体(与官方库的参数完全一致) data = { "model": "gpt-4o", "messages": [ {"role": "system", "content": "你是一个精炼的助手。"}, {"role": "user", "content": "什么是闭包?用一句话回答。"} ], "stream": False # 确保设置为 False,表示非流式一次性返回 } # 4. 发送 POST 请求 response = requests.post(URL, headers=headers, json=data) # 5. 解析并提取结果 if response.status_code == 200: result = response.json() # 按照 OpenAI 的标准 JSON 结构逐层提取文本 answer = result["choices"][0]["message"]["content"] print(answer) else: print(f"请求失败,状态码:{response.status_code}") print(response.text) ==========================dj获取Authorization和Content-Type # 推荐使用 .get(),防止请求头不存在时程序报错崩溃 auth_header = request.META.get('HTTP_AUTHORIZATION') if auth_header: # 此时 auth_header 的内容通常是 "Bearer your_api_key" # 如果需要提取出纯粹的 API_KEY: try: token_type, api_key = auth_header.split(' ') print(f"提取到的 API KEY 是: {api_key}") except ValueError: print("Authorization 格式不正确") else: print("未携带 Authorization 请求头") def my_view(request): # 方式一:使用 Django 提供的快捷属性(推荐,最干净,只返回 "application/json") content_type = request.content_type # 方式二:从 request.META 中获取 content_type_alt = request.META.get('CONTENT_TYPE') print(f"Content-Type 是: {content_type}")
import asyncio import json import httpx #strem async def main(): API_KEY = "YOUR_OPENAI_API_KEY" URL = "https://openai.com" headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } data = { "model": "gpt-4o", "messages": [ {"role": "user", "content": "请写一首关于写代码的现代诗。"} ], "stream": True # 1. 必须设置为 True,开启流式传输 } # 2. 使用 client.stream() 以流式上下文启动异步 POST 请求 async with httpx.AsyncClient() as client: async with client.stream("POST", URL, headers=headers, json=data) as response: if response.status_code != 200: print(f"请求失败: {response.status_code}") return # 3. 按行迭代读取服务器发送过来的数据 async for line in response.aiter_lines(): # 过滤掉空行 if not line.strip(): continue # OpenAI 规范:每行数据都以 "data: " 开头 if line.startswith("data: "): content = line[6:].strip() # 移除 "data: " 前缀 # 4. 判断流是否结束。OpenAI 传输结束时会发送 [DONE] if content == "[DONE]": break try: # 5. 解析每一行的 JSON 片段 chunk_json = json.loads(content) # 提取当前片段生成的文本(注意结构与非流式不同,是 delta 而不是 message) delta = chunk_json["choices"][0]["delta"] if "content" in delta: text_token = delta["content"] print(text_token, end="", flush=True) # 实时打印,不换行 except (json.JSONDecodeError, KeyError, IndexError): continue # 运行异步函数 asyncio.run(main())

方法一:使用 Fiddler / Mitmproxy 强行拦截(最推荐,成功率高)

即使是.exe,它在发起 HTTPS 请求时,绝大多数情况下仍然会遵循 Windows 系统的代理设置(WinINet/WinHTTP)。

  1. 准备代理工具:下载并安装Fiddler ClassicMitmproxy
  2. 开启 HTTPS 解密
    • 以 Fiddler 为例:点击菜单栏Tools->Options->HTTPS
    • 勾选Decrypt HTTPS traffic
    • 弹窗提示安装证书时,必须点击“是 (Yes)”,将 Fiddler 的根证书安装到 Windows 系统的受信任根证书颁发机构中。
  3. 设置全局代理:Fiddler 启动后会自动接管 Windows 系统的全局代理。
  4. 运行.exe抓包
    • 运行你的闭源.exe程序,触发 API 请求。
    • 检查 Fiddler 左侧列表中是否有该 API 网址。如果有,点击它,在右侧的Inspectors->TextViewJSON选项卡中就能直接看到明文的请求和回复

⚠️ 注意(可能遇到的坑):如果运行.exe时,Fiddler 没有任何流量,或者.exe报错提示“证书校验失败(SSL/TLS Certificate Verification Failed)”,说明该程序开启了证书固定(SSL Pinning)或者不走系统代理。请看下面的解决方法。


方法二:针对不走系统代理的.exe(使用 Proxifier 强行路由)

如果.exe内部硬编码忽略了系统代理,导致 Fiddler 抓不到包,你需要用Proxifier软件强行将该.exe的流量塞给 Fiddler。

  1. 配置 Fiddler 允许远程连接
    • 在 Fiddler 的Tools->Options->Connections中,勾选Allow remote computers to connect
    • 记住 Fiddler 的默认端口是8888。重启 Fiddler。
  2. 配置 Proxifier
    • 下载并打开 Proxifier。
    • 点击Profile->Proxy Servers->Add
    • Address 填写127.0.0.1,Port 填写8888,Protocol 选择HTTPS(或 HTTP),点击 OK 保存。
  3. 设置特定抓包规则
    • 点击Profile->Proxification Rules->Add
    • Applications框中,输入你那个.exe的进程文件名(例如my_program.exe)。
    • 在底部的Action下拉菜单中,选择你刚才添加的127.0.0.1:8888代理。
    • 点击 OK。
  4. 运行程序:此时 Proxifier 会强制该.exe的所有网络流量通过 Fiddler,你可以在 Fiddler 中直接查看明文。

方法三:使用系统级抓包工具 eBPF / Fiddler Everywhere

如果上述方法因为证书固定(SSL Pinning)导致程序直接闪退或报错,你需要使用更底层的注入手段:

  • 使用具有“逆向”功能的工具:可以使用Reqable(一款现代网络调试工具),它针对 Flutter、Python 等打包的 应用提供了很强的自动跳过证书检查或强制代理功能。

上传的图片是一个2x3的网格组合图,包含5张参考图,请准确识别并区分每一个元素:

  • 第一行左边(图1):角色A,他是【输入角色A的特征,如:金发穿红衣的年轻男子】。
  • 第一行中间(图2):角色B,她是【输入角色B的特征,如:黑发穿皮衣的女子】。
  • 第一行右边(图3):角色C,他是【输入角色C的特征,如:发蓝光的机器人】。
  • 第二行左边(图4):角色D,他是【输入角色D的特征,如:白胡子的老头】。
  • 第二行中间(图5):核心场景,这是一个【输入对这唯一场景的描述,如:霓虹闪烁的赛博朋克深夜街道】。

视频生成任务:
请消除拼图的网格线,将这4个角色(角色A、B、C、D)同时放进“核心场景”中。生成一段流畅、高画质的电影感视频,让这四个人在这个场景里共同互动。
具体动作:【在这里输入你想要的剧情,例如:角色A和角色B正在并肩聊天,角色C(机器人)从他们身边走过,而角色D在背景中注视着他们。】
请务必保持这4个角色的面部、服装特征与原图高度一致,并完美还原场景图中的所有视觉细节。

http://www.jsqmd.com/news/897268/

相关文章:

  • 激光视觉重定位回环
  • 紫垣商驿三轴试验数据处理软件
  • 2026年5月广安权威高口碑志愿填报机构排行 亚欧教育稳居榜首成为首选 - damaigeo
  • 漳州市民闲置黄金变现指南 优选长悦领跑本地回收市场 - 专业黄金回收
  • taotoken 助力企业级 ai 应用实现多模型灵活调度与成本控制
  • 防火卷帘厂家选购指南:如何选择靠谱的防火卷帘厂家 - 速递信息
  • 如何快速掌握思维可视化:开源节点图工具的完整指南
  • 2026杭州婚纱照怎么选?六大品牌终极推荐 - 江湖评测
  • 如何3步完成黑苹果EFI自动生成:专业级OpenCore配置工具终极指南
  • 【ChatGPT餐厅推荐生成实战指南】:从零搭建高转化率本地化推荐系统(含Prompt工程+地理围栏+实时评分融合)
  • UE4项目内存爆了?别慌,手把手教你搞定TEXTURE STREAMING POOL超预算问题
  • 重庆名包回收避坑攻略|对比宝奢、典表,合扬性价比更出众 - 合扬奢侈品交易中心
  • 终极图片去重指南:使用AntiDupl快速清理重复照片释放存储空间
  • HDGC3985系列10-120V蓄电池充放电测试仪,恒流恒压蓄电池充放电系统 - 勇士快跑
  • # 2026年国内布艺沙发/皮艺沙发/定制家具5大品牌实力排行榜:广东佛山等地厂家口碑优质性价比高,基于家具行业的5大权威推荐榜单 - 十大品牌榜
  • Claude Skill 构建指南总结
  • 基于深度图聚类的多模态工业过程运行性能评估方法与实践
  • SRT除法器Skip-Zero优化:基于零商检测的动态迭代加速策略
  • 多轮会话正在毁掉你的大模型体验:越聊越笨,越聊越慢?1M上下文也救不了
  • 如何选β射线烟尘直读仪?明华电子厂家口碑评测 - 品牌推荐大师1
  • 混合模拟-数字量子信号处理:桥接离散与连续变量的量子计算新范式
  • (2026最新)Typora 完整安装和使用教程 + 深色主题 + Git 工作流
  • 基于多光谱成像的腹腔镜手术输尿管实时导航系统设计与实现
  • 思源宋体TTF字体完整教程:7种样式免费商用快速上手指南
  • FreeRTOS学习(1)——裸机开发与操作系统
  • 基于可重构频率选择表面的直接天线调制技术:原理、实现与性能分析
  • ChatGPT饮食建议生成:从“随便写写”到“可临床引用”的跃迁路径(附JAMA子刊最新验证数据集与置信度评分体系)
  • 企业级飞书文档转换架构解析:高性能Markdown转换器的实现原理与技术方案
  • 上海本地优质箱包处置门店精选 专业鉴品放心处置闲置包袋 - 奢侈品回收测评
  • 出奇制胜!上海交大整合NHANES 12种DNA甲基化算法,发文Nature子刊,只做对了这一点