Referência da API REST do modelo básico
Este artigo fornece API informações gerais sobre Databricks o Foundation Model APIs e os modelos que ele suporta. As APIs do Foundation Model foram projetadas para serem semelhantes à API REST da OpenAI para facilitar a migração de projetos existentes. Tanto o endpoint de pagamento por tokens quanto o de provisionamento aceitam o mesmo formato de solicitação REST API .
ponto final
Cada modelo pay-per-tokens tem um único endpoint, e os usuários podem interagir com esse endpoint usando solicitações HTTP POST. provisionamento O ponto de extremidade da taxa de transferência pode ser criado usando o site API ou a UI de serviço. Esses pontos de extremidade também suportam vários modelos por endpoint para testes A/B, desde que ambos os modelos atendidos exponham o mesmo formato API. Por exemplo, os dois modelos são modelos de bate-papo. Consulte POST /api/2.0/serving-endpoint para os parâmetros de configuração do endpoint.
As solicitações e respostas usam JSON, e a estrutura exata do JSON depende do tipo de tarefa de um endpoint. O chat e o endpoint de conclusão suportam respostas de transmissão.
As cargas de trabalho pay-per-tokens são compatíveis com determinados modelos. Consulte Modelos compatíveis para pay-per-tokens para conhecer esses modelos e os formatos aceitos em API.
Uso
As respostas incluem uma submensagem usage
que informa o número de tokens na solicitação e na resposta. O formato dessa submensagem é o mesmo em todos os tipos de tarefa.
campo |
Tipo |
Descrição |
---|---|---|
|
Integer |
Número de tokens gerados. Não incluído na incorporação de respostas. |
|
Integer |
Número de tokens do(s) prompt(s) de entrada. |
|
Integer |
Número total de tokens. |
Para modelos como llama-2-70b-chat
, um prompt do usuário é transformado usando um padrão de prompt antes de ser passado para o modelo. Para o endpoint pay-per-tokens, um prompt do sistema também pode ser adicionado. prompt_tokens
inclui todo o texto adicionado pelo nosso servidor.
Chat tarefa
As tarefas de bate-papo são otimizadas para conversas de várias voltas com um modelo. Cada solicitação descreve a conversa até agora, na qual o campo messages
deve alternar entre as funções user
e assistant
, terminando com uma mensagem user
. A resposta do modelo fornece a próxima mensagem assistant
na conversa. Consulte POST /serving-endpoint/{name}/invocations para consultar os parâmetros de endpoint.
Solicitação de bate-papo
campo |
Padrão |
Tipo |
Descrição |
---|---|---|---|
|
Lista de mensagens de bate-papo |
Obrigatório. Uma lista de mensagens representando a conversa atual. |
|
|
|
|
O número máximo de tokens a serem gerados. |
|
|
Booleana |
transmite respostas de volta para um cliente para permitir resultados parciais para solicitações. Se esse parâmetro for incluído na solicitação, as respostas serão enviadas usando o padrão de eventos enviados pelo servidor. |
|
|
Flutuar em [0,2] |
A temperatura de amostragem. 0 é determinístico e valores mais altos introduzem mais aleatoriedade. |
|
|
Flutuar em (0,1] |
O limite de probabilidade usado para a amostragem do núcleo. |
|
|
|
Define o número de k tokens mais prováveis a serem usados na filtragem top-k. Defina esse valor como 1 para tornar as saídas determinísticas. |
|
[] |
strings ou List[strings] |
O modelo para de gerar mais tokens quando qualquer uma das sequências em |
|
1 |
Número inteiro maior que zero |
A API retorna |
|
|
strings ou ToolChoiceObject |
Usado somente em conjunto com o campo |
|
|
Uma lista de |
|
|
|
Um objeto especificando o formato que o modelo deve gerar. Os tipos aceitos são A configuração para Definir como |
|
|
|
Booleana |
Esse parâmetro indica se o senhor deve fornecer a probabilidade log de um token ser amostrado. |
|
|
Integer |
Esse parâmetro controla o número de tokens candidatos mais prováveis para retornar log probabilidades em cada etapa de amostragem. Pode ser de 0 a 20. |
ChatMessage
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Obrigatório. O papel do autor da mensagem. Pode ser |
|
String |
O conteúdo da mensagem. Necessário para tarefas de chat que não envolvam chamadas de ferramentas. |
|
A lista de |
|
|
String |
Quando |
A função system
só pode ser usada uma vez, como a primeira mensagem em uma conversa. Ele substitui o prompt do sistema default do modelo.
ToolCall
Uma sugestão de ação de chamada de ferramenta feita pelo modelo. Consulte Chamada de função em Databricks.
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Obrigatório. Um identificador exclusivo para essa sugestão de chamada de ferramenta. |
|
String |
Obrigatório. Somente |
|
Obrigatório. Uma chamada de função sugerida pelo modelo. |
FunctionCallCompletion
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Obrigatório. O nome da função recomendada pelo modelo. |
|
Objeto |
Obrigatório. Argumentos para a função como um dicionário JSON serializado. |
ToolChoiceObject
Consulte Chamada de função em Databricks.
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Obrigatório. O tipo da ferramenta. Atualmente, somente |
|
Objeto |
Obrigatório. Um objeto que define qual ferramenta chamar no formato |
ToolObject
Consulte Chamada de função em Databricks.
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Obrigatório. O tipo da ferramenta. Atualmente, somente |
|
Obrigatório. A definição da função associada à ferramenta. |
FunctionObject
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Obrigatório. O nome da função a ser chamada. |
|
Objeto |
Obrigatório. A descrição detalhada da função. O modelo usa essa descrição para entender a relevância da função para o prompt e gerar as chamadas da ferramenta com maior precisão. |
|
Objeto |
Os parâmetros que a função aceita, descritos como um objeto de esquema JSON válido. Se a ferramenta for chamada, a chamada da ferramenta será ajustada ao esquema JSON fornecido. A omissão de parâmetros define uma função sem nenhum parâmetro. O número de |
|
Booleana |
Se deve habilitar a adesão estrita ao esquema ao gerar a chamada de função. Se definido como |
ResponseFormatObject
Consulte Saídas estruturadas em Databricks.
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Obrigatório. O tipo de formato de resposta que está sendo definido. |
|
Obrigatório. O esquema JSON a ser seguido se |
JsonSchemaObject
Consulte Saídas estruturadas em Databricks.
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Obrigatório. O nome do formato de resposta. |
|
String |
Uma descrição da finalidade do formato de resposta, usada pelo modelo para determinar como responder no formato. |
|
Objeto |
Obrigatório. O esquema do formato de resposta, descrito como um objeto de esquema JSON. |
|
Booleana |
Se deve habilitar a adesão estrita ao esquema ao gerar a saída. Se definido como |
Resposta do chat
Para solicitações sem transmissão, a resposta é um único objeto de conclusão de chat. Para solicitações de transmissão, a resposta é um text/event-stream
em que cada evento é um objeto de bloco de conclusão. A estrutura de nível superior de objetos de conclusão e fragmentação é quase idêntica: somente choices
tem um tipo diferente.
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Identificador exclusivo para a conclusão do bate-papo. |
|
List[ChatCompletionChoice] ou List[ChatCompletionChunk] (transmissão) |
Lista de textos de conclusão de bate-papo. As opções |
|
String |
O tipo de objeto. Igual a |
|
Integer |
A hora em que a conclusão do bate-papo foi gerada em segundos. |
|
String |
A versão do modelo usada para gerar a resposta. |
|
metadados de uso de tokens. Pode não estar presente nas respostas de transmissão. |
ChatCompletionChoice
campo |
Tipo |
Descrição |
---|---|---|
|
Integer |
O índice da escolha na lista de opções geradas. |
|
Uma mensagem de conclusão do bate-papo retornada pela modelo. O papel será |
|
|
String |
O motivo pelo qual o modelo parou de gerar tokens. |
ChatCompletionChunk
campo |
Tipo |
Descrição |
---|---|---|
|
Integer |
O índice da escolha na lista de opções geradas. |
|
Uma mensagem de conclusão de bate-papo que faz parte das respostas de transmissão geradas pelo modelo. É garantido que apenas o primeiro pedaço tenha |
|
|
String |
O motivo pelo qual o modelo parou de gerar tokens. Somente o último pedaço terá isso preenchido. |
Tarefa de conclusão
A tarefa de conclusão de texto serve para gerar respostas a um único prompt. Ao contrário do Chat, essa tarefa suporta muitas entradas: vários prompts independentes podem ser enviados em uma única solicitação. Consulte POST /serving-endpoint/{name}/invocations para consultar os parâmetros de endpoint.
Solicitação de conclusão
campo |
Padrão |
Tipo |
Descrição |
---|---|---|---|
|
strings ou List[strings] |
Obrigatório. As instruções para o modelo. |
|
|
|
|
O número máximo de tokens a serem gerados. |
|
|
Booleana |
transmite respostas de volta para um cliente para permitir resultados parciais para solicitações. Se esse parâmetro for incluído na solicitação, as respostas serão enviadas usando o padrão de eventos enviados pelo servidor. |
|
|
Flutuar em [0,2] |
A temperatura de amostragem. 0 é determinístico e valores mais altos introduzem mais aleatoriedade. |
|
|
Flutuar em (0,1] |
O limite de probabilidade usado para a amostragem do núcleo. |
|
|
|
Define o número de k tokens mais prováveis a serem usados na filtragem top-k. Defina esse valor como 1 para tornar as saídas determinísticas. |
|
|
|
Para tempos limite e erros de comprimento de contexto excedido. Um dos seguintes: |
|
1 |
Número inteiro maior que zero |
A API retorna |
|
[] |
strings ou List[strings] |
O modelo para de gerar mais tokens quando qualquer uma das sequências em |
|
|
String |
Uma cadeia de caracteres que é anexada ao final de cada conclusão. |
|
|
Booleana |
Retorna o prompt junto com a conclusão. |
|
|
Booleana |
Se |
Resposta de conclusão
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Identificador exclusivo para o preenchimento do texto. |
|
Uma lista de conclusões de texto. Para cada prompt passado, as opções |
|
|
String |
O tipo de objeto. Igual a |
|
Integer |
A hora em que a conclusão foi gerada em segundos. |
|
metadados de uso de tokens. |
Tarefa de incorporação
A tarefa de incorporação mapeia a entrada strings em vetores de incorporação. Muitas entradas podem ser agrupadas em cada solicitação. Consulte POST /serving-endpoint/{name}/invocations para consultar os parâmetros de endpoint.
Solicitação de incorporação
campo |
Tipo |
Descrição |
---|---|---|
|
strings ou List[strings] |
Obrigatório. O texto de entrada a ser incorporado. Pode ser uma cadeia de caracteres ou uma lista de strings. |
|
String |
Uma instrução opcional a ser passada para o modelo de incorporação. |
As instruções são opcionais e altamente específicas do modelo. Por exemplo, os autores do The BGE não recomendam nenhuma instrução ao indexar blocos e recomendam o uso da instrução "Represent this sentence for searching relevant passages:"
para consultas de recuperação. Outros modelos, como o Instructor-XL, suportam uma ampla variedade de instruções strings.