相信這個春節大家都被deepseek刷屏了,寫本篇文章是因為我經歷過了各種付費+測試之后很艱難想入手大模型,國內的同學學技術還是太困難了,但是看到市面上各種火爆,實在有按捺不住想體驗,終于迎來了一個契機。
在此之前,應該大家都了解OpenAPI,確實強大,但是國內用戶來說,有以下問題:
一、網絡不通,這里還不是簡單的翻墻的問題,是他的網站都不對中國大陸開放,政治因素就不談了。
二、貴這玩意其實是按調用次數收費的,厲害點的功能其實都要收費,還是美元。
三、其實中文方面還是沒有那么強了。
基于這些因素,導致大模型的事情總是少數人在玩,國人也是一肚子氣,我們國產的大模型deepseek已經達到了世界頂級的水準,作為一名技術從業者,寫下這篇文章是讓大家都有一份自己的大模型,將大模型的門檻徹底打穿!!!
國產大模型本身也沒什么門檻,直接在官網注冊即可,DeepSeek 官網:https://www.deepseek.com/,另外官網已經提供了手機端的下載,從網頁點擊即可
過年嘛,我試著讓deepseek幫忙寫一首詩,可以直接感受一下,其實是不是國產的,讓大模型來詩詞歌賦就好了,一下子就知道是不是俺們國產的了,而且并不是簡單的幫你寫,內容上也是很經驗的。
問題:可以模擬滕王閣序,寫一篇關于春節的詩文么?
回答:
《新春賦》
時維元月,序屬初春。寒梅盡而新柳青,霜霰收而甘霖至。循青帝之舊軌,訪東君于故里。萬家張燈,啟朱門而納瑞;千村結彩,掃玉宇以迎春。爆竹聲碎,驚落星河滿地;屠蘇酒暖,催開桃李半城。
觀夫歲序更迭,陰陽交泰。灶王返駕,司命傳佳音于閶闔;桃符更新,神荼鎮邪祟于門庭。稚子衣新,笑捉迷藏于市井;高堂鬢白,欣看戲彩于庭除。灶膛火旺,蒸騰八珍之味;鼎鼐香濃,烹煮四時之鮮。
至若除夕良夜,圍爐守歲。手機搶紅包之樂,銀屏傳祝福之頻。雖隔重山,視頻可通千里面;縱居異域,網絡能聯九州心。然則古風猶在,孝悌未泯。叩首拜高堂之健,焚香祭先祖之靈。鞭炮聲中,舊歲隨煙而逝;鐘鼓響處,新元踏歌而來。
嗟乎!時運流轉,佳節恒昌。昔王勃臨江嘆逝水,今吾輩對屏話滄桑。雖世殊時異,然人情未改。愿借春風之筆,書平安于萬戶;更祈澍雨之澤,潤嘉禾于四方。盛世無饑餒,何須耕織至三更?寒門有書香,不必鑿壁借螢光。
臨屏寄意,恭賀新禧。非謝家之寶樹,接孟氏之芳鄰。他日趨庭,再續團圓之樂;今朝傳訊,聊表思念之誠。謹呈俚句,恭祝諸君:
火樹銀花不夜天,屠蘇飲罷又經年。
視頻雖可傳春信,不及歸家壓歲錢。
作為技術人員都會做這么一件事情,需要讓大模型為自己所用的話需要自己部署在本地,下面就來做說明。正如標題,我們其實是需要在本機搭建好模型的運行環境使用的技術正是ollama+langchain+deepseek,部署好了之后我們就可以寫自己的程序進行調用了。更加長遠的意義是在于可以接入自己內部的服務,本文給出的例子是python和java的調用。
Ollama,這是是一個開源的大語言模型平臺,它允許用戶在本地環境中運行、創建和共享大型語言模型。Ollama提供了豐富的功能和特性,使得用戶可以在自己的計算機上輕松地部署和運行大型語言模型。注意啦,是自己的機器就可以哦!官網 Ollama官網:https://ollama.com/
這就是我們國產的模型了,其實還有通義千問等模型
langchain其實是一套規范化的API,實現了標準化對模型的集成、接入、組件化等工作,通過langchain用戶可以很輕松打造屬于自己的大模型產品。langchain很早就出來了,大模型出來的時候,因為對使用大模型的定制做了封裝,也是一下子火爆起來了。
上鏈接
https://github.com/langchain-ai/langchain
下載并安裝
現在官網其實沒有那么多亂七八糟的,直接一進去就是一個下載按鈕,點就是了
進入命令行
ollama run + 模型名
模型在官網上直接羅列了一批,每個模型都要點硬盤,大家按照自己的需求下載,沒有列出來的,可以在模型倉庫里面找,deepseek模型比較火,排第一的就是
大模型7b?指的是具有70億(7,000,000,000)可訓練參數的大型語言模型。這里的“b”是英文“Billion”的縮寫,表示十億。參數越多功能就越強悍,不過對應要的磁盤也比較多哦,按照實際情況下載即可。
我下載模型具體如下,因為模型確實比較大,所以要的時間也是比較久哦, 如果失敗,再次執行就行,可以斷點續傳的。
ollama run deepseek-r1pulling manifest pulling 96c415656d37... 100% ▕█████████████████████████████████▏ 4.7 GB pulling 369ca498f347... 100% ▕█████████████████████████████████▏ 387 B pulling 6e4c38e1172f... 100% ▕█████████████████████████████████▏ 1.1 KB pulling f4d24e9138dd... 100% ▕█████████████████████████████████▏ 148 B pulling 40fb844194b2... 100% ▕█████████████████████████████████▏ 487 B verifying sha256 digest writing manifest success
本地下載好了模型之后,下次進入直接運行下面命令即可
ollama run deepseek-r1
大模型是支持帶上下文語義的,不斷提自己要求即可
>>>幫我寫一首關于春節的駢文這里么文字很多《大年初一》瑞氣盈門祥光繞,家家戶戶鬧喧闐。兒童歡笑風箏舞,楊柳新抽綠意盎。雷動龍騰辭舊歲,春來喜慶迎新年。瑞獸趨吉趨瑞氣,瑞氣盈門樂無邊。
langchain是python的庫,我們其實是希望按照我們的程序跑起來啦,這樣子我們才可以放到微信里面,釘釘里面,或者嵌入到網站上面,變成我們的機器人交互。
python開發要養成習慣,盡量使用隔離的環境去做項目,不然很多亂七八糟的報錯說不清楚。
--安裝虛擬環境# 創建一個名為 llvm 的虛擬環境python3 -m venv llvm# 激活虛擬環境source llvm/bin/activate
from langchain_ollama import OllamaLLMfrom langchain.prompts import PromptTemplateollama_llm = OllamaLLM(model='deepseek-r1')prompt = PromptTemplate.from_template('幫我寫一首關于${product}的駢文,不要有英文的結果啊')sequence = prompt | ollama_llmresponse = sequence.invoke({'product': '春天'})print(response)