DeepSeek中的提示库及其用法示例

发布于:2025-06-24 ⋅ 阅读:(14) ⋅ 点赞:(0)

《DEEPSEEK原生应用与智能体开发实践 图书》【摘要 书评 试读】- 京东图书

为了深入探索DeepSeek提示词样例的丰富内涵,充分挖掘其背后潜藏的无限可能,同时致力于为用户打造更为卓越、便捷且高效的使用体验,DeepSeek官网的API文档匠心独运地为用户呈上了一个专业且全面的专用提示库,如图3-1所示。

图3-1  DeepSeek提示库

这个提示库就像一座知识的宝库,汇聚了众多经过精心设计和实践验证的提示词样例。每一个提示词都像是一把精准的钥匙,能够开启特定任务或场景下的智能交互之门。无论是进行复杂的逻辑推理、生成富有创意的文本内容,还是处理烦琐的数据分析任务,用户都能在这个提示库中找到与之匹配的优质提示词,从而轻松引导DeepSeek模型发挥出最佳性能。

提示库的设计充分考虑了不同用户群体的需求和使用习惯。对于初学者而言,库中配备了详细的基础提示词示例和清晰的使用说明,就像是一位耐心的导师,手把手地引导他们熟悉DeepSeek模型的基本操作和提示词的使用方法,帮助他们快速上手,迈出探索人工智能世界的第一步。而对于有一定经验的进阶用户,提示库则提供了更加高级和复杂的提示词组合,满足他们在专业领域深入研究和创新应用的需求,助力他们突破技术瓶颈,实现更高级别的智能交互。

3.2.1  DeepSeek中提示库介绍与基本使用

DeepSeek的提示库提供了多个模板对使用DeepSeek进行对话优化。DeepSeek的提示库就像一座蕴藏丰富智慧的宝藏,精心为用户提供了多个极具实用价值的模板,旨在全方位优化使用DeepSeek进行对话的体验。这些模板犹如一把把精准的钥匙,能够开启不同场景下的智能交互之门,让用户在与DeepSeek的交流中更加得心应手。下面展示的表格详细呈现了DeepSeek提示库中的部分模板信息:

  • 代码改写:代码进行修改,来实现纠错、注释、调优等。
  • 代码解释:代码进行解释,来帮助理解代码内容。
  • 代码生成:让模型生成一段完成特定功能的代码。
  • 散文写作:让模型根据提示词创作散文。
  • 诗歌创作:让模型根据提示词创作诗歌。

在具体使用这些模板时,我们可以紧密仿照DeepSeek给出的示例进行操作,从而轻松实现预期的结果输出。以代码改写模板为例,当我们有一段存在语法错误或性能不佳的代码时,只需按照示例的格式输入相应的提示,DeepSeek便能迅速理解我们的需求,对代码进行精准的修改和优化。它可能会调整代码的结构、替换不合适的算法,或者添加必要的注释,使代码更加规范、高效。

再比如代码生成模板,当我们需要开发一个小型的工具或实现某个特定的功能,但又不熟悉相关的编程语言和框架时,就可以借助这个模板。我们只需清晰地描述所需功能的具体要求和预期效果,DeepSeek就能生成一段符合要求的代码。这段代码可能包含了完整的函数定义、变量声明和逻辑流程,我们只需将其复制到开发环境中进行调试和完善即可。下面是一个简单的示例,展示了如何使用DeepSeek完成代码输出,代码如下所示:

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)

输出结果如下所示: 

我把代码复制出来,如下:

当然!下面是一个简单的五子棋游戏的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' 布局来创建15×15的格子。
   - '.cell'是每个格子的样式,点击时会触发 'handleCellClick' 事件。
   - '#message' 用于显示游戏结果。

2. **CSS 样式**:
   - 棋盘和格子的样式,包括背景色、边框、棋子的样式等。

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

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

用浏览器打开,玩一下:


网站公告

今日签到

点亮在社区的每一天
去签到