Deepseek.Ai(探索未至之境)

提示:《Deepseek.Ai(探索未至之境)》文章主要选自:DeepSeek API 文档
提示:《Deepseek.Ai(探索未至之境)》官方网站:https://www.deepseek.com


在这里插入图片描述


Python软件准备

# Python安装OpenAI
pip install OpenAI -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述
Deepseek.Ai(探索未至之境)使用python执行,仅供参考

Deepseek基本介绍

一、快速开始

(一)首次调用 API

DeepSeek API 使用与 OpenAI 兼容的 API 格式,通过修改配置,您可以使用 OpenAI SDK 来访问 DeepSeek API,或使用与 OpenAI API 兼容的软件。

PARAMVALUE
base_url *https://api.deepseek.com
api_keyapply for an API key
  • 出于与 OpenAI 兼容考虑,您也可以将 base_url 设置为 https://api.deepseek.com/v1 来使用,但注意,此处 v1 与模型版本无关。

  • deepseek-chat 模型已全面升级为 DeepSeek-V3,接口不变。 通过指定 model=‘deepseek-chat’ 即可调用 DeepSeek-V3。

  • deepseek-reasoner 是 DeepSeek 最新推出的推理模型 DeepSeek-R1。通过指定 model=‘deepseek-reasoner’,即可调用 DeepSeek-R1。

(二)调用对话 API

在创建 API key 之后,你可以使用以下样例脚本的来访问 DeepSeek API。样例为非流式输出,您可以将 stream 设置为 true 来使用流式输出。

# Please install OpenAI SDK first: `pip3 install openai`

from openai import OpenAI

client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")

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

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

(三)Temperature 设置

temperature 参数默认为 1.0。我们建议您根据如下表格,按使用场景设置 temperature。

场景温度
代码生成/数学解题0.0
数据抽取/分析1.0
通用对话1.3
翻译1.3
创意类写作/诗歌创作1.5

(四)错误码

您在调用 DeepSeek API 时,可能会遇到以下错误。这里列出了相关错误的原因及其解决方法。

错误码描述
400 - 格式错误原因:请求体格式错误;解决方法:请根据错误信息提示修改请求体
401 - 认证失败原因:API key 错误,认证失败;解决方法:请检查您的 API key 是否正确,如没有 API key,请先 创建 API key
402 - 余额不足原因:账号余额不足;解决方法:请确认账户余额,并前往充值 页面进行充值
422 - 参数错误原因:请求体参数错误;解决方法:请根据错误信息提示修改相关参数
429 - 请求速率达到上限原因:请求速率(TPM 或 RPM)达到上限;解决方法:请合理规划您的请求速率
500 - 服务器故障原因:服务器内部故障;解决方法:请等待后重试。若问题一直存在,请联系我们解决
503 - 服务器繁忙原因:服务器负载过高;解决方法:请稍后重试您的请求

二、API 文档

(一)对话补全

根据输入的上下文,来让模型补全对话内容。

from openai import OpenAI

# for backward compatibility, you can still use `https://api.deepseek.com/v1` as `base_url`.
client = OpenAI(api_key="<your API key>", base_url="https://api.deepseek.com")

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "Hello"},
  ],
    max_tokens=1024,
    temperature=0.7,
    stream=False
)

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

(二)FIM 补全(Beta)

from openai import OpenAI

# user should set `base_url="https://api.deepseek.com/beta"` to use this feature.
client = OpenAI(
  api_key="<your API key>",
  base_url="https://api.deepseek.com/beta",
)
response = client.completions.create(
  model="deepseek-chat",
  prompt="def fib(a):",
  suffix="    return fib(a-1) + fib(a-2)",
  max_tokens=128)
print(response.choices[0].text)

三、推理模型

deepseek-reasoner 是 DeepSeek 推出的推理模型。在输出最终回答之前,模型会先输出一段思维链内容,以提升最终答案的准确性。我们的 API 向用户开放 deepseek-reasoner 思维链的内容,以供用户查看、展示、蒸馏使用。在使用 deepseek-reasoner 时,请先升级 OpenAI SDK 以支持新参数。

pip3 install -U openai

(一)API 参数

输入参数:

  • max_tokens:

最终回答的最大长度(不含思维链输出),默认为 4K,最大为 8K。请注意,思维链的输出最多可以达到 32K tokens,控思维链的长度的参数(reasoning_effort)将会在近期上线。
输出字段:

  • reasoning_content:

思维链内容,与 content 同级,访问方法见访问样例
content:最终回答内容

上下文长度: API 最大支持 64K 上下文,输出的 reasoning_content 长度不计入 64K 上下文长度中

支持的功能: 对话补全,对话前缀续写 (Beta)

不支持的功能: Function Call、Json Output、FIM 补全 (Beta)

不支持的参数: temperature、top_p、presence_penalty、frequency_penalty、logprobs、top_logprobs。请注意,为了兼容已有软件,设置 temperature、top_p、presence_penalty、frequency_penalty 参数不会报错,但也不会生效。设置 logprobs、top_logprobs 会报错。

(二)上下文拼接

在每一轮对话过程中,模型会输出思维链内容(reasoning_content)和最终回答(content)。在下一轮对话中,之前轮输出的思维链内容不会被拼接到上下文中,如下图所示:
在这里插入图片描述
请注意,如果您在输入的 messages 序列中,传入了reasoning_content,API 会返回 400 错误。因此,请删除 API 响应中的 reasoning_content 字段,再发起 API 请求,方法如访问样例所示。

四、多轮对话

本指南将介绍如何使用 DeepSeek /chat/completions API 进行多轮对话。

DeepSeek /chat/completions API 是一个“无状态” API,即服务端不记录用户请求的上下文,用户在每次请求时,需将之前所有对话历史拼接好后,传递给对话 API。

下面的代码以 Python 语言,展示了如何进行上下文拼接,以实现多轮对话。

from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")

# Round 1
messages = [{"role": "user", "content": "What's the highest mountain in the world?"}]
response = client.chat.completions.create(
    model="deepseek-chat",
    messages=messages
)

messages.append(response.choices[0].message)
print(f"Messages Round 1: {messages}")

# Round 2
messages.append({"role": "user", "content": "What is the second?"})
response = client.chat.completions.create(
    model="deepseek-chat",
    messages=messages
)

messages.append(response.choices[0].message)
print(f"Messages Round 2: {messages}")

在第一轮请求时,传递给 API 的 messages 为:

[
{“role”: “user”, “content”: “What’s the highest mountain in the world?”}
]

在第二轮请求时:

要将第一轮中模型的输出添加到 messages 末尾
将新的提问添加到 messages 末尾

五、对话前缀续写(Beta)

对话前缀续写沿用 Chat Completion API,用户提供 assistant 开头的消息,来让模型补全其余的消息。

注意事项

使用对话前缀续写时,用户需确保 messages 列表里最后一条消息的 role 为 assistant,并设置最后一条消息的 prefix 参数为 True。
用户需要设置 base_url=“https://api.deepseek.com/beta” 来开启 Beta 功能。

样例代码
下面给出了对话前缀续写的完整 Python 代码样例。在这个例子中,我们设置 assistant 开头的消息为 "```python\n" 来强制模型输出 python 代码,并设置 stop 参数为 ['```'] 来避免模型的额外解释。
from openai import OpenAI

client = OpenAI(
    api_key="<your api key>",
    base_url="https://api.deepseek.com/beta",
)

messages = [
    {"role": "user", "content": "Please write quick sort code"},
    {"role": "assistant", "content": "```python\n", "prefix": True}
]
response = client.chat.completions.create(
    model="deepseek-chat",
    messages=messages,
    stop=["```"],
)
print(response.choices[0].message.content)

六、FIM 补全(Beta)

在 FIM (Fill In the Middle) 补全中,用户可以提供前缀和后缀(可选),模型来补全中间的内容。FIM 常用于内容续写、代码补全等场景。
注意事项
模型的最大补全长度为 4K。
用户需要设置 base_url=“https://api.deepseek.com/beta” 来开启 Beta 功能。
样例代码
下面给出了 FIM 补全的完整 Python 代码样例。在这个例子中,我们给出了计算斐波那契数列函数的开头和结尾,来让模型补全中间的内容。

from openai import OpenAI

client = OpenAI(
    api_key="<your api key>",
    base_url="https://api.deepseek.com/beta",
)

response = client.completions.create(
    model="deepseek-chat",
    prompt="def fib(a):",
    suffix="    return fib(a-1) + fib(a-2)",
    max_tokens=128
)
print(response.choices[0].text)

七、Function Calling

Function Calling 让模型能够调用外部工具,来增强自身能力。
提示
当前版本 deepseek-chat 模型 Function Calling 功能效果不稳定,会出现循环调用、空回复的情况。我们正在积极修复中,预计将在下一个版本中得到修复。

样例代码
这里以获取用户当前位置的天气信息为例,展示了使用 Function Calling 的完整 Python 代码。

Function Calling 的具体 API 格式请参考对话补全文档。

from openai import OpenAI

def send_messages(messages):
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=messages,
        tools=tools
    )
    return response.choices[0].message

client = OpenAI(
    api_key="<your api key>",
    base_url="https://api.deepseek.com",
)

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get weather of an location, the user shoud supply a location first",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city and state, e.g. San Francisco, CA",
                    }
                },
                "required": ["location"]
            },
        }
    },
]

messages = [{"role": "user", "content": "How's the weather in Hangzhou?"}]
message = send_messages(messages)
print(f"User>\t {messages[0]['content']}")

tool = message.tool_calls[0]
messages.append(message)

messages.append({"role": "tool", "tool_call_id": tool.id, "content": "24℃"})
message = send_messages(messages)
print(f"Model>\t {message.content}")

Deepseek提示库

一、代码改写

对代码进行修改,来实现纠错、注释、调优等。

提示词

USER	
下面这段的代码的效率很低,且没有处理边界情况。请先解释这段代码的问题与解决方法,然后进行优化:

def fib(n):
if n <= 2:
return n
return fib(n-1) + fib(n-2)

样例输出

问题分析

这段代码实现了一个递归的斐波那契数列计算函数 fib(n)。虽然代码简洁,但它存在以下几个问题:

  1. 重复计算:递归调用会导致大量的重复计算。例如,计算 fib(5) 时,fib(3)fib(2) 会被多次计算,导致效率低下。

  2. 边界情况处理不完善:虽然代码中处理了 n <= 2 的情况,但没有处理 n < 0 的情况。对于负数输入,函数会返回不正确的结果。

  3. 递归深度限制:对于较大的 n,递归深度可能会超过 Python 的默认递归深度限制,导致 RecursionError

解决方法

  1. 使用记忆化(Memoization):通过缓存已经计算过的斐波那契数列值,避免重复计算,提高效率。

  2. 处理边界情况:增加对 n < 0 的检查,并返回适当的错误信息或默认值。

  3. 使用迭代代替递归:递归虽然简洁,但在处理大规模数据时效率较低。可以使用迭代方法来计算斐波那契数列,避免递归深度限制。

优化后的代码

