1. 호출
import json
import openai
response = openai.Completion.create( # ChatCompletion이 아닌 Completion 사용
engine="gpt-3.5-turbo-instruct", # model이 아닌 engine을 사용
prompt="오늘 너무 추워서 ",
stop=".",
max_tokens=50,
temperature=0.5,
n=2,
)
print(json.dumps(response, indent=2, ensure_ascii=False))
요청할 메시지를 messages에 담아 정의하는 Chat 모델과는 달리,
Complete 모델을 쓸 때는 prompt로 단일 메시지를 직접 지정한다. 이 부분이 핵심 부분이 되겠다.
Chat 모델 프롬프트의 전제는 대화와 요청이다.
대화 형식으로 채팅을 하도록 지시할 수 있다는 의미다.
반면 Complete 모델은 문장 완성, 문장의 끝부분을 생성하는 것이다.
따라서 프롬프트에 문장의 중간까지를 설정하는 것이 일반적이다.
그래서 stop 매개변수를 사용한다.
생성하는 문장이 특정 문자나 문자열, 또는 목록 중 하나에 도달하면 중지하도록 지정하는 것이다.
여기서는 마침표(.)에 도달하면 문장 생성이 끝난다.
max_tokens, n, temperature 등의 매개변수는 Chat 모델 API 호출 때와 같이 각각 응답 최대 토큰 수, 응답 개수, 문장의 다양성에 관한 설정이다.
응답 결과를 보자.
object 부분을 보면 chat.completion이 아닌 text_completion으로 되어있다.
이를 통해 Complete 모델의 API 호출임을 알 수 있다.
Chat 모델 | Complete 모델 | |
API 호출 방식 | openai.ChatCompletion | openai.Completion |
모델 매개변수 | model | engine |
요청할 메시지 | messages | prompt로 단일 메시지 직접 지정 |
모델 프롬프트 | 대화와 요청 | 문장 끝부분을 생성 |
'LLM' 카테고리의 다른 글
[📘도서리뷰]: Azure OpenAI로 ChatGPT와 LLM 시스템 쉽고 빠르게 구축하기 (0) | 2025.03.28 |
---|---|
Prometheus (0) | 2025.03.04 |
[Language Model] gpt 사용하기: Model I/O로 무엇을 할 수 있는지❓❓ (0) | 2025.02.05 |
[LangChain] Chat 모델 API 호출하기 (1) | 2025.01.15 |
[LangChain] LangChain 환경 세팅 (0) | 2025.01.07 |