标签

#openai

2 篇文章

api-开发fastapigcpgithubk8smcpnginxopenairag上下文医学向量对话代码流式爬虫环境配置
类openai基本对话代码
AI 大模型开发
11 分钟

类openai基本对话代码

这份笔记围绕 Python 异步项目中封装类 OpenAI Chat 接口的基础用法展开,场景是通过 one-api 统一管理不同模型服务后,在业务代码里只需关注 model 参数切换具体模型。代码使用 AsyncOpenAI 初始化客户端,并提供两个常用方法:gpt_stream 以异步生成器方式开启 stream=True,逐块 yield 模型返回内容;gpt_chat_no_stream 则一次性获取回复,适合普通问答或需要结构化结果的调用。非流式函数还演示了 JSON 输出的处理方式,包括在 system 提示中强调只返回 JSON、设置 response_format,以及对返回内容执行 json.loads。文章同时说明 Chat 接口的 messages 结构由 system、user、assistant 三类角色组成,推荐将 system 放在最前,历史对话按时间顺序追加,再放入当前用户输入。需要注意的是,历史记录可以帮助模型延续上下文,但不应重复塞入 system 指令,过长历史也会增加 token 成本,因此应根据业务做裁剪或摘要。整体适合正在把大模型能力接入后端服务、需要同时支持流式输出和结构化返回的开发者参考。

openai对话代码
AI 大模型开发
6 分钟

openai流式解析

这篇笔记聚焦 Python 中 OpenAI Chat Completions 的异步流式调用,适用于希望把模型响应按片段实时输出到终端或业务层的开发场景。内容先从环境变量读取入手,强调用 os.getenv 获取 OPENAI_API_KEY、OPENAI_BASE_URL 和 OPENAI_MODEL,并说明 python-dotenv 的安装包名与导入模块名不同:通过 pip install python-dotenv 安装,但代码中从 dotenv 导入 load_dotenv。核心示例封装了一个 AsyncOpenAIOut 类,在初始化阶段创建 AsyncOpenAI 客户端,在 gpt_stream 方法中组合 history、system_prompt 和用户消息,并以 stream=True 发起请求。代码通过 async for 遍历 OpenAI 返回的流式 response,检查 chunk.choices[0].delta.content 后用 yield 逐块产出内容,因此调用方也需要用 async for 消费这个异步生成器。文章还补充了 print(chunk) 在事件循环中的行为:它是同步执行,但在简单逐步输出场景通常可接受;若希望更严格地避免占用事件循环,可以用 asyncio.to_thread(print, chunk) 放到后台线程执行。整体价值在于把 .env 配置、AsyncOpenAI 初始化、消息组装、流式响应解析和 async for/yield 的语义串成一个可运行样例,适合正在接入 OpenAI 兼容接口或学习 Python 异步流处理的开发者。

openai流式