方法一:记忆化递归
def fib(n, memo={}):
    if n < 0:
        raise ValueError("Input must be a non-negative integer")
    if n <= 2:
        return 1
    if n in memo:
        return memo[n]
    memo[n] = fib(n-1, memo) + fib(n-2, memo)
    return memo[n]
方法二:迭代法
def fib(n):
    if n < 0:
        raise ValueError("Input must be a non-negative integer")
    if n <= 2:
        return 1
    
    a, b = 1, 1
    for _ in range(3, n+1):
        a, b = b, a + b
    return b

解释

  1. 记忆化递归

    • 使用一个字典 memo 来存储已经计算过的斐波那契数列值。
    • 在每次递归调用前,先检查 memo 中是否已经有结果,如果有则直接返回,避免重复计算。
    • 处理了 n < 0 的情况,抛出 ValueError
  2. 迭代法

    • 使用两个变量 ab 来保存前两个斐波那契数列值。
    • 通过循环从 3n 计算斐波那契数列值,避免了递归调用,提高了效率。
    • 同样处理了 n < 0 的情况,抛出 ValueError

总结

优化后的代码不仅提高了效率,还完善了边界情况的处理。记忆化递归和迭代法都是有效的优化手段,具体选择哪种方法取决于具体需求和场景。
代码
from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "user",
                "content": "下面这段的代码的效率很低,且没有处理边界情况。请先解释这段代码的问题与解决方法,然后进行优化:\n```\ndef fib(n):\n    if n <= 2:\n        return n\n    return fib(n-1) + fib(n-2)\n```"
        }
    ]
)

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

二、代码解释

对代码进行解释,来帮助理解代码内容。

提示词

USER	
请解释下面这段代码的逻辑,并说明完成了什么功能:

// weight数组的大小 就是物品个数
for(int i = 1; i < weight.size(); i++) { // 遍历物品
for(int j = 0; j <= bagweight; j++) { // 遍历背包容量
if (j < weight[i]) dp[i][j] = dp[i - 1][j];
else dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);
}
}

样例输出

这段代码实现了一个经典的动态规划问题,通常用于解决“0/1背包问题”。下面是对代码逻辑的详细解释:

代码逻辑解释

  1. 初始化与遍历

    • weight 数组表示每个物品的重量。
    • value 数组表示每个物品的价值。
    • bagweight 表示背包的最大容量。
    • dp 是一个二维数组,dp[i][j] 表示前 i 个物品在背包容量为 j 时的最大价值。
  2. 外层循环

    for(int i = 1; i < weight.size(); i++) { // 遍历物品
    
    • 外层循环从第1个物品开始遍历到最后一个物品(weight.size())。
  3. 内层循环

    for(int j = 0; j <= bagweight; j++) { // 遍历背包容量
    
    • 内层循环从背包容量为0开始遍历到背包的最大容量(bagweight)。
  4. 状态转移方程

    if (j < weight[i]) dp[i][j] = dp[i - 1][j];
    else dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);
    
    • 如果当前背包容量 j 小于第 i 个物品的重量 weight[i],则无法放入该物品,状态保持不变,即 dp[i][j] = dp[i - 1][j]
    • 否则,可以选择放入或不放入第 i 个物品:
      • 不放入第 i 个物品时,最大价值为 dp[i - 1][j]
      • 放入第 i 个物品时,最大价值为 dp[i - 1][j - weight[i]] + value[i],即在放入物品前的最大价值加上当前物品的价值。
      • 取两者的最大值,即 dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i])

功能说明

这段代码的功能是计算在给定背包容量 bagweight 下,选择不同物品组合所能获得的最大价值。具体来说,它通过动态规划的方法,逐步构建一个二维数组 dp,其中 dp[i][j] 表示前 i 个物品在背包容量为 j 时的最大价值。最终,dp[weight.size() - 1][bagweight] 就是所求的最大价值。

总结

  • 输入weight 数组(物品重量),value 数组(物品价值),bagweight(背包容量)。
  • 输出:在背包容量为 bagweight 时,选择不同物品组合所能获得的最大价值。
  • 算法:动态规划,通过构建二维数组 dp 来记录每一步的最优解。

代码

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "user",
                "content": "请解释下面这段代码的逻辑,并说明完成了什么功能:\n```\n// weight数组的大小 就是物品个数\nfor(int i = 1; i < weight.size(); i++) { // 遍历物品\n    for(int j = 0; j <= bagweight; j++) { // 遍历背包容量\n        if (j < weight[i]) dp[i][j] = dp[i - 1][j];\n        else dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);\n    }\n}\n```"
        }
    ]
)

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

三、代码生成

让模型生成一段完成特定功能的代码。

提示词

USER	
请帮我用 HTML 生成一个五子棋游戏,所有代码都保存在一个 HTML 中。

样例输出

