Deepseek本地部署適合的場景是數(shù)據(jù)不能公開,需要建立私有知識庫,代替自己書寫論文專利或者其他有保密要求的文檔的情況;或者斷網(wǎng)環(huán)境不能訪問外部大模型工具,在內(nèi)網(wǎng)使用大模型;亦或者是調(diào)教電子魅魔(嘿嘿)。
目前網(wǎng)上的教程只教到如何部署deepseek模型,但這個ai工具不投喂素材學習,就如同一個沒有經(jīng)驗的神童一樣,空有智力沒有知識。接下來除了deepseek部署外,我還會介紹我如何投喂文檔素材進行學習、聯(lián)網(wǎng)搜索以及如何使用python編程交互。都沒什么難度,無論學沒學過計算機都可以實現(xiàn)。
這個網(wǎng)上教學很多,我簡單一講,基本都是先下載安裝ollama,官網(wǎng)地址:
https://ollama.com/
在安裝好后,先啟動ollama,然后在命令提示符界面或者是windows powershell界面輸入想安裝的模型版本
然后選擇模型大小,標簽“8b”表示該模型大約有80億個參數(shù),性能比較好的臺式電腦才可以選,如果電腦比較差,可以選擇“1.5b”或者“7b”,對電腦性能非常自信可以選擇“14b”“32b”,至于“70b”“671b”,家用電腦還是不要嘗試了。
輸入 ollama run deepseek-r1:8b
下載安裝模型。
下載安裝過程開始很快最后網(wǎng)速非常慢,可以關(guān)閉界面重新打開再輸入一次ollama run deepseek-r1:8b
,進度條滿后就可以了
啟動后默認使用cpu運行模型,如需使用顯卡加速,只能用Nvidia GPU,AMD和Intel顯卡不行,Nvidia GPU需要安裝CUDA,這部分網(wǎng)上自己搜教程
但是此時只有簡單對話的功能,很多人到此大失所望,就這?
工具 AnythingLLM 下載安裝,也是毫無難度,家用windows電腦選擇windows x64版本安裝即可
https://anythingllm.com/
安裝后打開即可使用
點擊這里
點擊這里上傳素材,從PDF、TXT到Word、Excel,幾乎所有常見的文檔格式都支持。
上傳后,選中我們要投喂的素材,進行投喂學習
稍等一會,它就把這些內(nèi)容讀完掌握了,下圖即學習完成
使用,回答前它會查閱學習過的資料,并且在設置里可以啟用聯(lián)網(wǎng)搜索
這部分需要有簡單的python基礎(chǔ),這里只提供最簡單的示例,有復雜需求可以自己去查看github說明。
由于微信訂閱號查看不方便,直接發(fā)代碼筆記鏈接在下面方便復制
https://www.yuque.com/wangzilong-4omf5/om3ugu/rxx6h25l0g1cgykp?#《python與Deepseek模型交互》
核心方法:
import requests
import json
# 項目參數(shù)
API_BASE_URL = 'http://localhost:11434'
API_PATH = '/api/generate'
def get_next_chapter(prompt):
'''向 Ollama 模型發(fā)送請求并獲取內(nèi)容'''
model_name = 'deepseek-r1:8b' # 替換為你使用的模型名稱
data = {
'model': model_name,
'prompt': prompt,
'stream': False
}
response = requests.post(
f'{API_BASE_URL}{API_PATH}',
json=data
)
if response.status_code == 200:
# 使用response.json()來解析JSON數(shù)據(jù)
response_data = response.json()
# 從解析后的字典中獲取'response'字段的值
return response_data['response']
else:
raise ValueError(f'請求失敗,狀態(tài)碼:{response.status_code}')
用上方方法即可完成交互,深夜12點,明天還要早起上班,草草完成一個小Demo,實現(xiàn)了自動生成連貫章節(jié)文本并保存到txt文件中的功能:
import requests
import json
from pathlib import Path
def main():
# 項目路徑和文件夾創(chuàng)建
project_dir = Path('D:\\novel')
if not project_dir.exists():
project_dir.mkdir()
novel_path = project_dir / 'novel.txt'
if not novel_path.exists():
novel_path.touch()
# 存在與否判斷(如果不存在則創(chuàng)建)
open(novel_path, 'a').close()
# 項目參數(shù)
API_BASE_URL = 'http://localhost:11434'
API_PATH = '/api/generate'
prompt_all=''
def get_next_chapter(prompt):
'''向 Ollama 模型發(fā)送請求并獲取下一個章節(jié)內(nèi)容'''
model_name = 'deepseek-r1:8b' # 替換為你使用的模型名稱
data = {
'model': model_name,
'prompt': prompt,
'stream': False
}
response = requests.post(
f'{API_BASE_URL}{API_PATH}',
json=data
)
if response.status_code == 200:
# 使用response.json()來解析JSON數(shù)據(jù)
response_data = response.json()
# 從解析后的字典中獲取'response'字段的值
return response_data['response']
else:
raise ValueError(f'請求失敗,狀態(tài)碼:{response.status_code}')
def generate_chapter(chapter_id):
'''生成指定章節(jié)內(nèi)容'''
prompt = f'小說之前的內(nèi)容: {prompt_all} ,生成小說下一章'
return get_next_chapter(prompt)
tmp = (f'你根據(jù)我的指令生成小說,以此為故事的開頭,寫一篇西方玄幻懸疑小說,融匯克蘇魯風格、西方魔幻元素、第一次工業(yè)革命時代風情和蒸汽朋克情懷,篇幅30章:'
f'蒸汽與機械的浪潮中,誰能觸及非凡。歷史和黑暗的迷霧里,又是誰在耳語。我從詭秘中醒來,睜眼看見這個世界:'
f'槍械,大炮,巨艦,飛空艇,差分機;魔藥,占卜,詛咒,倒吊人,封印物……光明依舊照耀,神秘從未遠離,這是一段“愚者”的傳說。'
f'黑鐵紀元,七位正統(tǒng)神靈與四大國統(tǒng)治著北大陸。蒸汽與機械的浪潮中,工業(yè)化社會迅速發(fā)展成形,而在看似平靜繁榮的表面下,則是一個神秘扭曲,乃至瘋狂的非凡世界。')
firstprompt=get_next_chapter(tmp)
prompt_all=prompt_all+firstprompt
print(firstprompt)
with open(novel_path, 'a', encoding='utf-8') as f:
f.write(f'\n\n{firstprompt}\n\n')
# 與你之前的代碼結(jié)合使用,根據(jù)需要調(diào)用生成方法
current_chapter = 1 # 初始化章節(jié)計數(shù)器
while True:
print(f'正在生成第{current_chapter}章...')
chapter_content = generate_chapter(current_chapter)
prompt_all = prompt_all + chapter_content
print(chapter_content)
# 將內(nèi)容追加到文件中
with open(novel_path, 'a', encoding='utf-8') as f:
f.write(f'\n\n[第{current_chapter}章]\n{chapter_content}\n\n')
current_chapter += 1
if current_chapter > 30:
break
print('\n小說生成完成!')
if __name__ == '__main__':
main()