로컬 서빙 측정 파일 만들기 필요한 것: Node.js 20 이상, 이미 모델이 실행 중인 OpenAI 호환 로컬 서버. 이 도구는 모델을 설치하거나 다운로드하지 않습니다. 실행 중인 서버에 공개 예문을 보내고 첫 응답과 출력 시간을 기록합니다. 1. 같은 폴더에 두 파일을 저장하세요. /tools/collect-serving-benchmark.mjs /tools/serving-benchmark-metadata.json 2. metadata JSON의 null을 내 환경으로 바꾸세요. 측정값을 미리 적는 파일이 아닙니다. hardware.id: 사이트 장비 ID 또는 영문 소문자 식별자 hardware.chip: 실제 칩 이름 hardware.memoryGB: 이 구성의 고속 메모리 합계(GB). 별도 시스템 RAM을 VRAM에 더하지 마세요. hardware.deviceCount: GPU 또는 노드 수 model.id: 모델 식별자 model.artifact: 공개 모델 저장소의 publisher/model 이름. 개인 파일 경로는 쓰지 마세요. model.revision: 모델 revision 또는 배포 버전 model.quantization: 실제 파일의 양자화 형식 runtime.name: llama.cpp / oMLX / LM Studio / SGLang / vLLM / MLX-LM / Ollama / other runtime.version: 설치된 런타임 버전 또는 빌드 번호 runtime.os: 운영체제와 버전 runtime.driverVersion: 확인한 드라이버 버전. 모르면 not-recorded를 유지하세요. runtime.kvCache: f16 / bf16 / q8_0 / q4_0 / fp8_e4m3 / fp8_e5m2 / runtime-default runtime.acceleration: none / mtp / draft / ngram / mtp+ngram / draft+ngram / specprefill / custom workload.allocatedContextTokens: 서버에 실제로 설정한 문맥 상한 cacheState는 unknown을 유지하세요. 이 도구는 서버 내부 캐시를 확인하거나 비우지 않습니다. 3. 파일 형식을 먼저 확인하세요. 이 명령은 서버를 호출하지 않습니다. node collect-serving-benchmark.mjs --metadata serving-benchmark-metadata.json --check-metadata 4. 내 서버 주소와 모델 별칭을 넣고 실행하세요. node collect-serving-benchmark.mjs --url http://127.0.0.1:8000/v1 --model SERVED_MODEL --metadata serving-benchmark-metadata.json --output measurement.json --consent 8000은 예시 포트입니다. LM Studio 등 다른 서버는 실제 포트로 바꾸세요. SERVED_MODEL은 서버가 받는 모델 별칭입니다. 모델 파일 경로가 아닙니다. 준비 실행 1회 뒤 3회를 측정합니다. --consent는 사양·설정·수치가 담긴 로컬 파일 생성에 동의하는 옵션입니다. 사이트나 다른 서버로 자동 전송하지 않습니다. 결과 파일을 열어 확인한 뒤 사이트의 측정 기록 가져오기로 제출하세요. 기록하는 것 장비·모델·런타임 설정, 실제 입력/출력 토큰 수, 첫 토큰 대기 시간, 첫 출력부터 마지막 출력까지 걸린 시간. 프롬프트·답변·원시 로그·토큰 목록·서버 주소·로컬 파일 경로는 저장하지 않습니다. 알아둘 점 출력 시간은 로컬 API 스트림을 받는 시계로 잽니다. 엔진 내부 GPU 시간과 같지 않습니다. 첫 토큰 대기 시간을 프리필 처리량으로 바꾸지 않습니다. 프리필과 피크 메모리는 이 도구가 추측해서 채우지 않습니다. 정확한 토큰 수를 반환하지 않는 서버, 스트림을 한 번에 보내는 서버, 측정마다 토큰 수가 다른 경우에는 파일을 만들지 않습니다. 잘못된 응답 내용이나 비밀 키를 오류 메시지에 붙이지 않습니다. 기존 결과 파일도 덮어쓰지 않습니다. 승인된 제출 기록도 사용자 측정이며, 운영자가 같은 장비에서 재현했다는 뜻은 아닙니다. English Requires Node.js 20+ and a running local OpenAI-compatible server. Fill the metadata JSON with your actual device, public model artifact, revision, quantization and runtime settings. The null fields are deliberately empty, not example benchmark results. Run --check-metadata first, then the command above with your loopback URL and served model alias. The tool performs one warm-up and three runs, using only a fixed public prompt. It saves numeric timings and declared metadata, never prompts or responses. It does not install models, contact external services, or upload the result. Cache state remains unknown; TTFT is not reported as pure prefill speed. Review measurement.json before importing it into the site. 日本語 Node.js 20以上と、モデルを起動済みのOpenAI互換ローカルサーバーが必要です。JSONのnullを、実際の機器・公開モデル・revision・量子化・ランタイム設定に置き換えてください。測定値の見本ではありません。 先に --check-metadata を実行し、上のコマンドに自分のループバックURLとサーバー上のモデル名を指定します。固定の公開例文でウォームアップ1回と測定3回を行います。保存するのは数値と申告した設定だけで、プロンプトや回答は保存しません。モデルのインストール、外部サービスへの接続、結果の自動送信は行いません。キャッシュ状態はunknownのままです。最初のトークンまでの待ち時間を、純粋なプリフィル速度として扱いません。measurement.jsonを確認してからサイトに取り込んでください。