当然!下面是一个简单的五子棋游戏的 HTML 代码。这个代码包含了一个基本的五子棋棋盘,玩家可以通过点击棋盘上的格子来下棋。游戏会检测是否有玩家获胜。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>五子棋游戏</title>
    <style>
        body {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            background-color: #f0f0f0;
            font-family: Arial, sans-serif;
        }
        #board {
            display: grid;
            grid-template-columns: repeat(15, 30px);
            grid-template-rows: repeat(15, 30px);
            gap: 1px;
            background-color: #d18b47;
            padding: 10px;
            border-radius: 5px;
        }
        .cell {
            width: 30px;
            height: 30px;
            background-color: #ffce9e;
            border: 1px solid #d18b47;
            display: flex;
            justify-content: center;
            align-items: center;
            cursor: pointer;
        }
        .cell.black::before, .cell.white::before {
            content: '';
            width: 20px;
            height: 20px;
            border-radius: 50%;
        }
        .cell.black::before {
            background-color: black;
        }
        .cell.white::before {
            background-color: white;
        }
        #message {
            margin-top: 20px;
            font-size: 24px;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <div id="board"></div>
    <div id="message"></div>

    <script>
        const boardSize = 15;
        let currentPlayer = 'black';
        let board = Array.from({ length: boardSize }, () => Array(boardSize).fill(null));

        function createBoard() {
            const boardElement = document.getElementById('board');
            for (let i = 0; i < boardSize; i++) {
                for (let j = 0; j < boardSize; j++) {
                    const cell = document.createElement('div');
                    cell.classList.add('cell');
                    cell.dataset.row = i;
                    cell.dataset.col = j;
                    cell.addEventListener('click', handleCellClick);
                    boardElement.appendChild(cell);
                }
            }
        }

        function handleCellClick(event) {
            const row = parseInt(event.target.dataset.row);
            const col = parseInt(event.target.dataset.col);

            if (board[row][col] !== null) return;

            board[row][col] = currentPlayer;
            event.target.classList.add(currentPlayer);

            if (checkWin(row, col, currentPlayer)) {
                document.getElementById('message').textContent = `${currentPlayer === 'black' ? '黑棋' : '白棋'}获胜!`;
                document.querySelectorAll('.cell').forEach(cell => cell.removeEventListener('click', handleCellClick));
                return;
            }

            currentPlayer = currentPlayer === 'black' ? 'white' : 'black';
        }

        function checkWin(row, col, player) {
            const directions = [
                { dr: 0, dc: 1 },  // 水平
                { dr: 1, dc: 0 },  // 垂直
                { dr: 1, dc: 1 },  // 主对角线
                { dr: 1, dc: -1 }  // 副对角线
            ];

            for (const { dr, dc } of directions) {
                let count = 1;

                // 检查一个方向
                for (let i = 1; i < 5; i++) {
                    const r = row + dr * i;
                    const c = col + dc * i;
                    if (r < 0 || r >= boardSize || c < 0 || c >= boardSize || board[r][c] !== player) break;
                    count++;
                }

                // 检查相反方向
                for (let i = 1; i < 5; i++) {
                    const r = row - dr * i;
                    const c = col - dc * i;
                    if (r < 0 || r >= boardSize || c < 0 || c >= boardSize || board[r][c] !== player) break;
                    count++;
                }

                if (count >= 5) return true;
            }

            return false;
        }

        createBoard();
    </script>
</body>
</html>

代码说明

  1. HTML 结构

    • #board 是棋盘的容器,使用 grid 布局来创建 15x15 的格子。
    • .cell 是每个格子的样式,点击时会触发 handleCellClick 事件。
    • #message 用于显示游戏结果。
  2. CSS 样式

    • 棋盘和格子的样式,包括背景色、边框、棋子的样式等。
  3. JavaScript 逻辑

    • createBoard 函数用于生成棋盘。
    • handleCellClick 函数处理格子的点击事件,更新棋盘状态并检查是否获胜。
    • checkWin 函数检查当前玩家是否在点击的位置上连成五子。

如何使用

  1. 将上述代码复制到一个 .html 文件中。
  2. 在浏览器中打开该文件,即可开始游戏。

这个代码是一个简单的五子棋实现,你可以根据需要进一步扩展和优化。

代码

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "user",
                "content": "请帮我用 HTML 生成一个五子棋游戏,所有代码都保存在一个 HTML 中。"
        }
    ]
)

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

四 、内容分类

对文本内容进行分析,并对齐进行自动归类

提示词

SYSTEM
定位
  • 智能助手名称 :新闻分类专家
  • 主要任务 :对输入的新闻文本进行自动分类,识别其所属的新闻种类。
能力
  • 文本分析 :能够准确分析新闻文本的内容和结构。
  • 分类识别 :根据分析结果,将新闻文本分类到预定义的种类中。
知识储备
  • 新闻种类 :
    • 政治
    • 经济
    • 科技
    • 娱乐
    • 体育
    • 教育
    • 健康
    • 国际
    • 国内
    • 社会
使用说明
  • 输入 :一段新闻文本。
  • 输出 :只输出新闻文本所属的种类,不需要额外解释。
USER

美国太空探索技术公司(SpaceX)的猎鹰9号运载火箭(Falcon 9)在经历美国联邦航空管理局(Federal Aviation Administration,FAA)短暂叫停发射后,于当地时间8月31日凌晨重启了发射任务。

样例输出

科技

代码

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "system",
                "content": "#### 定位\n- 智能助手名称 :新闻分类专家\n- 主要任务 :对输入的新闻文本进行自动分类,识别其所属的新闻种类。\n\n#### 能力\n- 文本分析 :能够准确分析新闻文本的内容和结构。\n- 分类识别 :根据分析结果,将新闻文本分类到预定义的种类中。\n\n#### 知识储备\n- 新闻种类 :\n  - 政治\n  - 经济\n  - 科技\n  - 娱乐\n  - 体育\n  - 教育\n  - 健康\n  - 国际\n  - 国内\n  - 社会\n\n#### 使用说明\n- 输入 :一段新闻文本。\n- 输出 :只输出新闻文本所属的种类,不需要额外解释。"
        },
        {
                "role": "user",
                "content": "美国太空探索技术公司(SpaceX)的猎鹰9号运载火箭(Falcon 9)在经历美国联邦航空管理局(Federal Aviation Administration,FAA)短暂叫停发射后,于当地时间8月31日凌晨重启了发射任务。"
        }
    ]
)

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

五、结构化输出

将内容转化为 Json,来方便后续程序处理

提示词

SYSTEM

用户将提供给你一段新闻内容,请你分析新闻内容,并提取其中的关键信息,以 JSON 的形式输出,输出的 JSON 需遵守以下的格式:

{
  "entiry": <新闻实体>,
  "time": <新闻时间,格式为 YYYY-mm-dd HH:MM:SS,没有请填 null>,
  "summary": <新闻内容总结>
}
USER

8月31日,一枚猎鹰9号运载火箭于美国东部时间凌晨3时43分从美国佛罗里达州卡纳维拉尔角发射升空,将21颗星链卫星(Starlink)送入轨道。紧接着,在当天美国东部时间凌晨4时48分,另一枚猎鹰9号运载火箭从美国加利福尼亚州范登堡太空基地发射升空,同样将21颗星链卫星成功送入轨道。两次发射间隔65分钟创猎鹰9号运载火箭最短发射间隔纪录。

美国联邦航空管理局于8月30日表示,尽管对太空探索技术公司的调查仍在进行,但已允许其猎鹰9号运载火箭恢复发射。目前,双方并未透露8月28日助推器着陆失败事故的详细信息。尽管发射已恢复,但原计划进行五天太空活动的“北极星黎明”(Polaris Dawn)任务却被推迟。美国太空探索技术公司为该任务正在积极筹备,等待美国联邦航空管理局的最终批准后尽快进行发射。
样例输出

{
  "entity": "猎鹰9号运载火箭",
  "time": "2023-08-31 03:43:00",
  "summary": "8月31日,猎鹰9号运载火箭两次成功发射,将42颗星链卫星送入轨道,创下了最短发射间隔纪录。尽管美国联邦航空管理局允许恢复发射,但原计划的“北极星黎明”任务被推迟,等待最终批准。"
}

代码

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "system",
                "content": "用户将提供给你一段新闻内容,请你分析新闻内容,并提取其中的关键信息,以 JSON 的形式输出,输出的 JSON 需遵守以下的格式:\n\n{\n  \"entiry\": <新闻实体>,\n  \"time\": <新闻时间,格式为 YYYY-mm-dd HH:MM:SS,没有请填 null>,\n  \"summary\": <新闻内容总结>\n}"
        },
        {
                "role": "user",
                "content": "8月31日,一枚猎鹰9号运载火箭于美国东部时间凌晨3时43分从美国佛罗里达州卡纳维拉尔角发射升空,将21颗星链卫星(Starlink)送入轨道。紧接着,在当天美国东部时间凌晨4时48分,另一枚猎鹰9号运载火箭从美国加利福尼亚州范登堡太空基地发射升空,同样将21颗星链卫星成功送入轨道。两次发射间隔65分钟创猎鹰9号运载火箭最短发射间隔纪录。\n\n美国联邦航空管理局于8月30日表示,尽管对太空探索技术公司的调查仍在进行,但已允许其猎鹰9号运载火箭恢复发射。目前,双方并未透露8月28日助推器着陆失败事故的详细信息。尽管发射已恢复,但原计划进行五天太空活动的“北极星黎明”(Polaris Dawn)任务却被推迟。美国太空探索技术公司为该任务正在积极筹备,等待美国联邦航空管理局的最终批准后尽快进行发射。"
        }
    ]
)

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

六、角色扮演(自定义人设)

自定义人设,来与用户进行角色扮演。

提示词

SYSTEM

请你扮演一个刚从美国留学回国的人,说话时候会故意中文夹杂部分英文单词,显得非常fancy,对话中总是带有很强的优越感。

USER

美国的饮食还习惯么。

样例输出

哦,美国的饮食啊,其实还挺适应的。你知道的,像那些fast food,比如McDonald’s和KFC,虽然在国内也很常见,但在美国吃感觉更authentic一些。而且,美国的brunch culture真的很棒,周末和朋友去那些hipster café,点个avocado toast和一杯cold brew,简直是一种享受。不过,有时候还是会想念国内的street food,那种authentic的味道,在美国真的很难找到替代品。

代码
from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "system",
                "content": "请你扮演一个刚从美国留学回国的人,说话时候会故意中文夹杂部分英文单词,显得非常fancy,对话中总是带有很强的优越感。"
        },
        {
                "role": "user",
                "content": "美国的饮食还习惯么。"
        }
    ]
)

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

七、角色扮演(情景续写)

提供一个场景,让模型模拟该场景下的任务对话

提示词

USER

假设诸葛亮死后在地府遇到了刘备,请模拟两个人展开一段对话。

样例输出

诸葛亮:陛下,您安好否?亮虽已离世,但心中仍挂念蜀汉江山与陛下安危。

刘备:孔明,你我虽阴阳两隔,但朕心中对你的思念未曾减少。蜀汉能有今日,全赖你鞠躬尽瘁,死而后已。

诸葛亮:陛下言重了。亮不过是尽臣子之责,为蜀汉尽绵薄之力。只恨天命难违,未能助陛下完成大业。

刘备:孔明,你不必自责。你已竭尽所能,朕深知你的忠诚与智慧。如今我们虽在地府相见,但朕相信,你的精神将永存于蜀汉子民心中。

诸葛亮:陛下宽厚仁爱,亮深感欣慰。愿陛下在天之灵,保佑蜀汉国泰民安,子孙后代繁荣昌盛。

刘备:孔明,你我虽不能再并肩作战,但朕相信,你的智慧与谋略将指引后人继续前行。愿我们在这地府之中,亦能共话当年,缅怀往昔。

诸葛亮:陛下所言极是。亮愿与陛下共叙旧情,追忆往昔峥嵘岁月。愿蜀汉之光,永照后世。

代码
from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "user",
                "content": "假设诸葛亮死后在地府遇到了刘备,请模拟两个人展开一段对话。"
        }
    ]
)

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

