이 문서에서는 Databricks Foundation 모델 API 및 지원하는 모델에 대한 일반 API 정보를 제공합니다. Foundation Model API는 기존 프로젝트를 보다 쉽게 마이그레이션할 수 있도록 OpenAI의 REST API와 유사하게 설계되었습니다. 토큰당 종량제 및 프로비전된 처리량 엔드포인트는 모두 동일한 REST API 요청 형식을 허용합니다.
엔드포인트
Foundation Model API는 토큰당 종량제 엔드포인트 및 프로비전된 처리량 엔드포인트를 지원합니다.
미리 구성된 엔드포인트는 각 토큰당 종량제 지원 모델에 대해 작업 영역에서 사용할 수 있으며 사용자는 HTTP POST 요청을 사용하여 이러한 엔드포인트와 상호 작용할 수 있습니다. 지원되는 모델은 토큰당 종량제 참조하세요.
프로비전 처리량 엔드포인트는 API 또는 서빙 UI를 사용하여 생성할 수 있습니다. 이러한 엔드포인트는 제공된 두 모델이 동일한 API 형식을 노출하는 한 A/B 테스트를 위해 엔드포인트당 여러 모델을 지원합니다. 예를 들어 두 모델 모두 채팅 모델입니다. 엔드포인트 구성 매개 변수는 POST /api/2.0/serving-endpoints 참조하세요.
요청 및 응답은 JSON을 사용합니다. 정확한 JSON 구조는 엔드포인트의 작업 유형에 따라 달라집니다. 채팅 및 완료 엔드포인트는 스트리밍 응답을 지원합니다.
사용법
응답에는 요청 및 응답의 토큰 수를 보고하는 usage 하위 메시지가 포함됩니다. 이 하위 메시지의 형식은 모든 작업 유형에서 동일합니다.
필드
유형
묘사
completion_tokens
정수
생성된 토큰 수입니다. 임베딩 응답에 포함되지 않습니다.
prompt_tokens
정수
입력 프롬프트의 토큰 수입니다.
total_tokens
정수
총 토큰 수입니다.
Meta-Llama-3.3-70B-Instruct 같은 모델의 경우 사용자 프롬프트가 모델에 전달되기 전에 프롬프트 템플릿을 사용하여 변환됩니다. 토큰당 종량제 엔드포인트의 경우 시스템 프롬프트도 추가될 수 있습니다.
prompt_tokens는 서버가 추가한 모든 텍스트를 포함합니다.
tools 필드와 함께만 사용됩니다.
tool_choiceauto, required및 none같은 다양한 키워드 문자열을 지원합니다.
auto 모델에서 사용과 관련된 도구(있는 경우)를 결정하도록 하는 것을 의미합니다. 모델에서 auto 도구가 관련이 있다고 생각하지 않는 경우 tools 사용하여 모델은 도구 호출 대신 표준 도우미 메시지를 생성합니다.
required 모델이 tools 가장 관련성이 큰 도구를 선택하고 도구 호출을 생성해야 했음을 의미합니다.
none 모델이 도구 호출을 생성하지 않고 대신 표준 도우미 메시지를 생성해야 했음을 의미합니다.
tools정의된 특정 도구를 사용하여 도구를 강제로 호출하려면 ToolChoiceObject사용합니다. 기본적으로 tools 필드가 채워지면 tool_choice = "auto". 그렇지 않으면 tools 필드는 기본적으로 tool_choice = "none"
모델에서 생성된 스트리밍 응답 중 하나인 채팅 완료 메시지입니다. 첫 번째 청크만 role가 포함됨이 보장됩니다.
finish_reason
문자열
모델이 토큰 생성을 중지한 이유입니다. 마지막 청크에만 이 내용이 채워집니다.
작업 완료
텍스트 완성 작업은 단일 프롬프트에 대한 응답을 생성하기 위한 것입니다. 채팅과 달리 이 작업은 일괄 처리된 입력을 지원합니다. 하나의 요청으로 여러 개의 독립적인 프롬프트를 보낼 수 있습니다. 엔드포인트 매개 변수를 쿼리하는 POST /serving-endpoints/{name}/invocations 참조하세요.
완료 요청
필드
기본값
유형
묘사
prompt
String(문자열) 또는 List[String](리스트)
필수. 모델용 프롬프트입니다.
max_tokens
null
null- 제한이 없거나 0보다 큰 정수입니다.
생성할 최대 토큰 수입니다.
stream
true
부울
요청에 대한 부분 결과를 허용하기 위해 클라이언트로 응답을 다시 스트리밍합니다. 이 매개 변수가 요청에 포함된 경우, 서버에서 보낸 이벤트 표준을 사용하여 응답이 전송됩니다.
temperature
1.0
[0,2] 범위의 실수
샘플링 온도입니다. 0은 결정적이며 값이 높을수록 더 많은 임의성이 발생합니다.
top_p
1.0
실수 (0,1] 안에
핵 샘플링에 사용되는 확률 임계값입니다.
top_k
null
null- 제한이 없거나 0보다 큰 정수입니다.
상위 k 필터링에 사용할 가능성이 가장 큰 k 토큰 수를 정의합니다. 출력을 결정적으로 만들려면 이 값을 1로 설정합니다.
error_behavior
"error"
"truncate" 또는 "error"
시간 제한 및 컨텍스트 길이 초과 오류의 경우
"truncate"(가능한 한 많은 토큰 반환) 및 "error"(오류 반환) 중 하나입니다. 이 매개 변수는 토큰 엔드포인트당 지불로만 허용됩니다.
n
1
0보다 큰 정수
API는 n 지정되면 n 독립적인 채팅 완료를 반환합니다. 추가 유추 효율성 및 비용 절감을 위해 동일한 입력에서 여러 완료를 생성하는 워크로드에 권장됩니다. 프로비전된 처리량 엔드포인트에만 사용할 수 있습니다.
지침은 선택 사항이며 모델에 매우 의존적입니다. 예를 들어, BGE 작성자는 청크를 인덱싱할 때 별도의 지시를 사용하지 말 것을 권장하며, 검색 쿼리를 위해 명령 "Represent this sentence for searching relevant passages:"을 사용하는 것을 추천합니다. Instructor-XL 같은 다른 모델은 다양한 명령 문자열을 지원합니다.