Experimente chamadas de função e saídas estruturadas instantaneamente

saídas estruturadas e chamadas de função

Os modelos modernos de IA estão evoluindo além da simples geração de texto. Com recursos como Chamada de função e Resultados Estruturados, os desenvolvedores agora podem criar aplicativos mais inteligentes e confiáveis. Novita AI, agora você pode verificar rapidamente se um modelo oferece suporte a esses recursos dentro do Console, tornando a integração mais rápida e eficiente.

O que é chamada de função?

A chamada de função é uma capacidade em IA, especialmente com grandes modelos de linguagem (LLMs), que permite que o modelo interaja com funções, ferramentas ou APIs externas para executar tarefas específicas além da geração de respostas em texto. Em vez de apenas produzir texto, o modelo identifica quando uma função específica deve ser chamada com base no prompt do usuário, determina a função correta a ser invocada e especifica os parâmetros necessários para essa função. A execução real da função é gerenciada por um sistema ou aplicativo externo, não pelo modelo em si.

Como funciona a chamada de função?

A chamada de função permite que os modelos de IA interajam com ferramentas externas, APIs ou funções internas durante uma conversa. Em vez de simplesmente gerar texto, o modelo pode reconhecer quando uma função é necessária, gerar a chamada de função correta com argumentos estruturados e execute-o para recuperar resultadosIsso preenche a lacuna entre a compreensão da linguagem natural e a ação no mundo real, permitindo que os modelos executem tarefas como buscar dados em tempo real, gerenciar fluxos de trabalho ou acionar ações do sistema automaticamente.

Quais são os benefícios da chamada de função?

  • Interação no mundo real:Os modelos podem desencadear ações, não apenas fornecer informações.
  • Completa: Simplifique processos como recuperação de dados, reservas, envios de formulários e muito mais.
  • Compreensão Estruturada: Em vez de depender apenas da geração de texto, o modelo organiza a saída em formatos predefinidos, reduzindo erros.
  • Casos de uso aprimorados: Crie aplicativos, assistentes e sistemas dinâmicos que sejam mais confiáveis ​​e eficientes.
  • Eficiência do desenvolvedor: Ao saber que um modelo oferece suporte a chamadas de função antecipadamente, você pode planejar integrações mais rapidamente, sem grandes modificações.

O que são saídas estruturadas?

Saídas estruturadas referem-se à capacidade de grandes modelos de linguagem (LLMs) gerar respostas que obedeçam a um formato específico e predefinido, em vez de produzir texto livre. Essas saídas geralmente estão em formatos legíveis por máquina, como JSON, XML, modelos preenchidos ou dados tabulares, o que as torna mais fáceis de analisar, validar e integrar em sistemas de software ou fluxos de trabalho.

Como as saídas estruturadas são geradas

  • Técnicas de solicitação: O modelo é guiado por meio de instruções cuidadosamente elaboradas para produzir saída no formato desejado.
  • APIs de chamada de função: De forma mais robusta, saídas estruturadas podem ser geradas usando interfaces de chamada de função onde o modelo retorna argumentos em conformidade estrita com o esquema de uma função, muitas vezes imposto pela configuração de parâmetros como strict: true.
  • Orientação sobre Máquina de Estados Finitos (FSM): Internamente, a geração pode ser restringida para que cada token produzido cumpra as regras do formato de saída, reduzindo erros na estrutura.

Casos de uso e benefícios

  • Extração de dados estruturados de texto não estruturado, como detalhes de eventos, informações do usuário ou parâmetros de consulta.
  • Acionando APIs ou funções externas com parâmetros precisos gerados pelo modelo.
  • Criação de fluxos de trabalho complexos de várias etapas que dependem de troca de dados consistente e validada.
  • Melhorando a confiabilidade em aplicativos como chatbots, extração de dados e sistemas de automação, reduzindo a ambiguidade nas saídas do modelo.

Chamada de função e saídas estruturadas

Aspecto🛠️ Chamada de função🗂️ Saídas Estruturadas
PropósitoAcionar uma função externaRetornar informações estruturadas
OrientaçãoOrientado para a açãoOrientado para a informação
saídaNome da função + argumentosDados estruturados predefinidos (por exemplo, JSON)
ExemploChame uma API do clima para obter a previsãoRetornar um relatório meteorológico em formato JSON
Cenário de UsoQuando você precisa que o modelo execute uma açãoQuando você precisa de dados limpos e analisáveis ​​sem uma ação

