首頁 >後端開發 >Python教學 >Ollama - 定制模型 - llama

Ollama - 定制模型 - llama

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-03 02:16:09886瀏覽

導入 ollama 庫。

import ollama

建立一個類別來配置自訂模型。

方法:

  • init:使用名稱、系統和溫度等屬性初始化模型。
  • name_custom:傳回自訂名稱。
  • get_description:建立 ModelFile 結構。
class ModelFile:
    def __init__(self, model: str, name_custom: str, system: str, temp: float = 0.1) -> None:
        self.__model = model
        self.__name_custom = name_custom
        self.__system = system
        self.__temp = temp

    @property
    def name_custom(self):
        return self.__name_custom

    def get_description(self):
        return (
            f"FROM {self.__model}\n"
            f"SYSTEM {self.__system}\n"
            f"PARAMETER temperature {self.__temp}\n"
        )

  • 建立一個函數來列出所有可用模型。
  • 輸出:傳回在ollama 中註冊的模型清單。
def ollama_list() -> None:
    response_ollama = ollama.list()
    return response_ollama['models']

建立一個函數以根據傳遞的配置建立自訂模型。

def ollama_build(custom_config: ModelFile) -> None:
    ollama.create(
        model=custom_config.name_custom,
        modelfile=custom_config.get_description()
    )

建立一個函數來檢查自訂模型是否存在。

def check_custom_model(name_model) -> None:
    models = ollama_list()
    models_names = [model['name'] for model in models]
    if f'{name_model}:latest' in models_names:
        print('Exists')
    else:
        raise Exception('Model does not exists')

建立一個函數以根據提供的範本和提示產生回應。

def ollama_generate(name_model, prompt) -> None:
    response_ollama = ollama.generate(
        model=name_model,
        prompt=prompt
    )
    print(response_ollama['response'])

建立一個函數來以名稱刪除模型。

def ollama_delete(name_model) -> None:
    ollama.delete(name_model)

建立一個函數來排序建構、驗證和使用模型的步驟。

def main(custom_config: ModelFile, prompt) -> None:
    ollama_build(custom_config)
    check_custom_model(custom_config.name_custom)
    ollama_generate(custom_config.name_custom, prompt)
    # ollama_delete(custom_config.name_custom)

設定提示並配置模型檔案範本。

輸入:

  • 型號:llama3.2
  • 自訂名稱:xeroxvaldo_sharopildo
  • 系統:智慧動漫助理。

輸出:執行主函數來建立模型,檢查是否存在,並產生對提示的反應。

if __name__ == "__main__":
    prompt: str = 'Who is Naruto Uzumaki ?'
    MF: ModelFile = ModelFile(
        model='llama3.2',
        name_custom='xeroxvaldo_sharopildo',
        system='You are very smart assistant who knows everything about Anime',
    )
    main(MF, prompt)

輸出:

漩渦鳴人是岸本正史創作的流行日本漫畫和動畫系列「火影忍者」的主角。他是來自木葉村的年輕忍者,夢想成為火影,成為村裡的領袖。

鳴人以其決心、勇敢和強烈的正義感而聞名。他也以其獨特的忍者風格而聞名,其中包括使用他的九尾查克拉(他擁有的強大能量)來增強他的身體能力。

在整個系列中,鳴人面臨著無數的挑戰和對手,包括來自不同村莊的其他忍者,以及像曉成員和十尾人柱力這樣的強大敵人。儘管面臨許多挫折和失敗,鳴人仍堅持不懈,並在克服每一次挑戰時變得更加堅強。

鳴人的性格發展是該系列的中心主題,因為他學到了關於友誼、犧牲和成為忍者的真正意義的寶貴教訓。他與隊友春野櫻和宇智波佐助的關係對於塑造他的性格和成長尤其重要。

火影忍者係列由兩個主要篇章組成:原始《火影忍者》篇章(2002-2007)和《火影忍者疾風傳》篇章(2007-2014)。後者是第一部的延續,鳴人現在更老、更強大。

總的來說,漩渦鳴人是個標誌性的動漫人物,擄獲了全世界數百萬人的心。他鼓舞人心的故事和令人難忘的個性使他成為動漫史上最受歡迎的角色之一!

import ollama

參考

  • 奧拉瑪
  • 記下這個項目
  • Ollama 模型客製化

作者筆記

非常感謝您閱讀本文。如果您能喜歡並分享,我將非常感激。如果您不喜歡它,我不知道您是否喜歡這篇文章。這樣,您可以幫助我知道應該在哪些方面改進我的帖子。謝謝。


我的最新帖子

Ollama - Custom Model - llama

你是說免費 GPU 嗎?

sc0v0ne ・ 2 月 29 日

#Python #GPU #人工智慧 #機器學習
Ollama - Custom Model - llama

我作為軟體開發人員的超能力 - 2024

sc0v0ne ・ 1 月 6 日

#工具 #軟體開發 #工作站 #生產率
Ollama - Custom Model - llama

透過番茄工作法提高效率

sc0v0ne ・ 2 月 12 日

#工具 #生產率 #軟體開發

收藏 項目 開源

  • ?蟒蛇
  • ?️ 深度學習
  • ?電腦視覺
  • ? ️ Linux
  • ?時代系列
  • ?資料庫
  • ?鐵鏽
  • ? ️ 機器學習
  • ? ️ 路線圖

關於作者:

sc0v0ne image

sc0v0ne

這個部落格是為了創建一些關於我正在研究的主題的帖子,我分享它們以幫助其他用戶。

更多關於我的資訊...

資訊系統學士畢業,在大學裡接觸過不同的技術。一路上,我參加了人工智慧課程,在那裡我第一次接觸了機器學習和Python。從那時起,我就開始熱衷於了解這個領域。今天,我從事機器學習和深度學習開發通訊軟體的工作。在此過程中,我創建了一個博客,在其中創建了一些關於我正在研究的主題的帖子,並分享它們以幫助其他用戶。

我目前正在學習 TensorFlow 和電腦視覺

好奇心:我喜歡咖啡

  • 卡格爾
  • Github
  • 乳齒象

以上是Ollama - 定制模型 - llama的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn