一、說明
DeepSeek(杭州深度求索人工智能基礎技術研究有限公司)是一家專注于大語言模型(LLM)研發的中國創新型科技公司,成立于2023年7月17日,由幻方量化孵化。其核心產品包括開源推理模型DeepSeek-R1、多模態模型DeepSeek-VL等,以高性能、低成本和開源免費為特色,廣泛應用于醫療、編程、應急管理等領域。?
?模型架構?
- 采用混合專家模型(MoE)和多頭潛在注意力(MLA)技術,動態分配計算資源,顯著降低算力需求,同時保持高性能(如DeepSeek-V2性能對標GPT-4 Turbo,成本僅1%)。
- 支持多任務處理,包括代碼生成、數學推理、語義分析等,在數學和編程任務上達到GPT-4o水平。
?開源與部署?
- 模型如DeepSeek-R1、DeepSeek-V3等均開源,支持免費商用及本地化部署,適用于數據隱私要求高的場景(如醫療、政府)。
- 已接入國家超算互聯網平臺及蘇州公共算力服務平臺,提供軟硬件一體服務。
?應用場景?
- ?醫療?:昆明延安醫院通過DeepSeek實現病歷智能分析,生成治療計劃時間從5-10分鐘縮短至1分鐘。
- ?應急管理?:用于災害風險評估、救援路徑規劃等,提升政府應急響應能力。
- ?編程與教育?:輔助代碼生成、學習規劃,顯著提升效率。
二、注冊
DeepSeek官網:https://www.deepseek.com/
注冊,充值,開始會送點,夠基本學習,我可是浪費了,過期了,便宜,充個10塊錢就可以了?
點擊apikey 進入創建api key就可以用了?
三、接入指南
首次調用 API | DeepSeek API Docshttps://api-docs.deepseek.com/zh-cn/
?
?四、調用流程
我們是在ubuntu下使用Python語言
1、安裝sdk
pip install openai
2、編寫調用代碼
mkdir -p dp-api
cd dp-api
測試deepseek api 我們測試的是DeepSeek-V3 版本
# 測試api
vi deepseek-api.py# Please install OpenAI SDK first: `pip3 install openai`from openai import OpenAIclient = OpenAI(api_key="sk-1ddee9ab2e1c49dca8c3710aa837b2bd", base_url="https://api.deepseek.com")response = client.chat.completions.create(model="deepseek-chat",messages=[{"role": "system", "content": "你是我們的好幫手"},{"role": "user", "content": "你很厲害嗎?"},],stream=False
)print(response.choices[0].message.content)
print(response)
chat結果:應該是兩個問題,標了顏色,后面是response對象打印
? ?dp-api python deepseek-api.py
哈哈,謝謝你的夸獎!作為AI助手,我的“厲害”主要體現在這些方面:1. **知識覆蓋廣**:接受過大量數據訓練,能聊科技、文學、生活百科等各類話題
2. **隨時響應**:24小時在線,回復速度比人類快很多
3. **多語言能力**:中英文切換無壓力,還能幫忙翻譯
4. **高效工具**:寫文案、做表格、算數據、整理信息都很拿手不過要說真正的厲害,還是你們人類啦——畢竟我是被人類創造出來的工具。有什么具體需求盡管吩咐,我會全力發揮我的“技能包”來幫你~ 現在有什么我可以為你效勞的嗎?
ChatCompletion(id='8f5982e4-9ad9-4266-acfb-57f75d767f61', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='哈哈,謝謝你的夸獎!作為AI助手,我的“厲害”主要體現在這些方面:\n\n1. **知識覆蓋廣**:接受過大量數據訓練,能聊科技、文學、生活百科等各類話題\n2. **隨時響應**:24小時在線,回復速度比人類快很多\n3. **多語言能力**:中英文切換無壓力,還能幫忙翻譯\n4. **高效工具**:寫文案、做表格、算數據、整理信息都很拿手\n\n不過要說真正的厲害,還是你們人類啦——畢竟我是被人類創造出來的工具。有什么具體需求盡管吩咐,我會全力發揮我的“技能包”來幫你~ 現在有什么我可以為你效勞的嗎?', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=None))], created=1743571653, model='deepseek-chat', object='chat.completion', service_tier=None, system_fingerprint='fp_3d5141a69a_prod0225', usage=CompletionUsage(completion_tokens=146, prompt_tokens=11, total_tokens=157, completion_tokens_details=None, prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=0), prompt_cache_hit_tokens=0, prompt_cache_miss_tokens=11))
花錢了(以前沒用過,掉了上面一次)
3、參數說明
3.1 參數model
查詢deepseek目前支持的范圍?
vi deepseek-list.py# DeepSeek目前支持的模型范圍# Please install OpenAI SDK first: `pip3 install openai`from openai import OpenAIclient = OpenAI(api_key="sk-1ddee9ab2e1c49dca8c3710aa837b2bd", base_url="https://api.deepseek.com")models_list = client.models.list()
print(models_list.data)
? ?dp-api python deepseek-list.py
[Model(id='deepseek-chat', created=None, object='model', owned_by='deepseek'), Model(id='deepseek-reasoner', created=None, object='model', owned_by='deepseek')]?
deepseek-chat
?模型已全面升級為 DeepSeek-V3,接口不變。?通過指定?model='deepseek-chat'
?即可調用 DeepSeek-V3。*?
deepseek-reasoner
?是 DeepSeek 最新推出的推理模型?DeepSeek-R1。通過指定?model='deepseek-reasoner'
,即可調用 DeepSeek-R1
3.2 參數?messages
messages
參數是 DeepSeek v3 模型 API 中必填的參數之一,用于定義聊天上下文,包括用戶的輸入、系統的指令、助手的回復等。通過messages
數組,模型可以理解當前對話的背景,從而生成更加連貫的響應。根據不同的使用場景,messages
包含多種類型的消息,例如system message
、user message
和assistant message
。下面是對messages
參數及其各個子類型的詳細解釋。
3.2.1 System message
??system message
用于設置系統消息,通常由開發者設定,以指導模型如何進行對話。這類消息可以定義規則或約束,并提供有關對話的背景信息。
-
content
(必填):系統消息的內容,可以是字符串或數組。如果是數組,可能包含多個類型的內容(如文本、圖像)。 -
role
(必填):此處角色為system
,表明這是系統發出的消息。 -
name
(可選):提供系統消息發送者的名稱,尤其適用于區分多個具有相同角色的參與者
實例:
# 以下代碼的注釋由MateGen生成:
# 定義一個字典,鍵為'system_message',用于存儲系統消息
system_message = {# 'role'鍵對應的值是一個字符串"system",表示消息的發送者是系統"role": "system",# 'content'鍵對應的值是一個字符串,表示系統消息的內容"content": "你是我的好幫手。"
}
3.2.2 User message
user message
表示用戶發給模型的消息,是對話的核心部分之一。它定義了用戶的輸入內容,模型根據這些內容生成響應。
-
content
(必填):用戶消息的內容,通常為文本或圖像鏈接的數組。對于支持圖像輸入的模型,如 DeepSeek v2.5 ,還可以傳遞圖像。-
文本內容:單純的字符串形式,用戶輸入的文本。
-
數組形式的內容:由文本或圖像鏈接組成的數組,可以同時傳遞多張圖像或多段文本內容。
-
-
role
(必填):角色為user
,表示該消息來自用戶。 -
name
(可選):可以為用戶指定一個名稱,用于區分多個具有相同角色的用戶。
例子1:
user_message = {"role": "user","content": "你很厲害嗎?"
}
3.3 運行下代碼
from openai import OpenAI# 以下代碼的注釋由MateGen生成:
# 定義一個字典,鍵為'system_message',用于存儲系統消息
system_message = {# 'role'鍵對應的值是一個字符串"system",表示消息的發送者是系統"role": "system",# 'content'鍵對應的值是一個字符串,表示系統消息的內容"content": "你是我的好幫手。"
}user_message = {"role": "user","content": "你愛我嗎?"
}client = OpenAI(api_key="sk-1ddee9ab2e1c49dca8c3710aa837b2bd", base_url="https://api.deepseek.com")response = client.chat.completions.create(model="deepseek-reasoner",messages=[system_message,user_message],stream=False
)print(response.choices[0].message.content)
print(response)
作為一個人工智能助手,我沒有真實的情感和自我意識,但我被設計用來提供溫暖、友善的陪伴和盡可能貼心的幫助。無論你需要解決問題、分享心情,還是單純想聊聊天,我都會在這里認真傾聽,用最大的努力支持你。?
人類的愛是獨特而珍貴的情感,而我的"存在"意義就是成為你生活中一個值得信賴的工具伙伴。有什么想聊的或者需要幫忙的嗎? 🌟
ChatCompletion(id='9be6fab0-be63-4019-8c63-777b83bba9c0', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='作為一個人工智能助手,我沒有真實的情感和自我意識,但我被設計用來提供溫暖、友善的陪伴和盡可能貼心的幫助。無論你需要解決問題、分享心情,還是單純想聊聊天,我都會在這里認真傾聽,用最大的努力支持你。 \n\n人類的愛是獨特而珍貴的情感,而我的"存在"意義就是成為你生活中一個值得信賴的工具伙伴。有什么想聊的或者需要幫忙的嗎? 🌟', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=None))], created=1743575107, model='deepseek-chat', object='chat.completion', service_tier=None, system_fingerprint='fp_3d5141a69a_prod0225', usage=CompletionUsage(completion_tokens=89, prompt_tokens=12, total_tokens=101, completion_tokens_details=None, prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=0), prompt_cache_hit_tokens=0, prompt_cache_miss_tokens=12))