code_interpreter 도구 사용
code_interpreter 도구는 Python 코드를 생성하고 실행할 수 있는 Python 런타임을 모델에 제공합니다.
code_interpreter 도구란?
code_interpreter 도구를 사용하면 생성 AI 모델이 대화 중에 Python 코드를 동적으로 작성하고 실행할 수 있습니다. 모델은 코드 또는 알고리즘에 대해 논의하는 대신 논리를 테스트하고, 데이터를 처리하고, 코드에서 실제 결과를 반환할 수 있습니다. 이렇게 하면 모델을 사상가에서 실행자로 변환합니다.
주요 기능은 다음과 같습니다.
- 동적 Python 실행: 모델은 샌드박스가 지정된 환경에서 Python 코드를 작성하고 실행합니다.
- 파일 처리: 파일 업로드, 처리 및 다운로드(CSV, JSON, 이미지 등)
- 데이터 분석: 즉시 계산, 통계 분석 및 데이터 변환 수행
- 실시간 피드백: 모델은 코드 실행 결과를 보고 오류를 반복하거나 수정할 수 있습니다.
- 복잡한 문제 해결: 실행 코드를 통해 수학 문제, 시뮬레이션 및 논리 퍼즐 해결
일반적인 사용 사례
| 사용 사례 | 예시 |
|---|---|
| 데이터 분석 | CSV 파일 구문 분석 및 요약 통계 생성 |
| 수학 및 물리학 | 차등 방정식을 해결하거나 물리학 시나리오를 시뮬레이션합니다. |
| 파일 변환 | 데이터 형식 간 변환(JSON ↔ CSV 등) |
| 프로토 타입 | 공식 구현 전에 알고리즘 및 아이디어 테스트 |
간단한 예
OpenAI 응답 API에서 code_interpreter 사용하는 방법은 다음과 같습니다.
from openai import OpenAI
client = OpenAI(
base_url={openai_endpoint},
api_key={auth_key_or_token}
)
# Get response using the code_interpreter tool
response = client.responses.create(
model={model_deployment},
instructions="You are an AI assistant that provides information. Use the python tool to run code for math problems.",
input="What is the square root of 16?",
tools=[{"type": "code_interpreter",
"container": {"type": "auto"}}]
)
print(response.output_text)
이 코드의 출력은 다음과 유사합니다.
The square root of 16 is 4.
더 중요한 것은 모델에서 반환된 응답 개체의 세부 정보를 검사하면 다음과 같이 동적으로 생성된 Python 코드를 사용하여 결과가 계산되어 모델로 반환되었음을 알 수 있습니다.
import math
# Calculate the square root of 16
square_root = math.sqrt(16)
square_root
code_interpreter 도구의 작동 방식
code_interpreter 도구를 사용하는 일반적인 프로세스는 다음과 같습니다.
- 요청을 보냅니다. 도구 배열에 code_interpreter 포함합니다.
- 모델은 태스크를 분석합니다. 모델은 코드 실행이 필요한지 여부를 결정합니다.
- 모델은 코드를 생성합니다. 모델은 작업을 수행하기 위해 Python 코드를 작성합니다.
- 코드 실행: 코드는 일반적인 라이브러리(예: pandas, numpy 및 math)에 액세스할 수 있는 샌드박스 환경에서 실행됩니다.
- 반환된 결과: 모델은 출력을 수신하고 응답에 통합합니다.
모범 사례
- 구체적으로: 데이터 형식 및 예상 출력을 명확하게 설명합니다. 많은 모델은 내부적으로 code_interpreter 도구를 식별하기 위해 python 도구라는 이름을 사용하므로 지침에서 이 표현을 사용하세요.
- 컨텍스트 제공: 프롬프트에 관련 도메인 지식 포함
- 결과 유효성 검사: 프로덕션 환경에서 사용하기 전에 항상 AI 생성 코드를 검토하여 정확성을 확인합니다.
- 비용 모니터링: 코드 실행은 토큰을 추가합니다. 복잡한 작업에서 더 많은 리소스를 사용할 수 있음
- 라이브러리 활용: pandas, numpy 및 matplotlib와 같은 일반적인 패키지가 미리 설치되어 있습니다.
- 오류 처리: 모델에서 오류를 볼 수 있으며 자동으로 수정하려고 시도합니다.
알아야 할 제한 사항
- 실행은 외부 네트워크 액세스가 없는 샌드박스 환경에서 실행됩니다.
- 일부 라이브러리는 사용할 수 없습니다. 표준 라이브러리가 실패하는 경우 모델에 알릴 수 있습니다.
- 시간 제한은 장기 실행 작업에 적용됩니다.
- 메모리 제약 조건으로 코드 실행 - 대규모 데이터 세트에 스트리밍 또는 청크가 필요할 수 있음