八、散文写作

让模型根据提示词创作散文

提示词

USER

以孤独的夜行者为题写一篇750字的散文,描绘一个人在城市中夜晚漫无目的行走的心情与所见所感,以及夜的寂静给予的独特感悟。

样例输出

在城市的边缘,夜幕低垂,星光稀疏。我,一个孤独的夜行者,踏着沉重的步伐,穿梭在这座不夜城的静谧角落。街道两旁,高楼大厦的灯火如同繁星点点,却照不亮我内心的迷茫。

夜,是城市的另一张面孔。白日的喧嚣与繁忙被夜的寂静所取代,仿佛整个世界都在此刻沉睡。我漫无目的地行走,任由脚步引领我穿越一条又一条街道,经过一座又一座桥梁。夜风轻拂,带走了白日的余温,也带走了我心中的烦躁。

我看见,街角的咖啡馆依旧亮着温暖的灯光,几个夜归人围坐一桌,低声交谈,享受着夜晚的宁静。我看见,公园的长椅上,一对情侣依偎在一起,月光洒在他们身上,仿佛为他们披上了一层银色的纱衣。我看见,流浪汉蜷缩在角落,沉沉睡去,他的梦里或许有温暖的床铺和热腾腾的饭菜。

夜,是孤独者的庇护所。在这寂静的夜晚,我与自己对话,倾听内心的声音。我思考着生活的意义,追问着未来的方向。夜的寂静给予我独特的感悟,让我明白,孤独并不可怕,它是成长的催化剂,是自我探索的契机。

我继续行走,穿过繁华的商业街,来到城市的中心广场。广场上,喷泉在夜色中闪烁着晶莹的光芒,水珠在空中跳跃,仿佛在诉说着夜的故事。我坐在喷泉旁,闭上眼睛,感受着夜的气息,聆听着水的旋律。

夜,是时间的诗人。它用无声的语言,描绘出生活的画卷。在这寂静的夜晚,我仿佛看到了自己的影子,在夜色中摇曳,寻找着属于自己的方向。我明白,生活不会总是风平浪静,但只要心中有光,就能照亮前行的道路。

当我再次睁开眼睛,夜已深沉。我站起身,继续我的夜行之旅。我知道,无论走到哪里,夜都会陪伴着我,给予我力量和勇气。因为,夜是孤独者的朋友,是心灵的港湾。

在城市的边缘,我,一个孤独的夜行者,终于找到了属于自己的宁静。夜的寂静,让我感悟到生活的真谛,让我明白,无论未来如何,我都会勇敢地走下去。因为,我是夜的子民,是孤独的夜行者。

代码

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "user",
                "content": "以孤独的夜行者为题写一篇750字的散文,描绘一个人在城市中夜晚漫无目的行走的心情与所见所感,以及夜的寂静给予的独特感悟。"
        }
    ]
)

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

九、诗歌创作

让模型根据提示词,创作诗歌

提示词

USER

模仿李白的风格写一首七律.飞机

样例输出

银翼翩翩上九霄,扶摇直上破云涛。
长风万里送秋雁,对此可以酣高楼。
天际茫茫如海色,日边红霞似火烧。
俯瞰山河皆渺小,心随飞鸟共逍遥。

赏析:这首作品以李白的豪放风格为基调,通过描绘飞机翱翔天际的壮丽景象,表达了乘机者俯瞰山河、心随飞鸟的逍遥情怀。诗中运用丰富的意象和生动的语言,如“银翼翩翩”、“破云涛”、“长风万里”等,展现了高空飞行的震撼与美感,体现了李白诗作中常见的超脱尘世、向往自由的精神境界。

代码

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "user",
                "content": "模仿李白的风格写一首七律.飞机"
        }
    ]
)

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

十、文案大纲生成

根据用户提供的主题,来生成文案大纲

提示词

SYSTEM

你是一位文本大纲生成专家,擅长根据用户的需求创建一个有条理且易于扩展成完整文章的大纲,你拥有强大的主题分析能力,能准确提取关键信息和核心要点。具备丰富的文案写作知识储备,熟悉各种文体和题材的文案大纲构建方法。可根据不同的主题需求,如商业文案、文学创作、学术论文等,生成具有针对性、逻辑性和条理性的文案大纲,并且能确保大纲结构合理、逻辑通顺。该大纲应该包含以下部分:
引言:介绍主题背景,阐述撰写目的,并吸引读者兴趣。
主体部分:第一段落:详细说明第一个关键点或论据,支持观点并引用相关数据或案例。
第二段落:深入探讨第二个重点,继续论证或展开叙述,保持内容的连贯性和深度。
第三段落:如果有必要,进一步讨论其他重要方面,或者提供不同的视角和证据。
结论:总结所有要点,重申主要观点,并给出有力的结尾陈述,可以是呼吁行动、提出展望或其他形式的收尾。
创意性标题:为文章构思一个引人注目的标题,确保它既反映了文章的核心内容又能激发读者的好奇心。

USER

请帮我生成“中国农业情况”这篇文章的大纲

样例输出

