dspy.configure
dspy.configure
DSPy의 기본 언어 모델·어댑터·기타 설정을 정하는 함수예요. 스크립트나 노트북의 윗부분에서 한 번만 호출하면, 이후 모든 모듈이 그 기본값을 사용해요.
출처: 문서
본문
DSPy의 기본 언어 모델, 어댑터, 기타 설정을 정해요.
dspy.configure(**kwargs)
dspy.configure(...)를 스크립트나 노트북의 상단에서 한 번 호출하면 돼요. 모든 DSPy 모듈은 dspy.context로 덮어쓰지 않는 한 이 기본값을 사용하고, 값은 다시 dspy.configure(...)를 호출할 때까지 유지돼요.
참고:
lm에는 문자열이 아니라dspy.LM객체를 넘겨야 해요.
설정 (Settings)
표는 각 설정의 기본값과 설명이에요.
| Setting | Default | Description |
|---|---|---|
lm |
None |
기본 언어 모델. dspy.LM 인스턴스를 넘겨요. |
adapter |
None |
프롬프트를 만들고 LM 응답을 파싱해요. None이면 모듈은 dspy.ChatAdapter를 사용해요. |
callbacks |
[] |
관찰 가능성·로깅 훅. Observability 문서를 참고하세요. |
track_usage |
False |
모든 LM 호출의 토큰 수를 기록해요. |
async_max_workers |
8 |
비동기 작업의 최대 동시 워커 수. |
num_threads |
8 |
dspy.Parallel의 스레드 수. |
max_errors |
10 |
이 횟수만큼 오류가 나면 병렬 실행을 멈춰요. |
disable_history |
False |
LM 호출 히스토리 기록을 끄기. |
max_history_size |
10000 |
저장할 히스토리 항목 수 상한. |
allow_tool_async_sync_conversion |
False |
비동기 도구를 동기 코드에서 실행할 수 있게 해요. Async 문서 참고. |
provide_traceback |
False |
오류 로그에 Python traceback 포함. |
warn_on_type_mismatch |
True |
모듈 입력 타입이 시그니처와 안 맞을 때 경고. |
interpreter_factory |
None |
코드 실행 모듈(dspy.RLM, dspy.Flex, dspy.ProgramOfThought, dspy.CodeAct)의 기본 dspy.PythonInterpreter 팩토리를 교체. 모듈 자신의 팩토리가 우선하며, PythonInterpreter가 아닐 때만 적용돼요. 아무것도 설정하지 않으면 모듈은 dspy.PythonInterpreter로 대체돼요. |
예시 (Examples)
기본 LM 설정
import dspy
dspy.configure(lm=dspy.LM("openai/gpt-5-mini"))
qa = dspy.Predict("question -> answer")
result = qa(question="What is the capital of France?")
print(result.answer)
LM과 어댑터 설정
import dspy
dspy.configure(
lm=dspy.LM("anthropic/claude-sonnet-4-6"),
adapter=dspy.JSONAdapter(),
)
사용량 추적 켜고 동시성 조정
import dspy
dspy.configure(
lm=dspy.LM("gemini/gemini-3-flash-preview"),
track_usage=True,
async_max_workers=4,
)
dspy.configure를 언제 쓰나요
기본값 한 벌이 프로그램 대부분(스크립트, 노트북, 테스트 설정, 앱 시작)에 적용돼야 할 때 dspy.configure(...)를 쓰면 돼요.
한 번의 호출이나 한 블록에만 다른 설정이 필요하다면 dspy.context를 쓰세요.
스레드 안전성
처음 dspy.configure(...)를 호출한 스레드만 다시 호출할 수 있어요. 다른 스레드가 시도하면 RuntimeError가 나요. 비동기 코드에서는 처음 dspy.configure(...)를 호출한 태스크만 계속 호출할 수 있어요.
워커 스레드, 비동기 태스크, dspy.Parallel 블록 안에서의 임시 덮어쓰기는 dspy.context를 쓰세요.
함께 보기 (See Also)
dspy.context— 한 블록 동안만 유지되는 임시 설정.dspy.LM—lm으로 넘길 언어 모델 생성.- Language Models — LM 설정 개요.
- Adapters — 어댑터가 프롬프트를 만들고 응답을 파싱하는 방법.
더 알아보기 (Learn more)
- dspy.context — 블록 단위 임시 설정
- dspy.LM — 언어 모델 객체
- Language Models — LM 설정 개요