DSPy 설치하고 언어 모델 연결하기
DSPy 설치하고 언어 모델 연결하기
DSPy를 처음 시작할 때는 두 가지만 하면 돼요. 프레임워크를 설치하고, 작업을 처리할 언어 모델을 하나 연결하는 거죠. 설치는 pip나 uv로 아주 간단하고, 모델은 dspy.LM 클래스로 지정해 전역 기본값으로 설정합니다.
출처: 공식문서
설치
DSPy 설치는 한 줄이면 끝나요. 가상 환경을 쓰는 프로젝트라면 uv add dspy로 추가해도 됩니다. DSPy는 Python 3.10+ 환경에서 동작해요.
pip install dspy
언어 모델 연결하기
DSPy는 dspy.LM 클래스로 언어 모델에 연결해요. 모델을 "provider/model" 형식의 문자열과 API 키로 지정하면 되는데, 키를 명시적으로 넘길 수도 있고요.
import dspy
# Pass the key explicitly...
lm = dspy.LM("openai/gpt-5-nano", api_key="YOUR_OPENAI_API_KEY")
dspy.configure(lm=lm)
내부적으로 DSPy는 LiteLLM 라이브러리를 사용해 다양한 추론 제공자를 하나의 형식으로 정규화해요. 그래서 LiteLLM 모델 문자열만 있으면 거의 모든 모델과 제공자에 연결할 수 있습니다. 전체 목록은 이곳에서 찾아볼 수 있어요.
이 튜토리얼에서는 "openai/gpt-5-nano" 모델 문자열과 OpenAI API 키를 Anthropic, Google, OpenRouter 등의 옵션으로 바꿔 써도 돼요. 아래 예시는 모두 코드 변경 없이 어떤 LiteLLM 모델 문자열에서든 동작합니다.
LM을 만든 뒤 dspy.configure(lm=lm)을 호출하면 그 프로세스 안의 모든 DSPy 프로그램에서 이 LM이 기본 제공자로 설정돼요. 이건 전역으로 적용되지만, 더 세밀한 제어가 필요할 때는 dspy.context를 이용해 특정 영역만 덮어쓸 수 있습니다.
설정이 잘 됐는지 모델을 직접 호출해 확인해 볼까요.
messages = [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "What is the capital of France?"
}
]
print(lm(messages = messages))
그러면 이런 답이 돌아와요.
['The capital of France is Paris.']
LM 하나가 설정되면 이제 첫 프로그램을 작성할 준비가 끝났어요.
더 알아보기 (Learn more)
- 첫 프로그램 작성하기 — 설정한 LM으로 실제 프로그램을 만들어 봐요.
- Settings and context() — 컨텍스트 기반 설정 오버라이드.