|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1. 什么是OpenAI库?
是OpenAI公司发布的python SDK,便于调用大模型。现在很多大模型服务商都兼容OpenAI SDK的调用。
2. 基础操作
- # In[1]
- from openai import OpenAI
- # 1.获取client 对象,OpenAI类对象
- client = OpenAI(base_url="https://dashscope.aliyuncs.com/compatible-mode/v1") #模型地址
- # 2.调用模型
- response = client.chat.completions.create(
- model = "qwen3-max", #模型名称
- messages= [
- {"role": "system", "content" : "你是一个python编程专家,并且不说废话,简单回答"}, #约束模型所扮演的角色
- {"role": "assistant", "content" : "好的,我是编程专家,并且话不多,你要问什么?"}, #模型之前生成的回复,用于构建多轮对话上下文,让模型记住历史交互内容
- {"role": "user", "content" : "使用python打印出1-10"} #用户的指令
- ]
- )
- # 3.处理结果
- print(response.choices[0].message.content)
复制代码
3. 流式输出
效果:模型回答一个字一个字的打印出来
- from openai import OpenAI
- # 1.获取client 对象,OpenAI类对象
- client = OpenAI(base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
-
- )
- # 2.调用模型
- response = client.chat.completions.create(
- model = "qwen3-max",
- messages= [
- {"role": "system", "content" : "你是一个python编程专家,话有点多"},
- {"role": "assistant", "content" : "好的,我是编程专家,并且话有点多,你要问什么?"},
- {"role": "user", "content" : "使用python打印出1-10"}
- ],
- stream = True
- )
- # 3.处理结果
- #print(response.choices[0].message.content)
- for chunk in response:
- print(chunk.choices[0].delta.content,
- end = ' ' , #每一段之间以空格分隔
- flush = 'True' #立刻刷新缓冲区
- )
复制代码
4. 附带历史消息调用模型
当前的历史消息是一次性的,如果是生产系统可以将消息保存到文件、数据库等持久化工具内,需要的时候提取使用
- from openai import OpenAI
- # 1.获取client 对象,OpenAI类对象
- client = OpenAI(base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
-
- )
- # 2.调用模型
- response = client.chat.completions.create(
- model = "qwen3-max",
- messages= [
- {"role":"system","content":"你是AI助理,回答很简洁"},
- {"role":"user","content":"小明有2条宠物狗"},
- {"role":"assistant", "content":"好的"},
- {"role":"user","content":"小红有3只宠物猫"},
- {"role":"assistant","content":"好的"},
- {"role":"user","content":"总共有几个宠物?"}
- ],
- stream = True
- )
- # 3.处理结果
- #print(response.choices[0].message.content)
- for chunk in response:
- print(chunk.choices[0].delta.content,
- end = ' ' , #每一段之间以空格分隔
- flush = 'True' #立刻刷新缓冲区
- )
复制代码
学习视频:【黑马程序员大模型RAG与Agent智能体项目实战教程,基于主流的LangChain技术从大模型提示词到实战项目】
https://www.bilibili.com/video/BV1yjz5BLEoY/?p=10&share_source=copy_web&vd_source=792a2cb63a1882bff4ed856eadc41a71
|
|