Referência da API REST do modelo básico
API Este artigo fornece informações gerais sobre as APIs do Databricks Foundation Model e os modelos que elas suportam. 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 da taxa de transferência aceitam o mesmo formato de solicitação da API REST.
endpoint
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 a 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 de API. Por exemplo, ambos os modelos são modelos de bate-papo.
Solicitações e respostas usam JSON, a estrutura JSON exata depende do tipo de tarefa de um endpoint. O endpoint de bate-papo e conclusão oferece suporte a respostas de transmissão.
As cargas de trabalho pay-per-tokens suportam determinados modelos. Consulte Modelos suportados para pay-per-tokens para conhecer esses modelos e os formatos de API aceitos.
Uso
As respostas incluem uma submensagem usage
que informa o número de tokens na solicitação e na resposta. O formato desta submensagem é o mesmo em todos os tipos de tarefa.
campo |
Tipo |
Descrição |
---|---|---|
|
Inteiro |
Número de tokens gerados. Não incluído na incorporação de respostas. |
|
Inteiro |
Número de tokens dos prompts de entrada. |
|
Inteiro |
Número total de tokens. |
Para modelos como llama-2-70b-chat
, um prompt do usuário é transformado usando um prompt padrão antes de ser passado para o modelo. Para endpoint de pagamento por tokens, um prompt do sistema também pode ser adicionado. prompt_tokens
inclui todo o texto adicionado pelo nosso servidor.
Tarefa de bate-papo
As tarefas de bate-papo são otimizadas para conversas múltiplas com um modelo. Cada solicitação descreve a conversa até o momento, onde o campo messages
deve alternar entre os papéis user
e assistant
, terminando com uma mensagem user
. A resposta do modelo fornece a próxima mensagem assistant
na conversa.
Solicitação de bate-papo
campo |
Padrão |
Tipo |
Descrição |
---|---|---|---|
|
Necessário. Uma lista de mensagens que representam a conversa atual. |
||
|
|
|
O número máximo de tokens a serem gerados. |
|
|
Boolean |
transmitir respostas de volta a um cliente para permitir resultados parciais para solicitações. Se este parâmetro estiver 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 amostragem nuclear. |
|
|
|
Define o número de k tokens mais prováveis a serem usados para filtragem top-k. Defina esse valor como 1 para tornar as saídas determinísticas. |
|
[] |
strings ou Lista[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 |
|
|
|
Boolean |
Esse parâmetro indica se o senhor deve fornecer a log probabilidade de um token ser amostrado. |
|
|
Inteiro |
Esse parâmetro controla o número de candidatos a tokens mais prováveis para retornar log probabilidades em cada amostragem ou passo. Pode ser de 0 a 20. |
ChatMessage
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Necessário. A função 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. |
|
Lista ToolCall |
A lista de |
|
String |
Quando |
A função system
só pode ser usada uma vez, como a primeira mensagem de uma conversa. Ele substitui o prompt do sistema default do modelo.
ToolCall
Uma sugestão de ação de chamada de ferramenta pelo modelo. Consulte Chamada de função em Databricks.
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Necessário. Um identificador exclusivo para essa sugestão de chamada de ferramenta. |
|
String |
Necessário. Somente |
|
Necessário. Uma chamada de função sugerida pelo modelo. |
FunctionCallCompletion
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Necessário. O nome da função recomendada pelo modelo. |
|
Objeto |
Necessá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 |
Necessário. O tipo de ferramenta. Atualmente, apenas |
|
Objeto |
Necessário. Um objeto que define a ferramenta a ser chamada no formato |
ToolObject
Consulte Chamada de função em Databricks.
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Necessário. O tipo de ferramenta. Atualmente, apenas |
|
Necessário. A definição da função associada à ferramenta. |
FunctionObject
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Necessário. O nome da função a ser chamada. |
|
Objeto |
Necessá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 de 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 |
|
Boolean |
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. |
|
Boolean |
Se deve habilitar a adesão estrita ao esquema ao gerar a saída. Se definido como |
Resposta do bate-papo
Para solicitações sem transmissão, a resposta é um único objeto de conclusão do chat. Para solicitações de transmissão, a resposta é um text/event-stream
onde cada evento é um objeto de pedaço de conclusão. A estrutura de nível superior dos objetos de conclusão e bloco é quase idêntica: apenas choices
tem um tipo diferente.
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Identificador exclusivo para conclusão do chat. |
|
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 |
|
Inteiro |
O tempo em que a conclusão do chat foi gerada em segundos. |
|
String |
A versão do modelo usada para gerar a resposta. |
|
metadados de uso tokens . Pode não estar presente nas respostas de transmissão. |
ChatCompletionChoice
campo |
Tipo |
Descrição |
---|---|---|
|
Inteiro |
O índice da escolha na lista de opções geradas. |
|
Uma mensagem de conclusão do chat retornada pelo modelo. A função será |
|
|
String |
O motivo pelo qual o modelo parou de gerar tokens. |
ChatCompletionChunk
campo |
Tipo |
Descrição |
---|---|---|
|
Inteiro |
O índice da escolha na lista de opções geradas. |
|
Uma mensagem de conclusão do chat faz parte das respostas de transmissão geradas do modelo. É garantido que apenas o primeiro bloco tenha |
|
|
String |
O motivo pelo qual o modelo parou de gerar tokens. Somente o último pedaço terá isso preenchido. |
Tarefa de conclusão
As tarefas de preenchimento de texto servem para gerar respostas a um único prompt. Ao contrário do Chat, esta tarefa suporta entradas de lotes: vários prompts independentes podem ser enviados em uma solicitação.
Solicitação de conclusão
campo |
Padrão |
Tipo |
Descrição |
---|---|---|---|
|
strings ou Lista[strings] |
Necessário. O(s) prompt(s) do modelo. |
|
|
|
|
O número máximo de tokens a serem gerados. |
|
|
Boolean |
transmitir respostas de volta a um cliente para permitir resultados parciais para solicitações. Se este parâmetro estiver 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 amostragem nuclear. |
|
|
|
Define o número de k tokens mais prováveis a serem usados para 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 de: |
|
1 |
Número inteiro maior que zero |
A API retorna |
|
[] |
strings ou Lista[strings] |
O modelo para de gerar mais tokens quando qualquer uma das sequências em |
|
|
String |
Uma strings anexada ao final de cada conclusão. |
|
|
Boolean |
Retorna o prompt junto com a conclusão. |
|
|
Boolean |
Se |
Resposta de conclusão
campo |
Tipo |
Descrição |
---|---|---|
|
String |
Identificador exclusivo para o preenchimento do texto. |
|
Uma lista de complementos de texto. Para cada prompt passado, são geradas |
|
|
String |
O tipo de objeto. Igual a |
|
Inteiro |
O tempo em que a conclusão foi gerada em segundos. |
|
metadados de uso tokens . |
Incorporando tarefa
Incorporação de strings de entrada do mapa de tarefas em vetores de incorporação. Muitas entradas podem ser agrupadas em cada solicitação.
Solicitação de incorporação
campo |
Tipo |
Descrição |
---|---|---|
|
strings ou Lista[strings] |
Necessá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 BGE não recomendam nenhuma instrução ao indexar pedaços e recomendam o uso da instrução "Represent this sentence for searching relevant passages:"
para query de recuperação. Outros modelos como o Instructor-XL suportam uma ampla variedade de strings de instruções.