나름개발블로그
LangChain #2 본문
오늘은 간단하게 로컬에서 llm을 돌려보는 것을 해볼 예정이다. 잘모르는 초보 개발자를 대상으로 생각하고 진행 할예정이다. 사실 쓰다보면서 대상을 누구로 하냐에 따라서 난이도가 확 달라질것 같았다. 아에 개발이나 컴퓨터를 모르지 않는 대상이 봤으면 괜찮겠다 싶었다.
1. LM Studio
2. Ollama
1. LM Studio
https://lmstudio.ai/?utm_source=pytorchkr
여기에서 LM Studio 를 다운받는다. 각자의 환경에 맞는 버전을 다운 받는다. 나 같은 경우에는 m1 맥북을 사용 하고 있어서 해당 버전으로 다운 받았다.
실행하면 다음과 같은 화면이 뜬다. 편한게 최소로 필요한 메모리용량이라던지 쉽게 찾아 볼수 있게 지원을 해준다.
심플하게 llma3 - 8B 를 다운 받도록 하겠다. 카드의다운로든 버튼을 누루면 다운 받아진다. 다운을 다 받은 후 오른쪽 텝에서 chat 모양을 누르면 다음과 같이 화면이 뜬다.
여기서 가운데 위에 모델 선텍 콤보에서 모델을 선택 하면 로드가된다.
로드 후 간단하게 프롬프트를 입력해보면 응답이 오는 것을 확인 할 수 있다.
OpenAI API형식으로 간단하게 서버로 띄어볼 수 도 있다.
오른쪽 tab에서 맨아래 두번째를 누르면 (<-> 표시) 아래처럼 로컬api 서버를 띄울수 있는 화면이 나온다.
여기서 [Start Server] 버튼을 누르면 서버가 실행 된다.
서버를 실행시키고 langchain 을 이용한 간단한 예제 코드다
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(base_url="http://localhost:1234/v1", api_key="ml_studio")
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages(
[
("system", "You are a world class technical documentation writer."),
("user", "{input}"),
]
)
chain = prompt | llm
response = chain.invoke({"input": "how can langsmith help with testing?"})
print(response)
지난 포스트 코드에서 url , api_key 만 바꿔졌다. 아무래도 작은 모델이여서 완벽하지 않고 , 로컬머신에서 돌리기 때문에 속도도 빠르진 않지만 간단한 테스트나 엔지니어링 작업을 하기에는 괜찮다.
2. Ollama
위의 사이트에서 환경에 맞게 다운로드한다. 맥같은경우 압축을 풀고 실행을 하면 끝난다.
설치 후 아래와 같이 터미널에서 실행하고 간단하게 대화를 진행해봤다.
지원하는 모델은 현재 기준 아래와 같다.
langchain 을 이용하면 쉽게 사용도 가능 하다.
from langchain_community.llms import Ollama
llm = Ollama(model="llama3")
print(llm.invoke("Tell me a joke"))
최근에 써본 것중 가장 유명한 llm 관련 툴이다. langchain 하고도 쉽게 연동이 가능하고 사용하기에도 어려움이 없을 것이라 판단된다.
llm도 로컬에 띄어봤으니 , 다음에는 간단하게 rag를 구성해서 q&a를 진행 해볼 예정이다.
'A > ML' 카테고리의 다른 글
LangChain #4 (1) | 2024.06.10 |
---|---|
LangChain #3 (0) | 2024.05.24 |
임베딩 / 벡터 db (0) | 2024.05.15 |
LangChain #1 (0) | 2024.05.14 |
LLM - intro (0) | 2024.05.13 |