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

Python-openai对话LLM

Python-openai对话LLM

先说明:openai开源框架,不是拥有chatGPT的openAI公司,当前为了更好的学习效果,直接使用阿里百炼(通义千问)进行LLM对话,当前仅仅使用到【client.chat.completions.create】接口进行结果获取

1-知识整理

  • 1-openai的python开发框架和chatGPT的openAI公司没有任何关系,虽然调用方法的名称都是openai
  • 2-openai进行单轮对话
from openai import OpenAIfrom settings import DASHSCOPE_API_KEYtry:# 创建 OpenAI 客户端client = OpenAI(api_key=DASHSCOPE_API_KEY,base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",)# 获取模型的问答结果completion = client.chat.completions.create(# 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/modelsmodel="qwen-plus",messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "你是谁?"},],)# print(completion.choices[0].message.content)print(completion.model_dump_json())
except Exception as e:print(f"错误信息:{e}")print("请参考文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code")
  • 3-openai进行多轮会话-简单版
from openai import OpenAIfrom settings import DASHSCOPE_API_KEY# 创建一个函数,用于获取大模型响应
def get_response(messages):try:completion = client.chat.completions.create(model="qwen-plus",messages=messages)# print(completion.model_dump_json())return completion.choices[0].message.contentexcept Exception as e:print(f"错误信息:{e}")print("请参考文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code")return "大模型请求异常,请稍后再试"# 创建 OpenAI 客户端
client = OpenAI(api_key=DASHSCOPE_API_KEY,base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)# 初始化 messages-进行多轮对话
messages = []# 第 1 轮
messages.append({"role": "user", "content": "推荐一部关于太空探索的科幻电影。"})
print("第1轮")
print(f"用户:{messages[0]['content']}")
assistant_output = get_response(messages)
messages.append({"role": "assistant", "content": assistant_output})
print(f"模型:{assistant_output}\n")# 第 2 轮
messages.append({"role": "user", "content": "这部电影的导演是谁?"})
print("第2轮")
print(f"用户:{messages[-1]['content']}")
assistant_output = get_response(messages)
messages.append({"role": "assistant", "content": assistant_output})
print(f"模型:{assistant_output}\n")
  • 4-openai进行多轮会话-循环版本
from openai import OpenAIfrom settings import DASHSCOPE_API_KEY# 创建 OpenAI 客户端
client = OpenAI(api_key=DASHSCOPE_API_KEY,base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)# 初始化 messages-进行多轮对话
messages = []
conversation_idx = 1
while True:# 1-业务参数定义reasoning_content = ""  # 定义完整思考过程answer_content = ""  # 定义完整回复is_answering = False  # 判断是否结束思考过程并开始回复print("=" * 20 + f"第{conversation_idx}轮对话" + "=" * 20)conversation_idx += 1user_msg = {"role": "user", "content": input("请输入你的消息:")}messages.append(user_msg)# 2-创建聊天完成请求completion = client.chat.completions.create(# 您可以按需更换为其它深度思考模型model="qwen-plus",messages=messages,extra_body={"enable_thinking": True},stream=True,# stream_options={#     "include_usage": True# })# 3-获取大模型响应print("\n" + "=" * 20 + "思考过程" + "=" * 20 + "\n")for chunk in completion:# 如果chunk.choices为空,则打印usageif not chunk.choices:print("\nUsage:")print(chunk.usage)else:delta = chunk.choices[0].delta# 打印思考过程if hasattr(delta, 'reasoning_content') and delta.reasoning_content != None:print(delta.reasoning_content, end='', flush=True)reasoning_content += delta.reasoning_contentelse:# 开始回复if delta.content != "" and is_answering is False:print("\n" + "=" * 20 + "完整回复" + "=" * 20 + "\n")is_answering = True# 打印回复过程print(delta.content, end='', flush=True)answer_content += delta.content# 将模型回复的content添加到上下文中messages.append({"role": "assistant", "content": answer_content})print("\n")

2-参考网址

  • 阿里百炼平台API参考:https://bailian.console.aliyun.com/?spm=5176.29619931.J__Z58Z6CX7MY__Ll8p1ZOR.1.38fe521cU3isvj&tab=doc#/doc/?type=model&url=2841718
  • Python使用openai对接仓库地址:https://gitee.com/enzoism/python_openai_chat
  • Python-LLMChat
  • Python-MCPAgent开发-DeepSeek版本
  • Python-MCPAgent开发-代码解析

