SDK와 프레임워크
OpenAI·Anthropic SDK, LangChain, Vercel AI SDK를 Raon에 연결합니다.
Raon이 지원하는 텍스트 생성 기능은 OpenAI와 Anthropic의 공식 SDK로 호출할 수 있습니다. Base URL, API 키, 모델 ID를 설정하세요. 다른 API 서비스를 사용하던 코드를 Raon에 연결할 때는 지원 기능과 제한도 확인하세요. API 형식이 같아도 해당 서비스의 모든 기능을 지원하는 것은 아닙니다.
| 클라이언트 | Base URL | API 키 파라미터 |
|---|---|---|
| OpenAI SDK와 이를 기반으로 한 프레임워크 | https://raon-api.krafton.ai/v1 | api_key / apiKey |
| Anthropic SDK | https://raon-api.krafton.ai (/v1은 SDK가 자동 추가) | api_key / apiKey |
OpenAI SDK
# pip install openai
import os
from openai import OpenAI
client = OpenAI(
base_url="https://raon-api.krafton.ai/v1",
api_key=os.environ["RAON_API_KEY"],
)하나의 클라이언트로 Chat Completions와 Responses를 모두 호출할 수 있습니다.
Anthropic SDK
# pip install anthropic
import os
from anthropic import Anthropic
client = Anthropic(
base_url="https://raon-api.krafton.ai",
api_key=os.environ["RAON_API_KEY"],
)이 클라이언트로 Messages를 호출할 수 있습니다.
LangChain
ChatOpenAI에 Raon의 Base URL을 지정합니다.
# pip install langchain-openai
import os
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="raon-1-mini-preview",
base_url="https://raon-api.krafton.ai/v1",
api_key=os.environ["RAON_API_KEY"],
)
print(llm.invoke("Hello!").content)Vercel AI SDK
OpenAI 호환 프로바이더를 사용합니다. 모델의 추론 내용은 reasoningText로 받을 수 있습니다.
// npm install ai @ai-sdk/openai-compatible
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { generateText } from "ai";
const raon = createOpenAICompatible({
name: "raon",
baseURL: "https://raon-api.krafton.ai/v1",
apiKey: process.env.RAON_API_KEY,
});
const { text } = await generateText({
model: raon("raon-1-mini-preview"),
prompt: "Hello!",
});
console.log(text);OpenAI·Anthropic 코드에서 전환하기
기존 OpenAI·Anthropic 코드를 Raon으로 전환할 때 달라지는 점은 다음과 같습니다.
| 항목 | 내용 |
|---|---|
| 모델 ID | raon-1-mini-preview 사용. gpt-4o, claude-sonnet-4-5 등 다른 서비스의 모델 이름은 403 model_not_allowed 반환 |
| 요청 파라미터 | 모든 생성 API에서 응답 안정성을 위해 temperature=1.0, top_p=0.95, top_k=20, presence_penalty=1.5, repetition_penalty=1.0, frequency_penalty=0, min_p=0으로 고정합니다. 값을 생략하거나 null 또는 다른 값을 보내도 동일합니다. stop, seed, response_format 등은 모델에 그대로 전달합니다. 추론 강도 설정은 허용하지만 반영하지 않습니다(추론 참고). |
| 대화 상태 | 서버에 저장하지 않음. store는 항상 비활성화되며 요청마다 전체 대화 전송 필요 (지원하지 않는 요청 참고) |
| 도구 | 함수 도구는 세 API 모두 지원. 서버 실행 도구는 웹 검색만 지원 |
| 입력 형식 | 텍스트만 지원. 이미지, 오디오, 파일 미지원 |

