《DEEPSEEK原生應用與智能體開發實踐 圖書》【摘要 書評 試讀】- 京東圖書
為了深入探索DeepSeek提示詞樣例的豐富內涵,充分挖掘其背后潛藏的無限可能,同時致力于為用戶打造更為卓越、便捷且高效的使用體驗,DeepSeek官網的API文檔匠心獨運地為用戶呈上了一個專業且全面的專用提示庫,如圖3-1所示。
圖3-1? DeepSeek提示庫
這個提示庫就像一座知識的寶庫,匯聚了眾多經過精心設計和實踐驗證的提示詞樣例。每一個提示詞都像是一把精準的鑰匙,能夠開啟特定任務或場景下的智能交互之門。無論是進行復雜的邏輯推理、生成富有創意的文本內容,還是處理煩瑣的數據分析任務,用戶都能在這個提示庫中找到與之匹配的優質提示詞,從而輕松引導DeepSeek模型發揮出最佳性能。
提示庫的設計充分考慮了不同用戶群體的需求和使用習慣。對于初學者而言,庫中配備了詳細的基礎提示詞示例和清晰的使用說明,就像是一位耐心的導師,手把手地引導他們熟悉DeepSeek模型的基本操作和提示詞的使用方法,幫助他們快速上手,邁出探索人工智能世界的第一步。而對于有一定經驗的進階用戶,提示庫則提供了更加高級和復雜的提示詞組合,滿足他們在專業領域深入研究和創新應用的需求,助力他們突破技術瓶頸,實現更高級別的智能交互。
DeepSeek的提示庫提供了多個模板對使用DeepSeek進行對話優化。DeepSeek的提示庫就像一座蘊藏豐富智慧的寶藏,精心為用戶提供了多個極具實用價值的模板,旨在全方位優化使用DeepSeek進行對話的體驗。這些模板猶如一把把精準的鑰匙,能夠開啟不同場景下的智能交互之門,讓用戶在與DeepSeek的交流中更加得心應手。下面展示的表格詳細呈現了DeepSeek提示庫中的部分模板信息:
- 代碼改寫:代碼進行修改,來實現糾錯、注釋、調優等。
- 代碼解釋:代碼進行解釋,來幫助理解代碼內容。
- 代碼生成:讓模型生成一段完成特定功能的代碼。
- 散文寫作:讓模型根據提示詞創作散文。
- 詩歌創作:讓模型根據提示詞創作詩歌。
在具體使用這些模板時,我們可以緊密仿照DeepSeek給出的示例進行操作,從而輕松實現預期的結果輸出。以代碼改寫模板為例,當我們有一段存在語法錯誤或性能不佳的代碼時,只需按照示例的格式輸入相應的提示,DeepSeek便能迅速理解我們的需求,對代碼進行精準的修改和優化。它可能會調整代碼的結構、替換不合適的算法,或者添加必要的注釋,使代碼更加規范、高效。
再比如代碼生成模板,當我們需要開發一個小型的工具或實現某個特定的功能,但又不熟悉相關的編程語言和框架時,就可以借助這個模板。我們只需清晰地描述所需功能的具體要求和預期效果,DeepSeek就能生成一段符合要求的代碼。這段代碼可能包含了完整的函數定義、變量聲明和邏輯流程,我們只需將其復制到開發環境中進行調試和完善即可。下面是一個簡單的示例,展示了如何使用DeepSeek完成代碼輸出,代碼如下所示:
from openai import OpenAIclient = 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. 在瀏覽器中打開該文件,即可開始游戲。
用瀏覽器打開,玩一下: