Upstage의 solar-pro 모델 langchain에서 사용하기

이 포스팅에서는 Upstage의 solar-pro 모델을 langchain에서 사용하는 방법에 대해 간단히 알아봅니다.

Upstage의 solar-pro 모델 langchain에서 사용하기
Photo by Julien DI MAJO / Unsplash

한국의 AI 대표 기업 업스테이지(upstage)에서는 solar 라는 이름의 LLM 모델을 제공하고 있습니다. solar-pro는 "단일 GPU 상에서 가장 똑똑함"을 표방하는 모델로서, 모델 파라미터 수 대비 성능이 좋다고 주장하는 모델입니다. 저와 같이, 작은 개인 서버에 오픈 소스 LLM을 올려 프로젝트를 운영하는 취미 개발자 입장에서는 파라미터 수 대비 성능이 굉장히 중요합니다. 크기가 큰 모델은 당연히 똑똑하겠지만, 일정 크기 이상 넘어가는 모델은 아예 사용을 해볼 수가 없거든요. 😅이 점에서 solar는 값을 지불하고 API 형태로 사용할 수 있는 모델(solar-pro, solar-mini)은 물론, ollama에서 사용가능한 오픈소스 모델(solar, solar-pro-preview)을 함께 제공하고 있어서 아주 개발자 친화적인, 좋은 방향성이라는 생각이 듭니다. 특히 한국어 지원을 잘 할 것으로 기대해볼 수 있기 때문에 한국어를 사용하는 AI 어플리케이션 개발을 할 필요가 있는 상황에서는 매력적인 선택이 될 수 있을 것으로 보이네요.

특히 solar-pro API의 경우에는 2025년 1월 6일까지 무료로 제공하고 있어서, 이 기간이 끝나기 전에 얼른 사용해보는 것을 추천드립니다! 이 포스팅에서는 Upstage의 solar-pro 모델을 langchain에서 사용하는 방법에 대해 간단히 알아봅니다.

환경 설정

solar-pro 모델을 langchain에서 사용하기 위해서는 먼저 upstage 홈페이지 가입 후 API key 설정 화면에서 API key 발급이 필요합니다.

발급받은 key를 환경 변수에 설정해 줍니다.

export UPSTAGE_API_KEY="up_...."

그 다음, langchain과 langchain-openai 를 설치합니다.

pip install langchain langchain-openai

Langchain에서 solar-pro 사용하기

solar-pro 모델과 solar-mini 모델은 OpenAI API와 잘 호환되어, 아래와 같이 openai_api_key 및 openai_api_base 값 설정을 통해 간단히 사용해볼 수 있습니다.

import os
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="solar-pro",  # or "solar-mini" 
    openai_api_key=os.getenv("UPSTAGE_API_KEY"), 
    openai_api_base="https://api.upstage.ai/v1/solar", 
)

print(llm.invoke("Hello!"))
content='Hello there! How can I assist you today?' additional_kwargs={'refusal': None} response_metadata={'token_usage': {'completion_tokens': 11, 'prompt_tokens': 11, 'total_tokens': 22, 'completion_tokens_details': None, 'prompt_tokens_details': None}, 'model_name': 'solar-pro-241126', 'system_fingerprint': None, 'finish_reason': 'stop', 'logprobs': None} id='run-631a103f-d522-4d51-882e-385184b657a6-0' usage_metadata={'input_tokens': 11, 'output_tokens': 11, 'total_tokens': 22, 'input_token_details': {}, 'output_token_details': {}}

마치며

solar-pro 모델이 무료로 제공되는 2025년 1월 6일까지, 모델의 성능 벤치마크를 비롯해서 모델을 많이 활용해보고 느낌을 가져 보면 좋을 것 같습니다. 저도 제 개인적인 프로젝트들에 한 번 기존 모델 대신 solar-pro 모델을 사용해보면서, 한국어 task에 있어서 GPT, Claude의 대안이 되는 훌륭한 선택지가 될 수 있을지 알아보려구요 🙂