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
O Foundation Model APIs oferece suporte ao endpoint pay-per-tokens e ao endpoint de provisionamento da Taxa de transferência.
Um endpoint pré-configurado está disponível em seu workspace para cada modelo compatível com pay-per-tokens, e os usuários podem interagir com esse endpoint usando solicitações HTTP POST. Consulte Pay-per-tokens para ver os modelos compatíveis.
provisionamento O ponto de extremidade da taxa de transferência pode ser criado usando o site API ou a UI de serviço. Esses endpoints 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.
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 Meta-Llama-3.3-70B-Instruct
, 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. 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 | |
|
| Booleana | Esse parâmetro indica se o senhor deve fornecer a log probabilidade de um token ser amostrado. |
|
| Integer | Esse parâmetro controla o número de candidatos a tokens 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á adequada 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. Uma das opções: |
| 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. |
CompletionChoice
campo | Tipo | Descrição |
---|---|---|
| Integer | O índice do prompt na solicitação. |
| String | A conclusão gerada. |
| String | O motivo pelo qual o modelo parou de gerar 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 gama de instruções strings.
Resposta de incorporações
campo | Tipo | Descrição |
---|---|---|
| String | Identificador exclusivo para a incorporação. |
| String | O tipo de objeto. Igual a |
| String | O nome do modelo de incorporação usado para criar a incorporação. |
| O objeto de incorporação. | |
| metadados de uso de tokens. |
EmbeddingObject
campo | Tipo | Descrição |
---|---|---|
| String | O tipo de objeto. Igual a |
| Integer | O índice da incorporação na lista de incorporações gerada pelo modelo. |
| Lista [Float] | O vetor de incorporação. Cada modelo retornará um vetor de tamanho fixo (1024 para BGE-Large) |