找回密码
 立即注册
首页 业界区 业界 【原】Python+AI学习笔记(01)大模型调用准备工作 与 O ...

【原】Python+AI学习笔记(01)大模型调用准备工作 与 OpenAI库基础使用

辜酗徇 3 小时前
  1. 1 # Python + AI 准备工作:
  2. 2 # 1、在阿里百炼大模型服务平台注册账号,并登录激活
  3. 3 # 2、点击左侧菜单的“密钥管理”,创建APIKey
  4. 4 # 3、选择合适的模型,并点击左侧菜单的“模型用量”,开启“免费额度用完即停”,这样等到免费额度用完就停止使用,不会私下扣费
  5. 5 # 4、安装OpenAI库,使用:pip install openai,因为国内网络原因,可以使用镜像快速安装,使用:pip install openai -i https://pypi.tuna.tsinghua.edu.cn/simple
  6. 6
  7. 7 from openai import OpenAI
  8. 8
  9. 9 client = OpenAI(
  10. 10     api_key="这里填写阿里百炼大模型服务平台生成的APIKey",
  11. 11     base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
  12. 12 )
  13. 13
  14. 14 completion = client.chat.completions.create(
  15. 15     model="qwen3-max",  # 可以按需更换为其它深度思考模型
  16. 16     messages=[
  17. 17         {"role": "system", "content": "You are a helpful assistant"},
  18. 18         {"role": "user", "content": "你是谁?"}
  19. 19     ],
  20. 20     stream=True
  21. 21 )
  22. 22
  23. 23 for chunk in completion:
  24. 24     print(chunk.choices[0].delta.content, end="", flush=True)
复制代码
 
  1. 1 # 设置环境变量,保护APIKey(以Windows 10系统为例)
  2. 2 # 1、“此电脑”右键,找到“属性”,点击找到右侧的“高级系统设置”,点击弹出“系统属性”窗口,找到“高级”选项卡,点击后,即可看到“环境变量”,点击开始设置环境变量
  3. 3 # 2、在弹出的窗口中,找到位于下方的“系统变量”
  4. 4 # 3、点击新建变量名“OPENAI_API_KEY”,变量值就是阿里百炼平台上创建的APIKey的值,该设置用于OpenAI库
  5. 5 # 4、点击新建变量名"DASHSCOPE_API_KEY",变量值就是阿里百炼平台上创建的APIKey的值,该设置用于Langchain库
  6. 6 # 5、设置后,一定记得需要重启才能生效
  7. 7
  8. 8 from openai import OpenAI
  9. 9
  10. 10 client = OpenAI(
  11. 11     base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
  12. 12 )
  13. 13
  14. 14 completion = client.chat.completions.create(
  15. 15     model="qwen3-max",  # 可以按需更换为其它深度思考模型
  16. 16     messages=[
  17. 17         {"role": "system", "content": "You are a helpful assistant"},
  18. 18         {"role": "user", "content": "你是谁?"}
  19. 19     ],
  20. 20     stream=True
  21. 21 )
  22. 22
  23. 23 for chunk in completion:
  24. 24     print(chunk.choices[0].delta.content, end="", flush=True)
复制代码
  1. 1 # OpenAI库的基础使用
  2. 2 # Step1、实例化OpenAI类对象:使用OpenAI类的构造函数,传入api_key(可省略) 和 base_url两个参数,创建类的实例对象
  3. 3 #       ① api_key:模型服务商提供的APIKey密钥
  4. 4 #       ② base_url:模型服务器提供的API接入地址,基于此参数可以切换不同的模型
  5. 5 # Step2、调用模型:至少传入model 和 message两个参数,创建ChatCompletion对象
  6. 6 #       ① model:设置使用的大模型,比如:qwen3-max
  7. 7 #       ② message:提供给大模型的数据,message的类型为list,可以包含多个字典数据,每个字典包含role(角色) 和 content(内容)2个key
  8. 8 #               role(角色)分为system角色、assistant角色 和 user角色
  9. 9 #               system角色:设定助手的整体行为、角色和规则,为对话提供上下文框架,是全局的背景设定,影响后续所有交互
  10. 10 #               assistant角色:代表AI助手的回答
  11. 11 #               user角色:代表用户,发送问题、指令或需求
  12. 12 # Step3、处理结果:大模型返回的就是ChatCompletion对象,返回形如下文的对象数据
  13. 13 # {
  14. 14 #     "id": "xxx",
  15. 15 #     "object": "xxxxx",
  16. 16 #     "created": 123456,
  17. 17 #     "model": "xxx",
  18. 18 #     "choices": [
  19. 19 #         {
  20. 20 #             "index": 0,
  21. 21 #             "message": {
  22. 22 #                 "role": "assistant",
  23. 23 #                 "content": "生成的回复内容"
  24. 24 #             },
  25. 25 #             "finish_reason": "stop" # stop=正常结束,length=令牌数超限,function_call=触发函数调用
  26. 26 #         }
  27. 27 #     ],
  28. 28 #     "usage": { # 令牌消耗统计
  29. 29 #         "prompt_tokens": 50,
  30. 30 #         "completion_tokens": 50,
  31. 31 #         "total_tokens": 50
  32. 32 #     }
  33. 33 # }
  34. 34
  35. 35 from openai import OpenAI
  36. 36
  37. 37 client = OpenAI(
  38. 38     base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
  39. 39 )
  40. 40
  41. 41 response = client.chat.completions.create(
  42. 42     model="qwen3-max",  # 可以按需更换为其它深度思考模型
  43. 43     messages=[
  44. 44         {"role": "system", "content": "你是资深Python专家,并且回答简洁不说废话"},
  45. 45         {"role": "assistant", "content": "好的,我是资深Python专家,并且回答简洁不说废话,您要问什么问题?"},
  46. 46         {"role": "user", "content": "编写Python代码,输出1-10的数字"}
  47. 47     ]
  48. 48 )
  49. 49
  50. 50 print(response.choices[0].message.content)
复制代码
  1. 1 # OpenAI库的流式输出
  2. 2 # 1、实例化OpenAI类对象:使用OpenAI类的构造函数,传入api_key(可省略) 、 base_url 和 stream三个参数,并设置stream=True,创建类的实例对象
  3. 3 # 2、对于大模型的返回结果,使用for循环输出内容
  4. 4
  5. 5 from openai import OpenAI
  6. 6
  7. 7 client = OpenAI(
  8. 8     base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
  9. 9 )
  10. 10
  11. 11 response = client.chat.completions.create(
  12. 12     model="qwen3-max",  # 可以按需更换为其它深度思考模型
  13. 13     messages=[
  14. 14         {"role": "system", "content": "你是资深Python专家,并且回答简洁不说废话"},
  15. 15         {"role": "assistant", "content": "好的,我是资深Python专家,并且回答简洁不说废话,您要问什么问题?"},
  16. 16         {"role": "user", "content": "编写Python代码,输出1-10的数字"}
  17. 17     ],
  18. 18     stream=True
  19. 19 )
  20. 20
  21. 21 for chunk in response:
  22. 22     print(
  23. 23         chunk.choices[0].delta.content,
  24. 24         end="",  # 设置每段之间以空字符串分隔
  25. 25         flush=True  # 设置立即刷新缓冲区
  26. 26     )
复制代码
  1. 1 # OpenAI库附带历史消息调用模型
  2. 2 # 调用大模型时,在messages这个list对象中,编写历史消息提供给大模型
  3. 3
  4. 4 from openai import OpenAI
  5. 5
  6. 6 client = OpenAI(
  7. 7     base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
  8. 8 )
  9. 9
  10. 10 response = client.chat.completions.create(
  11. 11     model="qwen3-max",  # 可以按需更换为其它深度思考模型
  12. 12     messages=[
  13. 13         {"role": "system", "content": "你是AI助理,并且回答简洁不说废话"},
  14. 14         {"role": "user", "content": "中国有14亿人"},
  15. 15         {"role": "assistant", "content": "好的"},
  16. 16         {"role": "user", "content": "美国有4亿人"},
  17. 17         {"role": "assistant", "content": "好的"},
  18. 18         {"role": "user", "content": "两个国家共有多少人?"}
  19. 19     ],
  20. 20     stream=True
  21. 21 )
  22. 22
  23. 23 for chunk in response:
  24. 24     print(
  25. 25         chunk.choices[0].delta.content,
  26. 26         end="",  # 设置每段之间以空字符串分隔
  27. 27         flush=True  # 设置立即刷新缓冲区
  28. 28     )
复制代码
 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册