728x90
반응형
테스트 설치환경 및 목표
Ollama를 이용해서 Windwos에 AI모델(Hugging Face)을 PC에 다운받아 langserve를 통해서 local에서 AI를 질의 응답 테스트 해봄
Windows 11에
- poetry 가 설치되어 있어야함
- ollama 가 설치되어 있어야함
- python이 설치되어 있어야함
- pip로 huggingface-cli가 설치 되어 있어야 함
AI 모델은 Hugging Face의 heegyu/EEVE-Korean-Instruct-10.8B-v1.0-GGUF
ggml-model-Q5_K_M.gguf 모델
https://huggingface.co/heegyu/EEVE-Korean-Instruct-10.8B-v1.0-GGUF
설치환경
# poetry 확인
# C:\Users\shim>poetry --version
Poetry (version 1.8.2)
# poetry 로 langserve git 파일은 아래 경로에 설치예정
C:\Users\shim>poetry>
# ollama 확인
# C:\Users\shim>ollama --version
ollama version is 0.1.35
# python 확인
# C:\Users\shim>python --version
Python 3.11.7
# huggingface-cli 확인
# C:\Users\shim>huggingface-cli env
Copy-and-paste the text below in your GitHub issue.
- huggingface_hub version: 0.23.0
- Platform: Windows-10-10.0.22631-SP0
- Python version: 3.11.7
# ※ huggingface-cli가 미설치된 경우 설치 ※
# C:\Users\shim>pip install huggingface-cli
Collecting huggingface-cli
Downloading huggingface_cli-0.1-py3-none-any.whl.metadata (117 bytes)
Downloading huggingface_cli-0.1-py3-none-any.whl (1.0 kB)
Installing collected packages: huggingface-cli
Successfully installed huggingface-cli-0.1
# Hugging Face에서 GGUF download 경로
C:\Users\shim\.cache\lm-studio\models\
(경로는 본인이 원하는 경로로 지정하면 됨, 현 위치는 lm-studio의 기본 경로임)
# GGUF 다운받아 테스트 할 파일
https://huggingface.co/heegyu/EEVE-Korean-Instruct-10.8B-v1.0-GGUF
# langserver git 위치 (teddylee777 유투버 git 사이트)
https://github.com/teddylee777/langserve_ollama.git
ollama로 Hugging Face AI 모델 다운로드 및 변환
# ollama 설치 확인
# C:\Users\shim>ollama --version
ollama version is 0.1.35
# 현재 pc에 다운로드된 AI모델 확인
# C:\Users\shim>ollama list
NAME ID SIZE MODIFIED
gemma:2b-instruct 030ee63283b5 1.6 GB 4 weeks ago
llama3:instruct a6990ed6be41 4.7 GB 4 weeks ago
gemma:7b-instruct a72c7f4d0a15 5.0 GB 4 weeks ago
# Hugging face gguf파일 다운로드
# huggingface-cli download heegyu/EEVE-Korean-Instruct-10.8B-v1.0-GGUF ggml-model-Q5_K_M.gguf --local-dir C:/Users/shim/.cache/lm-studio/models/heegyu --local-dir-use-symlinks False
# downloaod 완료후 파일 확인
# C:\Users\shim\.cache\lm-studio\models\heegyu>dir
C 드라이브의 볼륨에는 이름이 없습니다.
볼륨 일련 번호: E6CA-A871
C:\Users\shim\.cache\lm-studio\models\heegyu 디렉터리
2024-06-08 오전 07:18 <DIR> .
2024-06-08 오전 06:49 <DIR> ..
2024-06-08 오전 06:46 <DIR> .huggingface
2024-06-08 오전 06:49 7,653,486,272 ggml-model-Q5_K_M.gguf
2024-06-08 오전 07:18 <DIR> langserve_ollama
2024-06-07 오후 05:52 358 Modelfile
2개 파일 7,653,486,630 바이트
4개 디렉터리 1,523,745,267,712 바이트 남음
# 해당경로에 Modelfile 작성
# notepade 등을 이용해서 FROM ~~~ PARAMETER stop </s> 까지 복사해서
# C:\Users\shim\.cache\lm-studio\models\heegyu> 여기 경로에 저장한다.(첨부파일 참조)
# C:\Users\shim\.cache\lm-studio\models\heegyu>type modelfile
# ===========================================================
FROM ggml-model-Q5_K_M.gguf
TEMPLATE """{{- if .System }}
<s>{{ .System }}</s>
{{- end }}
<s>Human:
{{ .Prompt }}</s>
<s>Assistant:
"""
SYSTEM """A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions."""
PARAMETER stop <s>
PARAMETER stop </s>
# ===========================================================
# ollama 파일로 변환
# ollama create ggml-model-Q5_K_M -f C:\Users\shim\.cache\lm-studio\models\heegyu\Modelfile
transferring model data
using existing layer sha256:b9e3d1ad5e8aa6db09610d4051820f06a5257b7d7f0b06c00630e376abcfa4c1
creating new layer sha256:6fe7ed0d1aa9d7d4f3b6397184caf17b9b558739bc00f5abde876ee579fbf51a
creating new layer sha256:1fa69e2371b762d1882b0bd98d284f312a36c27add732016e12e52586f98a9f5
creating new layer sha256:fc44d47f7d5a1b793ab68b54cdba0102140bd358739e9d78df4abf18432fb3ea
creating new layer sha256:c9eed651555d2f63be6e8ae5030f98b710868133818fde1bad0ba1e3a5e238aa
writing manifest
success
# gguf 파일 ollama 확인 및 테스트
# C:\Users\shim\.cache\lm-studio\models\heegyu>ollama list
NAME ID SIZE MODIFIED
ggml-model-Q5_K_M:latest d1e2e98c46af 7.7 GB 10 hours ago
gemma:2b-instruct 030ee63283b5 1.6 GB 4 weeks ago
llama3:instruct a6990ed6be41 4.7 GB 4 weeks ago
gemma:7b-instruct a72c7f4d0a15 5.0 GB 4 weeks ago
# ollma로 변환된 AI 테스트
# C:\Users\shim\.cache\lm-studio\models\heegyu>ollama run ggml-model-Q5_K_M:latest
>>> Send a message (/? for help)
>>> 대한민국의 크기는 얼마나 되나요 ?
대한민국은 약 99,720제곱킬로미터의 면적을 차지하며, 세계에서 109번째로 큰 국가입니다. 이는 미국의 네브래스카 주와 거의 같은 크기로, 남북한을 합친 길이는 대략 835킬로미터이며 폭은 약
200킬로미터입니다.
대한민국은 한반도 남부에 위치해 있으며, 북쪽으로는 북한과 중국 및 러시아의 국경을 접하고 있고, 서쪽으로는 황해를, 남쪽으로는 동해를 마주보고 있습니다.
더 많은 정보를 원하신다면 도와드리겠습니다!
추가 질문이 있으시거나 더 많은 정보를 원하시면 언제든지 문의해주세요.
>>> Send a message (/? for help)
- gguf파일은 크롬에서 다운받아 적절한 디렉토리로 옮겨도 됨
- https://huggingface.co/heegyu/EEVE-Korean-Instruct-10.8B-v1.0-GGUF/tree/main
poetry 로 langserve git 파일 다운로드 및 가상환경 생성 및 실행
# git 파일다운로드
# git 파일은 AI분야 유투버로 유명한 git 사이트 https://github.com/teddylee777
# C:\Users\shim\poetry>git clone https://github.com/teddylee777/langserve_ollama.git
# git 을 다운받으면 langserve_ollama 디렉토리가 생성됨
# C:\Users\shim\poetry>dir
C:\Users\shim\poetry 디렉터리
2024-06-08 오후 02:46 <DIR> .
2024-06-08 오후 12:16 <DIR> ..
2024-06-08 오후 12:20 <DIR> langserve-template
0개 파일 0 바이트
6개 디렉터리 1,523,742,863,360 바이트 남음
# 설치 디렉토리로 이동
# C:\Users\shim\poetry>cd langserve_ollama
# poetry shell 명령어로 가상환경 진입함
# C:\Users\shim\poetry\langserve_ollama>poetry shell
Virtual environment already activated: C:\Users\shim\AppData\Local\pypoetry\Cache\virtualenvs\langserve-ollama-O-Xhld6I-py3.11
# 가상환경에 진입했는지 확인
# C:\Users\shim\poetry\langserve_ollama>poetry env list
langserve-ollama-O-Xhld6I-py3.11 (Activated)
# 가상환경 설치
# C:\Users\shim\poetry\langserve_ollama>poetry 디렉토리 아래 pyproject.toml 환경 설치됨
# C:\Users\shim\poetry\langserve_ollama>poetry install
# langserve app 실행
# C:\Users\shim\poetry\langserve_ollama> 하위 app 디렉토리 이동
# C:\Users\shim\poetry\langserve_ollama>cd app
# C:\Users\shim\poetry\langserve_ollama\app>python server.py
INFO: Started server process [26252]
INFO: Waiting for application startup.
__ ___ .__ __. _______ _______. _______ .______ ____ ____ _______
| | / \ | \ | | / _____| / || ____|| _ \ \ \ / / | ____|
| | / ^ \ | \| | | | __ | (----`| |__ | |_) | \ \/ / | |__
| | / /_\ \ | . ` | | | |_ | \ \ | __| | / \ / | __|
| `----./ _____ \ | |\ | | |__| | .----) | | |____ | |\ \----. \ / | |____
|_______/__/ \__\ |__| \__| \______| |_______/ |_______|| _| `._____| \__/ |_______|
LANGSERVE: Playground for chain "/prompt/" is live at:
LANGSERVE: │
LANGSERVE: └──> /prompt/playground/
LANGSERVE:
LANGSERVE: Playground for chain "/chat/" is live at:
LANGSERVE: │
LANGSERVE: └──> /chat/playground/
LANGSERVE:
LANGSERVE: Playground for chain "/translate/" is live at:
LANGSERVE: │
LANGSERVE: └──> /translate/playground/
LANGSERVE:
LANGSERVE: Playground for chain "/xionic/" is live at:
LANGSERVE: │
LANGSERVE: └──> /xionic/playground/
LANGSERVE:
LANGSERVE: Playground for chain "/llm/" is live at:
LANGSERVE: │
LANGSERVE: └──> /llm/playground/
LANGSERVE:
LANGSERVE: See all available routes at /docs/
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
웹페이지 접속 테스트, 소스 수정
- python server.py 를 처음 실행하면 http://0.0.0.0:8000 접속하면 에러가 남
- server.py 소스 파일을 127.0.0.1:8000번으로 변경해서 재실행
# server.py 파일을 notepad, visual code 등을 이용하여 수정함
uvicorn.run(app, host="0.0.0.0", port=8000) 을
uvicorn.run(app, host="127.0.0.1", port=8000) 으로 변경
- python server.py 재실행한 화면
langserve 실행 및 테스트 화면
728x90
반응형
LIST
'AI' 카테고리의 다른 글
AI LLM RAG AI서비스 개발 개념(1) (0) | 2024.06.09 |
---|---|
Ollama local 모델 다운로드 및 langserve 설치 테스트 (0) | 2024.06.08 |
Anaconda(아나콘드) conda 사용법 (1) | 2024.06.08 |
Text Generation Web UI 설치 및 Hugging Face Open LLM 모델 Llama-3-Open-ko-8b 사용해 보기 (0) | 2024.05.15 |
NVIDIA GeForce RTX 4060 Laptop GPU CUDA Conda Windows 가상환경 설치 (0) | 2024.05.15 |