Como verificar chamadas de função e saídas estruturadas em Novita AI?

1: Faça login Novita AI

Uma vez que você pousa no Novita AI página inicial, basta clicar em "Login" or "Iniciar" botão no canto superior direito. Você pode fazer login facilmente com Google, GitHub, Abraçando o rosto, ou apenas seu E-mail—a escolha é sua!

login na sua conta MXNUMX
NOVITA AI ASSINALAR EM

Clique em “Model API” no Console!

Após efetuar login, você será direcionado para o painel do Novita Console. No topo, clique em “API de modelo”. Esta seção fornece acesso a uma lista completa de modelos disponíveis, juntamente com informações detalhadas sobre seus recursos, incluindo se eles oferecem suporte Chamada de função e Resultados Estruturados.

Etapa 2: Clique em "Model API" no Console

Escolha seu modelo e confira!

Basta encontrar o modelo de seu interesse, clicar nele e um painel aparecerá à direita. Abaixo “Capacidades Suportadas” você verá instantaneamente se Chamada de função e Resultados Estruturados são suportados.

Etapa 3: Escolha seu modelo e confira!
função chamando em novita ai

Como usar a chamada de função em Novita AI?

1. Inicializar o cliente

Primeiro, você precisa inicializar o cliente com sua chave de API Novita.

de openai importar OpenAI importar cliente json = OpenAI( base_url="https://api.novita.ai/v3/openai", # Obtenha o Novita AI Chave API de: https://novita.ai/settings/key-management.api_key="<SEU Novita AI Chave API>", ) modelo = "meta-llama/llama-4-maverick-17b-128e-instruct-fp8"
  • Defina a função a ser chamada

Em seguida, defina a função Python que o modelo pode chamar. Neste exemplo, é uma função para obter informações meteorológicas.

# Função de exemplo para simular a busca de dados meteorológicos. def get_weather(location): """Recupera o clima atual para um determinado local.""" print("Chamando a função get_weather com location: ", location) # Em um aplicativo real, você chamaria uma API meteorológica externa aqui. # Este é um exemplo simplificado que retorna dados codificados. return json.dumps({"location": location, "temperature": "60 degrees Fahrenheit"})

2. Construa a solicitação de API com ferramentas e mensagem do usuário

Agora, crie a solicitação de API para o endpoint Novita. Esta solicitação inclui o tools parâmetro, definindo as funções que o modelo pode usar e a mensagem do usuário.

tools = [ { "type": "function", "function": { "name": "get_weather", "description": "Obtenha o clima de um local, o usuário deve fornecer um local primeiro", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "A cidade e o estado, por exemplo, São Francisco, CA", } }, "required": ["location"] }, } }, ] messages = [ { "role": "user", "content": "Qual é o clima em São Francisco?" } ] # Vamos enviar a solicitação e imprimir a resposta. response = client.chat.completions.create( model=model, messages=messages, tools=tools, ) # Verifique se a resposta contém chamadas de ferramentas se estiver em produção. tool_call = resposta.escolhas[0].mensagem.tool_calls[0] print(tool_call.model_dump())

3. Saída

{'id': '0', 'function': {'argumentos': '{"location": "San Francisco, CA"}', 'nome': 'get_weather'}, 'tipo': 'function'}

4. Responda com o resultado da chamada de função e obtenha a resposta final

O próximo passo é processar a chamada da função, executar o get_weather função e enviar o resultado de volta ao modelo para gerar a resposta final ao usuário.

# Certifique-se de que tool_call esteja definido na etapa anterior if tool_call: # Estenda o histórico de conversas com a mensagem de chamada de ferramenta do assistente messages.append(response.choices[0].message) function_name = tool_call.function.name if function_name == "get_weather": function_args = json.loads(tool_call.function.arguments) # Execute a função e obtenha a resposta function_response = get_weather( location=function_args.get("location")) # Anexe a resposta da função às mensagens messages.append( { "tool_call_id": tool_call.id, "role": "tool", "content": function_response, } ) # Obtenha a resposta final do modelo, agora com o resultado da função answer_response = client.chat.completions.create( model=model, messages=messages, # Observação: não inclua o parâmetro tools aqui. ) imprimir(resposta_resposta.escolhas[0].mensagem)

5. Saída

{'id': '0', 'function': {'argumentos': '{"location": "San Francisco, CA"}', 'nome': 'get_weather'}, 'tipo': 'function'}