3-动手实操

1-UV环境管理

# 1-查看并指定环境
uv python list
uv python pin 3.10# 2-进行项目创建
uv init hello-aichat && cd hello-aichat# 3-指定本地运行环境
uv venv && source .venv/bin/activate# 4-本地环境安装依赖
uv pip install python-dotenv openai

2-openai-对话方法

from openai import OpenAIfrom settings import DASHSCOPE_API_KEYtry:# 阿里百炼平台API参考:https://bailian.console.aliyun.com/?spm=5176.29619931.J__Z58Z6CX7MY__Ll8p1ZOR.1.38fe521cU3isvj&tab=doc#/doc/?type=model&url=2841718client = OpenAI(api_key=DASHSCOPE_API_KEY,base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",)completion = client.chat.completions.create(# 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/modelsmodel="qwen-plus",messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "你是谁?"},],)# print(completion.choices[0].message.content)print(completion.model_dump_json())
except Exception as e:print(f"错误信息:{e}")print("请参考文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code")

4-思考作业

1-对比openai的agent框架

Python-MCPAgent开发-DeepSeek版本


2-openai有哪些核心业务对象

OpenAI 的 Python 开发框架(如 OpenAI Agents SDK)围绕“智能体”这一核心概念展开,其业务对象可归纳为以下五类:

  1. Agent(智能体)
    承载 LLM 配置(指令、模型、温度等)与运行上下文,是业务流程的入口和调度者。

  2. Tool(工具)
    将外部能力(函数、API、数据源)封装为可被 Agent 调用的标准化接口,使 LLM 具备“行动”能力。

  3. Handoff(交接)
    一种特殊的工具调用,用于在多个 Agent 之间转移控制权,实现多智能体协作与分工。

  4. Guardrail(护栏)
    可配置的输入/输出安全检查规则,用于防止有害或不合规内容,保障系统可靠性与合规性。

  5. Tracing(追踪)
    内建的运行日志与事件追踪机制,支持调试、性能分析和流程优化,是生产级可观测性的基础。

这些对象共同构成了 OpenAI Python 框架的业务内核:Agent 负责“思考与决策”,Tool 提供“执行手段”,Handoff 实现“多 Agent 编排”,Guardrail 保证“安全合规”,Tracing 提供“可观测性”。

http://www.dtcms.com/a/540316.html

相关文章:

  • 智慧码垛系统介绍
  • Axure高保真View Design框架元件库
  • 网站 linux 服务器昆明企业网站开发公司
  • 网站介绍经过下拉怎么做wordpress统计访问ip
  • 济南品牌网站建设低价wordpress建站要钱吗
  • DHT11温湿度传感器Linux驱动开发完整流程
  • EMD-SVM 太阳能功率预测
  • FFMPEG-1:下载与安装,文件组成,ffmpeg -h 命令汇总,练习使用 ffmpeg、ffplay、ffprobe,
  • 蚂蚁开源高性能扩散语言模型框架dInfe,推理速度提升十倍
  • DVWA靶场通关笔记
  • transformer结构
  • Spring Boot 移除 Undertow:技术背景、迁移方案与避坑指南(附源码级解析)
  • 龙岩食品有限公司搜索引擎优化的英文缩写
  • 【Linux】进程状态|优先级|进程切换|环境变量
  • 2025智能体元年:AI重塑产业格局
  • 计网4.4.1 路由算法
  • 038-Spring AI Alibaba VLLM Chat 功能完整案例
  • MCU的时钟树(Clock Tree)是什么?
  • 用 htmi5做网站海南最新消息新闻
  • 深入解析Linux MISC驱动框架
  • 【Linux学习笔记】线程安全问题之单例模式和死锁
  • 百日挑战-单词版(第六天)
  • 专为WebGIS开发者打造的用户端---GISBox
  • std::set、std::multiset 和 std::unordered_set的异同
  • iO 拆解:从熟悉的密码模块构建
  • 2026年AEI SCI1区TOP,混合近端策略粒子群算法+公路线形优化,深度解析+性能实测
  • 英文的购物网站泉州网站建设方案详细
  • 如何建公司网站的步骤ppt做的最好的网站
  • 网站建设比较好的多少钱建企业网站需要哪些资料
  • 深圳住房和城乡建设部网站大学网站 作风建设专题