728x90
반응형
Gemma2 모델을 Ollama와 Streamlit으로 테스트하기
Google의 최신 언어 모델인 Gemma2:27b를 로컬 환경에서 쉽게 테스트할 수 있는 방법을 소개해드리려고 합니다. 우리는 Ollama를 사용하여 모델을 로컬에서 실행하고, Streamlit을 통해 간단한 웹 인터페이스를 만들어 볼 것입니다. 이 방법을 통해 클라우드 서비스에 의존하지 않고도 강력한 AI 모델을 직접 경험해볼 수 있습니다.
준비 사항
시작하기 전에 다음 항목들이 필요합니다:
- Python 3.7 이상
- Ollama 설치 (https://ollama.ai/)
- pip를 통한 필요 라이브러리 설치
단계별 가이드
1. Ollama 설치 및 모델 다운로드
먼저 Ollama를 설치하고 Gemma2:27b 모델을 다운로드합니다.
ollama pull gemma2:27b
2. 필요한 라이브러리 설치
다음 명령어로 필요한 Python 라이브러리를 설치합니다:
pip install streamlit langchain langchain-community
3. Streamlit 애플리케이션 코드 작성
다음 코드를 app.py
파일로 저장합니다:
import streamlit as st
from langchain_community.llms import Ollama
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
MODEL_NAME = "gemma2:27b"
def initialize_model():
try:
return Ollama(model=MODEL_NAME, callbacks=[StreamingStdOutCallbackHandler()])
except Exception as e:
st.error(f"모델 초기화 중 오류가 발생했습니다: {str(e)}")
return None
def generate_response(llm, prompt):
try:
return llm(prompt)
except Exception as e:
return f"Error: 응답 생성 중 오류가 발생했습니다 - {str(e)}"
st.title(f"Langchain-Community Ollama {MODEL_NAME} 테스트")
llm = initialize_model()
if llm:
user_input = st.text_area("프롬프트를 입력하세요:", height=100)
if st.button("응답 생성"):
if user_input:
with st.spinner(f"{MODEL_NAME} 모델로 응답 생성 중..."):
response = generate_response(llm, user_input)
st.write(f"{MODEL_NAME} 모델의 응답:")
st.write(response)
else:
st.warning("프롬프트를 입력해주세요.")
else:
st.error(f"{MODEL_NAME} 모델을 초기화할 수 없습니다. Ollama가 실행 중이고 모델이 설치되어 있는지 확인해주세요.")
st.sidebar.markdown(f"""
## 사용 방법
1. 프롬프트를 입력 영역에 입력하세요.
2. '응답 생성' 버튼을 클릭하세요.
3. {MODEL_NAME} 모델의 응답이 표시됩니다.
주의:
- Ollama가 로컬에서 실행 중이어야 합니다.
- {MODEL_NAME} 모델이 Ollama에 설치되어 있어야 합니다.
""")
4. 애플리케이션 실행
터미널에서 다음 명령어를 실행하여 Streamlit 애플리케이션을 시작합니다.
streamlit run app.py
애플리케이션 사용하기
- 웹 브라우저에서 애플리케이션이 열립니다 (기본적으로 http://localhost:8501).
- 텍스트 영역에 원하는 프롬프트를 입력합니다.
- "응답 생성" 버튼을 클릭합니다.
- Gemma2:27b 모델이 생성한 응답을 확인합니다.
이 간단한 Streamlit 애플리케이션을 통해 우리는 Google의 Gemma2:27b 모델을 로컬 환경에서 쉽게 테스트해볼 수 있습니다. 이 방법은 클라우드 API에 의존하지 않고도 최신 AI 모델을 경험할 수 있게 해주며, 개발자들이 자신의 프로젝트에 이러한 모델을 통합하는 방법을 탐구하는 데 도움을 줄 수 있습니다.
728x90
반응형
'언어모델 LLM > 모델 및 프레임워크' 카테고리의 다른 글
RAG vs 파인튜닝: AI 모델 최적화의 두 가지 접근 (0) | 2024.07.21 |
---|---|
한국어 잘하는 로컬모델로 챗봇 만들기 (1) | 2024.07.20 |
Whisper 모델로 텍스트로 변환하기 (0) | 2024.07.13 |
oneMinTTS: 오픈소스 음성 합성 프로젝트 소개 (0) | 2024.07.09 |
Piper TTS: 설치 및 사용 가이드 (0) | 2024.07.08 |