使用openai初次调用Ai

使用uv创建一个python的项目

py 复制代码
# 初始化项目
uv init ai-project

# 创建虚拟环境 非必要执行 使用uv add 下载包的时候也会自动创建虚拟环境
# 但是虚拟环境是必须要有的,因为项目不同所使用的包的版本也不相同 除非是全局统一环境 不做任何区分
# 最终生成 .venv文件
uv venv

项目目录

plaintext 复制代码
项目名/
├── .venv  # 虚拟环境
├── src/
│ ├── index.py
├── .env
├── .python-version # python的版本
├── main.py
├── pyproject.toml # 相当于package.json文件 uv add 添加的包全部在此处管理
├── uv.lock
└── README.md

使用openai调用LLM

首先安装依赖

plaintext 复制代码
uv add openai

配置环境变量,首先安装需要的包

plaintext 复制代码
uv add python-dotenv

.env文件配置api_key、base_url

plaintext 复制代码
# 不同的厂商 api_key、 base_url都不相同
DASHSCOPE_API_KEY = sk-xxxx
BASE_UR L= https://dashscope.aliyuncs.com/compatible-mode/v1
python 复制代码
""" 初始化openai第一个项目 """
from openai import OpenAI
import os
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

# 创建一个openai客户端
client = OpenAI(
  api_key= os.getenv("DASHSCOPE_API_KEY"),
  base_url= "https://dashscope.aliyuncs.com/compatible-mode/v1"
)

# 使用客户端调用模型
completions = client.chat.completions.create(
  model="qwen3-max",
  messages=[
    {"role": "system", "content": "你是一个ai助手,不说废话,回答用户的问题,保持回答的简洁"},
    {"role": "user", "content": "你好, 请介绍一下你自己"}
  ],
  stream=True # 流式输出 默认值是 False
)

# print(completions.choices[0].message.content) 直接输出

# 流失输出
for chunk in completions:
  print(chunk.choices[0].delta.content, end="", flush=True)
相关推荐
飞哥数智坊4 分钟前
我给 DeepSeek 看了两次截图,才发现 Vision 真正的价值
人工智能·ai编程·deepseek
有来技术8 小时前
开源项目维护者的自救:用 TRAE Work 造了个 Issue 集结号
ai编程
小虎AI生活11 小时前
手把手:把 Remotion 封装成 DeepSeek Harness 插件,一句话让 AI 出视频
ai编程
stormzhangV14 小时前
这个本地模型,让我 token 自由了
人工智能·ai编程·claude
全栈弄潮儿15 小时前
让 AI 帮你拆分一个功能需求:页面、接口、数据和测试任务怎么分
aigc·openai·ai编程
松小鼠呀18 小时前
我不敢再生孩子:ChatGPT 曾花 $2m 让他闭嘴,AI 巨头到底隐藏了什么秘密?
人工智能·安全·chatgpt·ai编程·科技热点
Patrick在香港19 小时前
Claude Agent 进阶:4 种工具调用编排模式,让 0820 那 13 个 endpoint 并行起来
python·ai·ai编程
happyprince19 小时前
01-整体观-Codex全貌解读(源码)
算法·ai编程
Flynt21 小时前
DeepSeek终于能看图了:V4 Flash Vision实测,1分钱9张图但有个大坑
agent·ai编程·deepseek
星核0penstarry1 天前
Copilot 用 GLM:自备密钥和官方内置,到底差在哪?
copilot·运维开发·ai编程·api聚合平台