.NET使用OllamaSharp實(shí)現(xiàn)大模型推理對話的簡單演示
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
前提條件:請確保你本地已經(jīng)安裝了ollama以及有關(guān)本地離線模型?;蛘咭延羞h(yuǎn)程模型環(huán)境等。如果沒有,請自行部署。如果需要幫助,可以文末獲取聯(lián)系方式咨詢。由于部署離線大模型過于簡單,在線資料也很多,我就省略這個(gè)步驟了。 創(chuàng)建一個(gè)項(xiàng)目,添加使用MIT開源協(xié)議的一個(gè)nuget包 OllamaSharp
確保Ollama應(yīng)用已經(jīng)啟動(dòng)。
默認(rèn)本地ollama的端口是11434,也可以自行部署時(shí)候更改環(huán)境變量進(jìn)行修改大模型存放地址、默認(rèn)端口、是否允許遠(yuǎn)程訪問等等。創(chuàng)建連接,并且驗(yàn)證下連接是不是正常,返回true,代表連接正常。
可以遍歷出已有的模型有哪些,咱們寫個(gè)選擇模型的輸入,通過輸入來選擇模型。由于獲取的是IEnumerable集合,所以此處為了方便,之間轉(zhuǎn)為數(shù)組來獲取下標(biāo),從而獲取模型名稱。大家自己使用時(shí)候記得優(yōu)化下寫法。
運(yùn)行,可以看到我本地羅列的模型列表等信息。
選擇模型完畢,并綁定prompt提示詞進(jìn)行創(chuàng)建聊天對話。創(chuàng)建對話以后,根據(jù)用戶輸入的內(nèi)容進(jìn)行推理并獲取返回內(nèi)容。
運(yùn)行結(jié)果如下:
如果需要以上演示的demo源碼,可以在個(gè)人公眾號 Dotnet Dancer 內(nèi),回復(fù) 【代碼演示】 即可獲取代碼開源地址。
核心代碼片段:
var uri = new Uri("http://localhost:11434");
var ollama = new OllamaApiClient(uri);
var models = await ollama.ListLocalModels(); foreach (var model in models) var chat = new Chat(ollama, prompt);
await foreach (var answerToken in chat.Send(message))
Console.Write(answerToken);
本文作者:Wesky 轉(zhuǎn)自https://www.cnblogs.com/weskynet/p/18497936 該文章在 2024/10/28 12:01:05 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |