>백엔드 개발 >파이썬 튜토리얼 >Ollama - 맞춤 모델 - llama

Ollama - 맞춤 모델 - llama

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-03 02:16:09882검색

올라마 라이브러리를 가져옵니다.

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)

출력:

우즈마키 나루토는 키시모토 마사시가 제작한 일본 인기 만화 및 애니메이션 시리즈 '나루토'의 주인공입니다. 나뭇잎 마을의 젊은 닌자로, 마을의 리더인 호카게를 꿈꾸는 소년입니다.

나루토는 결단력, 용기, 강한 정의감으로 유명합니다. 그는 구미 차크라(자신이 가지고 있는 강력한 에너지)를 사용하여 신체 능력을 향상시키는 독특한 닌자 스타일로도 유명합니다.

시리즈 전반에 걸쳐 나루토는 여러 마을의 다른 닌자는 물론 아카츠키 멤버와 Ten-Tails의 진추리키와 같은 강력한 적들을 포함하여 수많은 도전과 적들에 직면합니다. 수많은 좌절과 실패에도 불구하고 나루토는 도전을 극복할 때마다 인내하고 더욱 강해집니다.

나루토가 우정, 희생, 닌자의 진정한 의미에 대한 귀중한 교훈을 배우면서 캐릭터 성장은 시리즈의 중심 주제입니다. 그의 팀원인 하루노 사쿠라, 우치하 사스케와의 관계는 그의 성격과 성장을 형성하는 데 특히 중요합니다.

나루토 시리즈는 원작 "나루토" 편(2002-2007)과 "나루토 질풍전" 편(2007-2014)의 두 가지 주요 편으로 구성됩니다. 후자는 첫 번째 호의 연속이며 나루토는 이제 더 오래되고 더 강력해졌습니다.

전체적으로 우즈마키 나루토는 전 세계 수백만 명의 마음을 사로잡은 상징적인 애니메이션 캐릭터입니다. 그의 감동적인 스토리와 기억에 남는 성격 덕분에 그는 애니메이션 역사상 가장 사랑받는 캐릭터 중 한 명이 되었습니다!

import ollama

참고자료

  • 올라마
  • 이 프로젝트를 노트에 남겨두세요
  • 올라마 모델 커스텀

저자의 메모

여기까지 읽어주셔서 진심으로 감사드립니다. 좋아요와 공유해주시면 정말 감사하겠습니다. 마음에 들지 않으셨다면 게시물이 마음에 드셨는지 모르겠습니다. 이렇게 하면 내 게시물을 개선해야 할 부분을 알 수 있게 됩니다. 감사합니다.


내 최신 게시물

Ollama - Custom Model - llama

GPU가 무료라고 하셨나요?

sc0v0ne ・ 2월 29일

#파이썬 #gpu #일체 포함 #머신러닝
Ollama - Custom Model - llama

소프트웨어 개발자로서 나의 슈퍼파워 - 2024

sc0v0ne ・ 1월 6일

#도구 #소프트웨어개발 #워크스테이션 #생산력
Ollama - Custom Model - llama

Pomodoro로 효율성 높이기

sc0v0ne ・ 2월 12일

#도구 #생산력 #소프트웨어개발

즐겨찾기 프로젝트 오픈 소스

  • ? 파이썬
  • ?️ 딥러닝
  • ? 컴퓨터비전
  • ?️ 리눅스
  • ? 타임 시리즈
  • ? 데이터베이스
  • ? 러스트
  • ?️ 머신러닝
  • ?️ 로드맵

저자 소개:

sc0v0ne image

sc0v0ne

이 블로그는 제가 공부하고 있는 주제에 대한 게시물을 작성하고 다른 사용자에게 도움이 되도록 공유하기 위한 것입니다.

나에 대해 좀 더...

정보 시스템 학사를 졸업하고 대학에서 다양한 기술을 접했습니다. 그 과정에서 저는 인공 지능 과정을 수강했고, 그곳에서 처음으로 기계 학습과 Python을 접하게 되었습니다. 이를 통해 이 분야에 대해 배우고 싶은 열정이 생겼습니다. 현재 저는 머신러닝과 딥러닝 분야에서 커뮤니케이션 소프트웨어를 개발하고 있습니다. 그 과정에서 제가 공부하고 있는 주제에 대한 게시물을 작성하고 다른 사용자에게 도움이 되도록 공유하는 블로그를 만들었습니다.

현재 TensorFlow와 컴퓨터 비전을 배우고 있습니다

호기심 : 커피를 좋아해요

  • 캐글
  • 깃랩
  • 깃허브
  • 마스토돈

위 내용은 Ollama - 맞춤 모델 - llama의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.