퀵스타트
SDK를 호스트에 연결하고, 정책을 첨부하고, 반환되는 트레이스를 읽으세요.
기존 SDK에서 트레이스된 라우팅 결정까지 네 단계. 모델 이름은 하드코딩되지 않습니다. 결정은 정책으로서 요청과 함께 전달됩니다.
-
SDK를 호스트에 연결하세요.unhardcoded는 OpenAI 호환입니다.
baseURL을 호스트 주소로 변경하면 SDK의 나머지 부분은 그대로입니다.import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://<your-host>/v1", // your reference host, or the managed host apiKey: process.env.UNHARDCODED_KEY, }); -
정책을 구성하고 호출과 함께 전송하세요.백엔드에서
policy_ir을 생성하여create()에 첨부하세요.model필드는 트레이스를 그룹화하는 자유 형식 레이블로만 사용됩니다. 라우팅은 첨부된 정책에서 결정되므로 어떤 문자열이든 유효합니다.// built in your backend, at request time, a plain JSON term const policy_ir = [ "policy", ["and", ["meets_req"], ["not", ["is", "disabled"]], ["has_cap", "supports_tools"], ["cmp", "bench_intelligence", "ge", 0.5]], // filter ["neg", ["normalize", ["field", "price_out"]]], // cheapest survivor ["argmax"], ["id"], ["always", { "action": "next_candidate" }], ]; const res = await client.chat.completions.create({ model: "policy:support", // free-form trace label, not a route policy_ir, messages, }); -
호스트가 호출을 라우팅합니다.호스트는 정책을 검증하고 지문(fingerprint)을 생성한 후, 실시간 카탈로그에서 정책을 평가하고, 직접 보유한 제공자 키를 통해 조건을 통과한 가장 저렴한 모델을 실행합니다.
-
트레이스를 읽으세요.완료된 응답과 함께
trace가 반환됩니다: 선택된 모델, 순위가 매겨지고 거부된 후보 모델들, 그리고 정책 지문(fingerprint).{ "chosen": { "model_family": "deepseek-v4-pro", "price_out": 1.5 }, "trace": { "policy_fingerprint": "301140696-1054914287", "rejected": [{ "model_family": "deepseek-v4-flash", "reason": "cmp bench_intelligence ge 0.5" }], "total_latency_ms": 425 } }
직접 실행하기. MIT 라이선스 레퍼런스 호스트와 실행 가능한 예제는 공개 저장소에 포함되어 있습니다. 아래에 문서화된 형식과 의미론은 해당 호스트가 구현하는 명세이므로, 직접 보유한 카탈로그 대비 모든 내용을 재현할 수 있습니다.