OpenAI基本使用
🥨 AI相关 🎯 2026-05-25 🔥 22

安装

pip install openai

使用

from openai import OpenAI
from openai.types.chat import ChatCompletionUserMessageParam

OPENAI_BASE_URL = "https://api.deepseek.com"
OPENAI_API_KEY = "sk-xxxx"

client = OpenAI(
    api_key=OPENAI_API_KEY,
    base_url=OPENAI_BASE_URL
)

# 使用明确的类型
messages: list[ChatCompletionUserMessageParam] = [
    {
        "role": "user",
        "content": "你是谁?",
    }
]

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=messages
)

print(completion.choices[0].message.content)

角色

  • user:用户的消息
  • assistant:AI助手,LLM给出的回复
  • system:系统,对LLM的设定,角色、性格等要求,尽量放在第一个
  • tool:工具,调用的对话记录

温度参数

温度可以控制LLM生成文本的创造性和随机性,范围0-2,默认1

  • 接近0:生成文本保守,重复性高,适合准确性和一致性的任务,如写代码,事实,数学等
  • 接近2:生成文本创新、发散,重复性底,适合不太场景但仍然合理的任务,如故事创作,灵感风暴等
completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=messages,
    temperature=0
)

流式

from openai import OpenAI
from openai.types.chat import ChatCompletionUserMessageParam

OPENAI_BASE_URL = "https://api.deepseek.com"
OPENAI_API_KEY = "sk-xxx"

client = OpenAI(
    api_key=OPENAI_API_KEY,
    base_url=OPENAI_BASE_URL
)

# 使用明确的类型
messages: list[ChatCompletionUserMessageParam] = [
    {
        "role": "user",
        "content": "你是谁?",
    }
]

completion = client.chat.completions.create(
    # 模型
    model="deepseek-chat",
    # 消息
    messages=messages,
    # 温度
    temperature=0.5,
    # 流式
    stream=True
)

for chunk in completion:
    # 打印每次增量的内容,不换行
    print(chunk.choices[0].delta.content, end="")

模型测试

# 拉取INT4量化版本(4GB左右显存占用)
ollama pull qwen2.5:7b-instruct-q4_K_M

# 运行
ollama run qwen2.5:7b-instruct-q4_K_M
  • 中文理解顶级:原生针对中文优化,懂网络热词和文化语境
  • 工具调用原生支持:通义千问系列专门优化了Function Calling能力
  • 规划能力强:7B级别中逻辑推理和任务规划表现优秀
  • 长上下文:支持32K tokens,可以处理复杂多轮对话
👨‍💻自述
踏实走好脚下的路,热爱生活,坚持学习,怀揣的理想,终有一天会实现
🏝️目录