1. Install Ollama - 로컬에서 무료로 사용할 수 있는 LLM 도구, Ollama 활용 가이드


 - Ollama는 로컬에서 대형 언어 모델(LLM)을 쉽게 사용할 수 있도록 지원하는 플랫폼입니다. macOS, Windows(WSL2를 통한 설치 가능), Linux에서 간편하게 설치할 수 있으며, Docker를 지원하여 더욱 다양한 환경에서 활용 가능합니다. Ollama는 ollama run llama2와 같은 간단한 명령어로 빠르게 AI 모델과 상호작용할 수 있습니다. Llama 2, Mistral, Vicuna, LLaVa 등의 다양한 오픈 소스 모델을 지원하며, 사용자는 이들 중 필요한 모델을 선택하여 사용할 수 있습니다. 자세한 내용은 Ollama 공식 웹사이트에서 확인하실 수 있습니다.

 - Installation on Linux https://github.com/ollama/ollama/blob/main/docs/linux.md
 - # Run the most popular AI model among open licenses
     ollama run mistral
 참고 자료 : https://anpigon.tistory.com/434  

 

실해예시

 

-Ollama WebUI 설치 하기 

터미널 작업은 귀찮다. Web으로 제공된다. 참으로 대단한 사람들이 많다.

#리눅스 환경, NVIDIA GPU 사용한다. port를 설정하면 웹포트를 설정할 수 있다. 기본 포트는 3000
# Docker build
run-compose.sh --enable-gpu --webui[port=xxxx] --build
# Docker 실행
run-compose.sh --enable-gpu --webui[port=xxxx]

참고 자료  https://docs.openwebui.com/getting-started/

 

실행결과

그러나 '24 4/11부터 LangServe를 알게 된 이후부터 사용안함..

 

- LangServer + Ollama

 

(hankh) [hankh@tb-eipms-tau1 app]$ pwd
/workspace/home/hankh/langserve_ollama/app
(hankh) [hankh@tb-eipms-tau1 app]$ python server.py

 

도움 받은 글 : https://github.com/teddylee777/langserve_ollama?tab=readme-ov-file

 

 

- 랭체인으로 LLM기반의 AI서비스 개발하기

요즘 읽고 있는책이며, 소스는 아래 링크 참조

OpenAI대신 langserve_ollama로 변환하면서 적응하기...(아..가난뱅이)

https://github.com/gilbutITbook/080413

 

GitHub - gilbutITbook/080413: <랭체인으로 LLM 서비스 만들기> 소스 코드

<랭체인으로 LLM 서비스 만들기> 소스 코드. Contribute to gilbutITbook/080413 development by creating an account on GitHub.

github.com

 

2. ChatGPT를 대신하는 Ollam LLM,Chat

최종 하려는 것은 유료 OpenAI사의 Chat, LLM 대신 Ollam를 통해 무료 model을 사용한다. 유료보다는 떨어지겠지만..

LangChain학습하는데는 충분하지 않을까...

 

1. LLM모델

%config Completer.use_jedi = False  # JupyterNotebook에서 도움말 얻기..

from langchain_community.llms import Ollama
llm = Ollama(model="EEVE-Korean-10.8B")

 

2. Chat모델

# OpenAI대신 Ollama를 호출해서 학습을 한다.
# from langchain_openai import ChatOpenAI
# llm = ChatOpenAI()

from langchain_community.chat_models import ChatOllama
chatLlm = ChatOllama(model="EEVE-Korean-10.8B")

 

3. Embedding

embedding에 사용되는 모델은 좀 더 확인을 해보자

from langchain_community.embeddings import OllamaEmbeddings
embeddings = OllamaEmbeddings(model = 'EEVE-Korean-10.8B')  ## OpenAI 임베딩 대신 Ollama를 사용한다

 

 

3. NVIDIA GPU 보는법 

  • nvidia-smi
  • watch -n 1 nvidia-smi

 

https://velog.io/@claude_ssim/NVIDIA-GPU-%EB%B3%B4%EB%8A%94%EB%B2%95nvidia-smi

'머신러닝 > RAG' 카테고리의 다른 글

LLM 개발을 더 간편하게 랭체인의 이해  (0) 2024.04.14
1. Local LLM에 대하여  (0) 2024.04.12

+ Recent posts