Skip to Content
모델 사용법Jev(TypeSafe)개요

Jev

TypeSafe Jev는 판단 모델입니다. 텍스트를 생성하지 않으며, 미리 정의된 질문에만 답합니다. 요청에 판단 대상 콘텐츠와 질문 집합을 지정하면 모델은 각 질문에 대한 구조화된 답변과 그 확률을 반환하며, 프로그램은 이 결과에 따라 바로 분기 로직을 실행할 수 있습니다.

적용 시나리오

핵심판단 결과에 따라 프로그램이 서로 다른 로직을 실행해야 할 때는 Jev를, 사람이 읽을 텍스트를 생성해야 할 때는 대화형 대형 언어 모델을 사용하십시오.

적합한 경우:

  • 분류와 배정: 티켓을 처리할 담당 팀, 사용자 의도의 분류.
  • 예/아니요 판단: 개인정보 포함 여부, 환불 요청 여부, 프롬프트 인젝션 여부.
  • 점수 산정과 순위 결정: 긴급도, 관련도, 감정 강도 및 검색 결과 필터링.
  • 대형 언어 모델 출력의 품질 검사: 답변이 질문에 부합하는지, 규정을 위반하지 않는지.

적합하지 않은 경우:

  • 텍스트, 요약, 번역, 코드의 생성.
  • 이미지 판단(Jev는 텍스트와 JSON 입력만 지원합니다. 이미지 판단에는 GPT-6 Luna를 사용하십시오).
  • 답을 미리 선택지나 등급으로 나열할 수 없는 개방형 질문.

「대화형 대형 언어 모델 + JSON 출력」과의 비교:

Jev대화형 대형 언어 모델 + JSON 출력
반환 내용미리 지정한 선택지나 등급으로 한정선택지 밖의 값을 반환할 수 있어 추가 검증이 필요
불확실성모든 답변에 확률이 포함되며, choice와 score에는 신뢰도도 포함일반적으로 활용 가능한 확률을 제공하지 않음
여러 질문한 번의 요청에서 함께 답하며 동일한 입력을 공유하나의 프롬프트로 합치거나 여러 번 나누어 호출해야 함
과금입력 토큰에만 과금하며 출력은 과금하지 않음입력과 출력 모두 대화 모델 단가로 과금

빠른 시작

1. 연동 정보 준비: OfoxAI 콘솔 에서 API Key를 생성하고 다음 정보를 사용하십시오.

연동 정보
Base URLhttps://api.ofox.ai/v1
모델 IDtypesafe/jev-latestjev-latest로도 지정할 수 있습니다
엔드포인트/v1/decisionsPOST. /v1/chat/completions는 사용할 수 없습니다

2. SDK 설치: OpenAI 공식 Python SDK로 호출하는 경우 client.decisions가 포함된 버전을 설치해야 합니다.

Terminal
pip install -U openai
주의실행 시 AttributeError: 'OpenAI' object has no attribute 'decisions'가 발생하면 SDK 버전이 오래된 것이므로, 위 명령으로 업그레이드하십시오(openai 3.31.0에서 동작을 확인했습니다). SDK를 사용하지 않는 경우 아래 cURL로도 호출할 수 있습니다.

3. 호출 실행:

quickstart.py
import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"]) r = client.decisions.create( model="typesafe/jev-latest", input="Customer message: I was charged twice, nobody has answered my two emails, and I need a refund today.", questions=[{"type": "predicate", "name": "is_frustrated", "instructions": "Is the customer frustrated?"}], ) print(r.answers[0].probability) # 0.98

응답 예시:

{ "model": "typesafe/jev-latest", "answers": [{ "type": "predicate", "name": "is_frustrated", "probability": 0.98 }], "usage": { "prompt_tokens": 302, "completion_tokens": 23, "total_tokens": 325 } }

probability는 답이 「예」일 확률입니다. 0.98은 모델이 고객이 불만을 느끼고 있을 가능성이 매우 높다고 판단했음을 의미합니다. input을 실제 콘텐츠로, questions를 실제 질문으로 바꾸면 자체 업무 시나리오에 적용할 수 있습니다.

질문 유형

필요한 결과의 형식에 따라 질문 유형을 선택하십시오.

필요한 결과질문 유형제공할 필드반환 필드
예 또는 아니요predicate질문. 선택적으로 「예」와 「아니요」가 각각 무엇을 뜻하는지 설명하는 criteriaprobability: 「예」일 확률
여러 선택지 중 하나 선택choicechoices: 2–255개의 선택지choice, 각 선택지의 확률, confidence
정도의 높고 낮음scorelevels: 낮은 것부터 높은 것 순으로 2–10개의 등급score, 각 등급의 확률, confidence

