Qwen Partial Mode: 주어진 프리픽스에서 생성 이어가기
Qwen Partial Mode: 주어진 프리픽스에서 생성 이어가기
코드 완성이나 긴 글쓰기처럼, 이미 있는 텍스트에서 자연스럽게 이어서 생성해야 할 때가 있어요. Partial Mode는 messages 배열에 주어진 프리픽스에서부터 모델이 내용을 이어서 만들게 해줘요. 그래서 출력이 프리픽스와 끊김 없이 연결되죠. 이 문서는 그 요청 구조와 지원 모델, 대표 예시를 안내합니다.
동작 원리
Partial Mode를 쓰려면 messages 배열을 이렇게 구성해요. 배열의 마지막 메시지에 role을 assistant로 두고 프리픽스를 content에 넣으며, 그 메시지에 "partial": true 파라미터를 반드시 추가해야 합니다.
[
{
"role": "user",
"content": "Complete this Fibonacci function. Do not add anything else."
},
{
"role": "assistant",
"content": "def calculate_fibonacci(n):\n if n <= 1:\n return n\n else:\n",
"partial": true
}
]
모델은 지정한 프리픽스에서부터 텍스트 생성을 시작해요.
지원 모델
- Qwen-Max 계열
- Qwen-Plus 계열 (비-thinking 모드)
- Qwen-Flash 계열 (비-thinking 모드)
- Qwen-Coder 계열
- Qwen-VL 계열 —
qwen-vl-max와qwen-vl-plus는 thinking 지원,qwen3-vl-plus와qwen3-vl-flash는 비-thinking 전용 - Qwen-Turbo 계열 (비-thinking 모드)
- Qwen 오픈소스 계열 — Qwen3.6·Qwen3.5 MoE/dense는 thinking 지원, Qwen3.6-35B-A3B·Qwen3.5-35B-A3B·Qwen3·Qwen3-VL 오픈소스는 비-thinking 전용
⚠️ Thinking 모드에서는 프리픽스 연속 생성을 지원하지 않아요. 비-thinking 모드를 쓰거나 비-thinking 전용 계열을 고르세요.
시작하기 (OpenAI 호환 API)
Python 함수를 완성하는 예시예요. 핵심은 마지막 메시지에 assistant 역할과 partial: True를 넣는 것이고, 응답(모델 생성분)과 프리픽스를 직접 이어붙여 완성 코드를 만듭니다.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
# 완성할 코드 프리픽스
prefix = """def calculate_fibonacci(n):
if n <= 1:
return n
else:
"""
# Partial Mode 요청 (마지막 메시지가 role "assistant" + "partial": True)
completion = client.chat.completions.create(
model="qwen3.8-max",
messages=[
{"role": "user", "content": "Complete this Fibonacci function. Do not add anything else."},
{"role": "assistant", "content": prefix, "partial": True},
],
)
# 프리픽스와 모델 생성분을 직접 이어붙이기
generated_code = completion.choices[0].message.content
complete_code = prefix + generated_code
print(complete_code)
활용 예시
이미지·비디오를 같이 보낼 때
Qwen-VL 모델은 이미지·비디오 데이터가 포함된 요청에서도 Partial Mode를 지원해요. 제품 설명 생성, 소셜 미디어 콘텐츠, 뉴스 기사, 창의적 카피라이팅에 유용하죠. qwen3-vl-plus 등 비전 모델에 이미지(type: "image_url")와 함께 마지막 assistant 메시지에 partial: True를 넣으면 됩니다.
긴 글을 끊어 생성할 때
max_tokens로 1차 생성분을 자른 뒤, 그 결과를 assistant 메시지(partial: true)로 넣어 두 번째 호출로 이어가는 패턴도 가능해요. 응답의 finish_reason이 length면 max_tokens 한도에 도달한 것이고, stop이면 자연스럽게 끝났거나 stop 파라미터의 종료 단어를 만난 거예요.
과금
입력 토큰과 출력 토큰 모두 과금돼요. 프리픽스는 입력 토큰으로 계산됩니다.
더 알아보기
- 모델/스냅샷 버전: Text generation models
- 첫 호출: Generate text
- 구조화 출력: Structured output