웹 검색
모델이 웹을 검색하고 출처를 포함해 답변합니다.
웹 검색은 Raon 서버에서 수행합니다. 서버에 검색 기능이 설정되어 있고 소속 조직에서 사용을 허용한 경우에 이용할 수 있습니다. 요청에 다음 옵션을 추가하세요.
| API | 활성화 방법 |
|---|---|
| Chat Completions | web_search_options 추가 |
| Responses | web_search 도구 추가 |
| Messages | web_search_20250305 같은 web_search_* 도구 추가 |
검색 여부와 시점은 모델이 판단하며, 답변 전에 여러 번 검색할 수도 있습니다. 검색과 추가 모델 호출로 응답 시간이 늘어날 수 있습니다. max_uses를 지정해도 서버에서 정한 검색 한도를 넘을 수는 없습니다. 검색 중 오류가 발생하거나 한도에 도달하면 더 검색하지 않고 답변할 수 있습니다.
응답의 usage는 마지막 모델 호출의 토큰입니다. 이 호출에는 대화 전체와 모든 검색 결과가 한 번씩 들어 있습니다. 청구되는 토큰도 이 값이며, input 토큰 수는 다음 요청을 보낼 때의 대화 크기와 같습니다.
completion = client.chat.completions.create(
model="raon-1-mini-preview",
web_search_options={"search_context_size": "medium"},
messages=[{"role": "user", "content": "What changed in the latest PUBG update?"}],
)
message = completion.choices[0].message
print(message.content)
for annotation in message.annotations or []:
print(annotation.url_citation.title, annotation.url_citation.url)Chat Completions와 Responses
search_context_size는 검색 1회당 결과 수를 지정합니다(low3개,medium5개,high10개).- 출처는
url_citation어노테이션으로 반환됩니다. Chat Completions에서는message.annotations에, 스트리밍에서는 마지막 청크의delta.annotations에 포함됩니다. - Responses에서는 검색할 때마다
web_search_call출력 항목이 추가됩니다.filters.allowed_domains를 지정하면 해당 사이트의 결과만 사용합니다.
Messages
| 항목 | 설명 |
|---|---|
| 응답 블록 | 검색마다 server_tool_use, web_search_tool_result 블록 추가 |
| 출처 | 답변 text 블록의 citations (web_search_result_location 형식) |
| 검색 제한 | max_uses로 검색 횟수 제한, allowed_domains·blocked_domains로 검색 사이트 제한 |
| 검색 횟수 | usage.server_tool_use.web_search_requests |
tool_choice | 생략 또는 auto, any, none 사용. 특정 도구 강제(type: "tool") 시 400 오류 |