Como usar saídas estruturadas em Novita AI?

1. Inicializar o cliente

Primeiro, você precisa inicializar o cliente com sua chave de API Novita.

de openai importar cliente OpenAI = OpenAI( base_url="https://api.novita.ai/v3/openai", # Obtenha o Novita AI Chave API de: https://novita.ai/configurações/gerenciamento-de-chaves.api_key=" Novita AI Chave API>", ) # Vá para [Modelos](https://novita.ai/models) para ver os modelos que suportam `Saídas Estruturadas`. model = "mistralai/mistral-7b-instruct"

2. Defina o esquema JSON

Este exemplo cria um esquema para extrair informações de despesas da entrada do usuário.

# Defina o prompt do sistema para rastreamento de despesas. system_prompt = """Você é um assistente de rastreamento de despesas. Extraia informações de despesas da entrada do usuário e formate-as de acordo com o esquema fornecido.""" # Defina o esquema JSON para resposta estruturada. response_format = { "type": "json_schema", "json_schema": { "name": "expense_tracking_schema", "schema": { "type": "object", "properties": { "expenses": { "type": "array", "items": { "type": "object", "properties": { "description": { "type": "string", "description": "Descrição da despesa" }, "amount": { "type": "number", "description": "Valor gasto em dólares" }, "date": { "type": "string", "description": "Quando a despesa ocorreu" }, "category": { "type": "string", "description": "Categoria da despesa (por exemplo, alimentação, escritório, viagem)" } }, "required": [ "description", "amount" ] } }, "total": { "type": "number", "description": "Valor total de todas as despesas" } }, "required": [ "expenses", "total" ], }, }, }

3. Solicitar API de conclusão de bate-papo

Agora, faça a solicitação de conclusão do bate-papo para o endpoint do Novita.

Este pedido inclui o response_format parâmetro, definindo o esquema JSON que definimos na etapa anterior.

chat_completion = client.chat.completions.create( model=model, messages=[ { "role": "system", "content": system_prompt, }, { "role": "user", "content": """Gastei US$ 120 em um jantar em um restaurante italiano na sexta-feira passada com meus colegas. Também comprei materiais de escritório por US$ 45 na segunda-feira.""", }, ], max_tokens=1024, temperature=0.8, stream=False, response_format=response_format, ) response_content = chat_completion.choices[0].message.content # Analisar e embelezar o JSON try: json_response = json.loads(response_content) prettified_json = json.dumps(json_response, indent=2) print(prettified_json) except json.JSONDecodeError: print("Não foi possível analisar a resposta como JSON. Resposta bruta:") print(response_content)

4. Produto:

{ "despesas": [ { "data": "2023-03-17", "descrição": "Jantar em restaurante italiano", "valor": 120, "categoria": "Comida e jantar" }, { "data": "2023-03-13", "descrição": "Material de escritório", "valor": 45, "categoria": "Material de escritório" } ], "total": 165 }

Chamadas de Função e Saídas Estruturadas expandem significativamente o que os modelos de IA podem fazer. Seja para automatizar fluxos de trabalho, buscar dados em tempo real ou extrair informações estruturadas, Novita AI facilita a busca por modelos que atendam às suas necessidades. Comece a construir aplicativos mais inteligentes hoje mesmo explorando modelos no Console Novita!

Perguntas frequentes

O que é chamada de função em modelos de IA?

Ele permite que modelos acionem ferramentas externas ou APIs gerando chamadas de funções estruturadas com base em prompts do usuário.

O que são saídas estruturadas?

Saídas estruturadas referem-se a respostas de modelo em formatos estritos e legíveis por máquina, como JSON, ideais para fácil integração.

Qual a diferença entre Chamada de Função e Saídas Estruturadas?

A chamada de função é orientada por ações (por exemplo, obter informações sobre o clima), enquanto as saídas estruturadas se concentram em retornar dados limpos e formatados.

Novita AI é a plataforma de nuvem completa que potencializa suas ambições de IA. APIs integradas, sem servidor, GPU Instância — as ferramentas econômicas que você precisa. Elimine a infraestrutura, comece de graça e transforme sua visão de IA em realidade.


Descubra mais da Novita

Inscreva-se para receber as últimas postagens enviadas para seu e-mail.

Deixe um comentário

Voltar ao Topo

Descubra mais da Novita

Inscreva-se agora para continuar lendo e ter acesso ao arquivo completo.

Ler Mais