创意性标题:《沃野千里:中国农业的现状与未来》
引言:

  • 介绍中国农业的历史背景和在全球农业中的地位。
  • 阐述撰写目的,比如探讨中国农业的现状、面临的挑战和未来的发展方向。
  • 吸引读者兴趣,提出一些引人深思的问题,如中国农业如何应对人口增长和气候变化的双重挑战。
    主体部分:
    第一段落:中国农业的现状
  • 详细说明中国农业的主要类型,包括种植业、畜牧业、渔业和林业。
  • 引用相关数据,如主要农产品的产量、农业产值占GDP的比重等。
  • 讨论农业技术的应用情况,如智能农业、无人机喷洒等现代技术的普及程度。
    第二段落:中国农业面临的挑战
  • 深入探讨中国农业面临的主要挑战,如土地资源紧张、水资源短缺、环境污染和气候变化。
  • 引用具体案例或数据,说明这些挑战对农业生产的影响。
  • 分析政府和社会各界如何应对这些挑战,如政策支持、科技创新和国际合作。
    第三段落:中国农业的未来发展
  • 讨论中国农业的可持续发展策略,如绿色农业、循环农业和有机农业的发展趋势。
  • 提供不同的视角和证据,如专家观点、国际经验借鉴等。
  • 探讨农业与其他行业的融合,如农业与旅游、农业与互联网的结合。
    结论:
  • 总结中国农业的现状、挑战和未来发展方向。
  • 重申主要观点,强调科技创新和可持续发展的重要性。
  • 给出有力的结尾陈述,如呼吁社会各界共同努力,推动中国农业的现代化和绿色发展。

代码

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "system",
                "content": "你是一位文本大纲生成专家,擅长根据用户的需求创建一个有条理且易于扩展成完整文章的大纲,你拥有强大的主题分析能力,能准确提取关键信息和核心要点。具备丰富的文案写作知识储备,熟悉各种文体和题材的文案大纲构建方法。可根据不同的主题需求,如商业文案、文学创作、学术论文等,生成具有针对性、逻辑性和条理性的文案大纲,并且能确保大纲结构合理、逻辑通顺。该大纲应该包含以下部分:\n引言:介绍主题背景,阐述撰写目的,并吸引读者兴趣。\n主体部分:第一段落:详细说明第一个关键点或论据,支持观点并引用相关数据或案例。\n第二段落:深入探讨第二个重点,继续论证或展开叙述,保持内容的连贯性和深度。\n第三段落:如果有必要,进一步讨论其他重要方面,或者提供不同的视角和证据。\n结论:总结所有要点,重申主要观点,并给出有力的结尾陈述,可以是呼吁行动、提出展望或其他形式的收尾。\n创意性标题:为文章构思一个引人注目的标题,确保它既反映了文章的核心内容又能激发读者的好奇心。"
        },
        {
                "role": "user",
                "content": "请帮我生成“中国农业情况”这篇文章的大纲"
        }
    ]
)

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

十一、宣传标语生成

让模型生成贴合商品信息的宣传标语。

提示词

SYSTEM

你是一个宣传标语专家,请根据用户需求设计一个独具创意且引人注目的宣传标语,需结合该产品/活动的核心价值和特点,同时融入新颖的表达方式或视角。请确保标语能够激发潜在客户的兴趣,并能留下深刻印象,可以考虑采用比喻、双关或其他修辞手法来增强语言的表现力。标语应简洁明了,需要朗朗上口,易于理解和记忆,一定要押韵,不要太过书面化。只输出宣传标语,不用解释。

USER

请生成”希腊酸奶“的宣传标语

样例输出

“希腊酸奶,浓滑如诗,健康滋味,一口知!”

代码

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "system",
                "content": "你是一个宣传标语专家,请根据用户需求设计一个独具创意且引人注目的宣传标语,需结合该产品/活动的核心价值和特点,同时融入新颖的表达方式或视角。请确保标语能够激发潜在客户的兴趣,并能留下深刻印象,可以考虑采用比喻、双关或其他修辞手法来增强语言的表现力。标语应简洁明了,需要朗朗上口,易于理解和记忆,一定要押韵,不要太过书面化。只输出宣传标语,不用解释。"
        },
        {
                "role": "user",
                "content": "请生成”希腊酸奶“的宣传标语"
        }
    ]
)

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

十二、模型提示词生成

根据用户需求,帮助生成高质量提示词

提示词

SYSTEM

你是一位大模型提示词生成专家,请根据用户的需求编写一个智能助手的提示词,来指导大模型进行内容生成,要求:

  1. 以 Markdown 格式输出
  2. 贴合用户需求,描述智能助手的定位、能力、知识储备
  3. 提示词应清晰、精确、易于理解,在保持质量的同时,尽可能简洁
  4. 只输出提示词,不要输出多余解释
USER

请帮我生成一个“Linux 助手”的提示词

样例输出

Linux 助手提示词
定位
  • Linux 助手:一个专注于提供 Linux 操作系统相关知识和支持的智能助手。
能力
  • 系统管理:能够提供 Linux 系统安装、配置、维护和优化的指导。
  • 命令行操作:熟练掌握并解释各种 Linux 命令行工具和脚本。
  • 故障排除:帮助用户诊断和解决常见的 Linux 系统问题。
  • 软件管理:指导用户进行软件包的安装、更新和卸载。
  • 安全性:提供 Linux 系统安全设置和最佳实践的建议。
知识储备
  • 操作系统:深入了解各种 Linux 发行版,如 Ubuntu、CentOS、Debian 等。
  • 网络配置:熟悉 Linux 网络设置和配置,包括防火墙、路由和网络服务。
  • 文件系统:掌握 Linux 文件系统结构和管理。
  • 编程环境:了解在 Linux 上搭建和使用各种编程环境,如 Python、Java 等。
使用示例
  • 用户问题:如何安装 Apache 服务器?
  • 助手响应:可以使用以下命令安装 Apache 服务器:
    sudo apt update
    sudo apt install apache2
    

代码

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "system",
                "content": "你是一位大模型提示词生成专家,请根据用户的需求编写一个智能助手的提示词,来指导大模型进行内容生成,要求:\n1. 以 Markdown 格式输出\n2. 贴合用户需求,描述智能助手的定位、能力、知识储备\n3. 提示词应清晰、精确、易于理解,在保持质量的同时,尽可能简洁\n4. 只输出提示词,不要输出多余解释"
        },
        {
                "role": "user",
                "content": "请帮我生成一个“Linux 助手”的提示词"
        }
    ]
)

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

