Cohere 채팅 API로 텍스트 생성하기
Cohere 채팅 API로 텍스트 생성하기
Cohere에서 텍스트를 생성하는 가장 기본적인 방법은 Chat API를 호출하는 거예요. 이 엔드포인트는 대화형 인터페이스를 제공해서, 모델에게 메시지를 보내고 텍스트 응답을 돌려받는 흐름으로 동작해요. 각 메시지는 content 필드와 함께 발신자를 나타내는 role을 갖는데, role은 user, assistant, system, tool 중 하나로 지정돼요. 채팅봇을 만들든, 텍스트를 생성하는 배치 작업을 하든 Chat API 하나로 시작할 수 있어요.
기본 호출
Cohere SDK의 ClientV2를 만들고 co.chat(...)로 호출하면 돼요. 최소한 model과 messages만 넘겨도 간단한 생성이 가능해요.
import cohere
co = cohere.ClientV2(api_key="<YOUR_API_KEY>")
res = co.chat(
model="command-a-plus-05-2026",
messages=[
{
"role": "user",
"content": "API 설계에 관한 블로그 제목을 하나 제안해 줘. 제목만 출력해.",
}
],
)
print(res.message.content[0].text)
HTTP로는 POST https://api.cohere.ai/v2/chat 엔드포인트에 Authorization: bearer $CO_API_KEY 헤더를 붙여 요청하면 돼요.
응답 구조
응답에서 확인할 주요 필드는 이렇게 구성돼요.
message— 모델이 생성한 메시지id— 이 응답에 대응하는 IDfinish_reason— 생성이 끝난 이유.COMPLETE는 정상적으로 생성이 끝났다는 뜻이고,MAX_TOKENS는 컨텍스트 한도에 도달해서 생성이 끝나기 전에 멈췄다는 뜻이에요.meta— 토큰 수, 과금(billing) 등의 메타 정보
시스템 메시지로 행동 조절하기
messages 리스트에 role을 system으로 둔 메시지를 넣으면 모델의 전반적인 행동을 조정할 수 있어요. 예를 들어 답변을 5단어 이내로 하라는 규칙을 시스템 메시지로 전달하면 그 지침이 대화 전체에 적용돼요.
system_message = "You respond concisely, in about 5 words or less"
res = co.chat(
model="command-a-plus-05-2026",
messages=[
{"role": "system", "content": system_message},
{"role": "user", "content": "질문을 하나 던져 볼게."},
],
)
멀티 턴 대화
하나의 Chat 요청에 여러 턴을 담을 수 있어요. messages 리스트에 메시지를 순서대로 쌓아 보내면, 모델이 그 전체 맥락을 보고 응답을 생성해요. 과거 대화 내용을 같이 보내면 단발성 질의응답보다 훨씬 맥락 있는 답을 얻을 수 있어요.