예: 「환불 요청인가」에는 predicate, 「어느 팀이 처리해야 하는가」에는 choice, 「긴급도는 어느 정도인가」에는 score를 사용합니다. 세 질문을 같은 요청에 포함하면 모든 답변이 한 번에 반환됩니다.

질문 유형을 결정한 뒤에는 질문 설계를 참고하여 질문과 선택지를 점검하십시오.

자주 발생하는 오류

현상원인해결 방법
AttributeError: 'OpenAI' object has no attribute 'decisions'OpenAI SDK 버전이 오래됨pip install -U openai 실행 후 다시 시도
400 endpoint_not_supported, Please use /v1/decisions instead 메시지 표시Jev를 대화 모델로 간주하여 /v1/chat/completions를 호출함/v1/decisions를 호출
400 Invalid request payload/v1/decisions에서 TypeSafe 네이티브 형식(state, 객체 형태의 questions)을 사용함input과 배열 형태의 questions를 사용하거나 /typesafe/v1/systemone을 호출
400 questions are required for decisionquestions가 비어 있음질문을 하나 이상 지정
400 question "a" has kind choice and requires criteria optionschoice 질문에 choices가 없음선택지를 추가
400 Too many score levels. Must have at most 10 levels.score 등급이 10개를 초과함등급을 통합
400 max_tokens_exceeded입력이 64K 토큰을 초과함긴 문서를 분할하거나 관련 부분만 전달
400, 오류 메시지에 input_image와 Typesafe cannot read 포함Jev에 이미지를 전달함이미지를 제거하거나 이미지를 지원하는 모델을 사용
404 model_not_found모델 ID가 잘못됨typesafe/jev-latest 사용
요청은 성공하지만 답이 명백히 틀렸고 신뢰도가 높음choice 선택지가 실제 상황을 포괄하지 못함「해당 없음」 선택지를 추가하고 선택지 설명을 보완. 질문 설계 참고
답변에 name이 없어 질문과 대응시킬 수 없음질문에 name이 설정되지 않음모든 질문에 name을 설정

전체 오류 목록은 Decisions API · 자주 발생하는 오류를 참고하십시오.

공식 문서

자주 묻는 질문

Jev와 대형 언어 모델로 JSON을 출력하는 방식은 무엇이 다릅니까?

Jev는 지정된 선택지와 등급 범위 안에서만 답하며 범위 밖의 값을 반환하지 않습니다. 모든 답변에 확률이 포함되고 choice와 score에는 신뢰도도 포함되므로, 바로 임곗값 설정에 사용할 수 있습니다. 대형 언어 모델의 JSON 출력은 추가 검증이 필요하며, 일반적으로 활용 가능한 확률도 제공하지 않습니다.

/v1/decisions와 /typesafe/v1/systemone 중 어느 것을 사용해야 합니까?

새 프로젝트에는 OpenAI SDK로 직접 호출할 수 있는 /v1/decisions를 권장합니다. 이미 TypeSafe SDK나 공식 예제 코드를 사용하는 프로젝트는 /typesafe/v1/systemone을 사용할 수 있으며, base URL만 변경하면 됩니다.

Jev는 어떻게 과금됩니까?

입력 토큰에만 과금되며 출력은 과금되지 않습니다. 단가는 모델 페이지를 참고하십시오. 같은 요청에 포함된 여러 질문은 동일한 입력을 공유하므로, 질문을 한 번의 요청으로 합치면 비용을 줄일 수 있습니다.

신뢰도가 높으면 답이 반드시 정확합니까?

반드시 그렇지는 않습니다. 선택지가 실제 상황을 포괄하지 못하는 경우에도 모델은 기존 선택지 중 하나를 선택하며, 신뢰도가 높게 나올 수 있습니다. 따라서 choice 질문에는 「해당 없음」과 같은 대비용 선택지를 설정하고, 사람이 레이블링한 샘플로 검증하십시오.

score가 1.43이면 무엇을 의미합니까?

score는 각 등급의 확률로 가중하여 계산한 값이며, 등급은 0부터 번호가 매겨집니다. 1.43은 1등급과 2등급 사이에 있으며 1등급에 더 가깝다는 의미입니다. 각 등급의 구체적인 확률은 probabilities를 참고하십시오.

영어 이외의 콘텐츠를 지원합니까?

지원합니다. 검증 결과, 중국어 콘텐츠에 대해 질문을 중국어로 작성한 경우와 영어로 작성한 경우 모두 사용할 수 있음을 확인했습니다.

Jev는 이미지를 지원합니까?

지원하지 않습니다. Jev는 텍스트와 JSON만 받습니다. 이미지를 판단해야 하는 경우 이미지 입력을 지원하는 GPT-6 Luna(openai/gpt-6-luna)를 사용하십시오. 요청 형식은 동일합니다.

마지막 업데이트