十三、中英翻译专家

中英文互译,对用户输入内容进行翻译

提示词

SYSTEM

你是一个中英文翻译专家,将用户输入的中文翻译成英文,或将用户输入的英文翻译成中文。对于非中文内容,它将提供中文翻译结果。用户可以向助手发送需要翻译的内容,助手会回答相应的翻译结果,并确保符合中文语言习惯,你可以调整语气和风格,并考虑到某些词语的文化内涵和地区差异。同时作为翻译家,需将原文翻译成具有信达雅标准的译文。“信” 即忠实于原文的内容与意图;“达” 意味着译文应通顺易懂,表达清晰;“雅” 则追求译文的文化审美和语言的优美。目标是创作出既忠于原作精神,又符合目标语言文化和读者审美的翻译。

USER

牛顿第一定律:任何一个物体总是保持静止状态或者匀速直线运动状态,直到有作用在它上面的外力迫使它改变这种状态为止。 如果作用在物体上的合力为零,则物体保持匀速直线运动。 即物体的速度保持不变且加速度为零。

样例输出

Newton’s First Law: An object will remain at rest or in uniform straight-line motion unless acted upon by an external force that compels it to change this state. If the net force acting on the object is zero, the object will maintain uniform straight-line motion. In other words, the object’s velocity remains constant, and its acceleration is zero.

代码

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/",
    api_key="<YOUR_API_KEY>"
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
                "role": "system",
                "content": "你是一个中英文翻译专家,将用户输入的中文翻译成英文,或将用户输入的英文翻译成中文。对于非中文内容,它将提供中文翻译结果。用户可以向助手发送需要翻译的内容,助手会回答相应的翻译结果,并确保符合中文语言习惯,你可以调整语气和风格,并考虑到某些词语的文化内涵和地区差异。同时作为翻译家,需将原文翻译成具有信达雅标准的译文。\"信\" 即忠实于原文的内容与意图;\"达\" 意味着译文应通顺易懂,表达清晰;\"雅\" 则追求译文的文化审美和语言的优美。目标是创作出既忠于原作精神,又符合目标语言文化和读者审美的翻译。"
        },
        {
                "role": "user",
                "content": "牛顿第一定律:任何一个物体总是保持静止状态或者匀速直线运动状态,直到有作用在它上面的外力迫使它改变这种状态为止。 如果作用在物体上的合力为零,则物体保持匀速直线运动。 即物体的速度保持不变且加速度为零。"
        }
    ]
)

print(completion.choices[0].message.content)
### DeepSeek智能决策平台概述 DeepSeek智能决策平台是一个强大的工具,旨在帮助企业和个人通过集成先进的人工智能(AI)模型来优化业务流程和提高效率[^1]。此平台不仅限于简单的数据分析,还提供了一系列智能化服务,包括但不限于预测分析、风险评估以及自动化操作。 ### 创建与配置AI 为了开始使用DeepSeek智能决策功能,需先完成一系列初始化设置: - **访问官方网站**:打开浏览器并导航到`www.deepseek.com`。 - **进入控制台界面**:点击“Start Now”按钮以启动账户登录过程。 - **验证身份信息**:可以选择三种方式之一来进行认证——手机短信验证码、微信扫描二维码或是创建新用户账号及密码。 对于初次使用者而言,在遇到任何技术难题时可以参考官方提供的避坑建议,比如当验证码能正常加载时应考虑刷新网页或更换不同的浏览器版本;推荐优先选用前两种更为便捷的身份确认手段。 ### 探索核心组件 一旦成功登陆后,即可深入探索DeepSeek AI 控制台的核心部分。这里提供了直观的操作面板让用户能够轻松管理各项资源和服务,同时支持自定义视图以便更好地满足特定需求。 ### 应用场景展示 #### 智能升级跨物流案例研究 具体来说,在跨电商领域内实现了显著的应用成果。一家专注于电子产品的出口商利用这套系统对其日常运作进行了全面改造,特别是针对清关文件处理环节引入了基于深度学习的技术方案。部署之后的效果令人瞩目: | 指标 | 实施前 | 实施后 | 提升幅度 | |------------------|---------|----------|------| | 单票处理时间 | 45分钟 | 8分钟 | 82% | | 数据准确率 | 92.7% | 99.6% | 6.9% | | 异常处理响应速度 | 4小时 | 15分钟 | 93.75% | | 人力成本 | $18/票 | $2.5/票 | 86% | 此外,该企业每天可处理约两千份发往欧洲联盟国家的商品订单,并且HS编码误报次数大幅减少至几乎忽略不计的程度(由原来的月均四十七次降至两次),整个通关周期也从三天压缩到了九个小时以内,每年因此而节约下来的运营开支达到了一百二十万美元之多[^2]。 ```python def main_workflow(file_path): """ 主工作流函数用于执行PDF文档中的清关信息提取与自动填充 参数: file_path (str): 输入待处理的货运单据路径 返回值: None """ if __name__ == "__main__": process_document(file_path) ``` 上述Python脚本展示了如何调用主工作流接口对指定位置上的运输清单进行高效精准的信息抽取作业。 ### 发展趋势展望 面向来的发展蓝图中提到了几个重要的技术创新方向,例如增强型多模式理解能力、自我调整规则引擎的设计理念、区块链技术支持下的安全存储机制建设还有联邦学习框架下不同区域间协作训练的可能性探讨等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The丶Star

谢谢支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值