Jev
TypeSafe Jev는 판단 모델입니다. 텍스트를 생성하지 않으며, 미리 정의된 질문에만 답합니다. 요청에 판단 대상 콘텐츠와 질문 집합을 지정하면 모델은 각 질문에 대한 구조화된 답변과 그 확률을 반환하며, 프로그램은 이 결과에 따라 바로 분기 로직을 실행할 수 있습니다.
적용 시나리오
적합한 경우:
- 분류와 배정: 티켓을 처리할 담당 팀, 사용자 의도의 분류.
- 예/아니요 판단: 개인정보 포함 여부, 환불 요청 여부, 프롬프트 인젝션 여부.
- 점수 산정과 순위 결정: 긴급도, 관련도, 감정 강도 및 검색 결과 필터링.
- 대형 언어 모델 출력의 품질 검사: 답변이 질문에 부합하는지, 규정을 위반하지 않는지.
적합하지 않은 경우:
- 텍스트, 요약, 번역, 코드의 생성.
- 이미지 판단(Jev는 텍스트와 JSON 입력만 지원합니다. 이미지 판단에는 GPT-6 Luna를 사용하십시오).
- 답을 미리 선택지나 등급으로 나열할 수 없는 개방형 질문.
「대화형 대형 언어 모델 + JSON 출력」과의 비교:
빠른 시작
1. 연동 정보 준비: OfoxAI 콘솔 에서 API Key를 생성하고 다음 정보를 사용하십시오.
https://api.ofox.ai/v1typesafe/jev-latestjev-latest로도 지정할 수 있습니다/v1/decisionsPOST. /v1/chat/completions는 사용할 수 없습니다2. SDK 설치: OpenAI 공식 Python SDK로 호출하는 경우 client.decisions가 포함된 버전을 설치해야 합니다.
pip install -U openaiAttributeError: 'OpenAI' object has no attribute 'decisions'가 발생하면 SDK 버전이 오래된 것이므로, 위 명령으로 업그레이드하십시오(openai 3.31.0에서 동작을 확인했습니다). SDK를 사용하지 않는 경우 아래 cURL로도 호출할 수 있습니다.3. 호출 실행:
Python
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, 「어느 팀이 처리해야 하는가」에는 choice, 「긴급도는 어느 정도인가」에는 score를 사용합니다. 세 질문을 같은 요청에 포함하면 모든 답변이 한 번에 반환됩니다.
질문 유형을 결정한 뒤에는 질문 설계를 참고하여 질문과 선택지를 점검하십시오.
자주 발생하는 오류
전체 오류 목록은 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)를 사용하십시오. 요청 형식은 동일합니다.