💻 源码
# Please install OpenAI SDK first: `pip3 install openai`
import os
from dotenv import load_dotenv
from openai import OpenAI

# 这一行代码,可以加载当前路径下的.env文件(文件名不能改)
load_dotenv()

def dm01_deepseek():
    # 创建OpenAI的对象,使用OpenAI的方式调用大模型(DeepSeek)
    client = OpenAI(
        api_key='sk-eeaf7fdfe21b4d39bfb9567fdbcd433b',
        base_url="https://api.deepseek.com")

    # 是以OpenAI的客户端调用(请求)DeepSeek的大模型
    # role:角色,在大模型中,常见的有三种角色(system、user、assistant)
    # system:系统角色,也就是告诉大模型,你是一个什么身份(定位)
    # user:普通用户角色,也就是用户输入的普通提示词
    # assistant:助手角色,也就是大模型返回的内容
    response = client.chat.completions.create(
        model="deepseek-v4-flash",
        messages=[
            {"role": "system", "content": "You are a helpful assistant"},
            {"role": "user", "content": "Hello"},
        ],
        stream=False,
        reasoning_effort="high",
        extra_body={"thinking": {"type": "enabled"}}
    )

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


# 使用dotenv库的方式来管理.env文件,更安全
# pip install python-dotenv==1.2.1
# 注意:文件名必须是.env,不能改!!!
def dm02_deepseek():
    client = OpenAI(
        api_key=os.getenv("API_KEY"),
        base_url=os.getenv("BASE_URL"))

    response = client.chat.completions.create(
        model=os.getenv("MODEL_NAME"),
        messages=[
            {"role": "system", "content": "You are a helpful assistant"},
            {"role": "user", "content": "Hello"},
        ],
        stream=False)

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


# 使用DeepSeek完成新闻文本分类
def dm03_deepseek():
    # 创建客户端
    client = OpenAI(api_key=os.getenv("API_KEY"), base_url=os.getenv("BASE_URL"))
    # 定义变量,用来保存提示词
    system_prompt = """
    你是一个新闻短文本分类专家,现在需要文本进行分类,一共有十个类别,分别是:
    finance
    realty
    stocks
    education
    science
    society
    politics
    sports
    game
    entertainment
    
    你必须把输入的文本划分为其中某一个类别,最终只需要输出对应的类别即可,不要输出其他内容。
    """
    user_prompt = """
    请对如下文本进行分类。
    文本:《赛猪》激情只等你的加入!
    """
    result = client.chat.completions.create(model=os.getenv("MODEL_NAME"),
                                            messages=[{'role': 'system', 'content': system_prompt},
                                                      {'role': 'user', 'content': user_prompt}])
    print(result.choices[0].message.content)


if __name__ == '__main__':
    # dm01_deepseek()
    # dm02_deepseek()
    dm03_deepseek()