Skip to main content
POST
https://sac-waffle-v2.theo-110.workers.dev
/
openai
/
chat-with-tools
curl -X POST https://sac-waffle-v2.theo-110.workers.dev/openai/chat-with-tools \
  -H "Authorization: Bearer seu_token_jwt" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Que dia é hoje? E que dia da semana?",
    "tools": ["get_current_date"],
    "temperature": 0.3
  }'
{
  "success": true,
  "data": {
    "content": "Hoje é segunda-feira, 15 de janeiro de 2024, às 14:30 no horário de São Paulo.",
    "toolResults": [
      {
        "toolName": "get_current_date",
        "arguments": {},
        "result": {
          "formatted": "15/01/2024 14:30:45, segunda-feira",
          "iso": "2024-01-15T17:30:45.123Z",
          "timestamp": 1705337445123
        },
        "timestamp": 1705337445000
      }
    ],
    "usage": {
      "promptTokens": 85,
      "completionTokens": 125,
      "totalTokens": 210
    },
    "finishReason": "stop"
  }
}

Descrição

Chat completion com suporte a function calling (tools). Permite que o modelo chame funções específicas para obter informações ou executar ações durante a conversa.

Headers

Authorization
string
required
Bearer token JWT para autenticação
Content-Type
string
required
application/json

Body Parameters

prompt
string
required
Mensagem ou prompt para o modelo processar
systemPrompt
string
Instruções do sistema para configurar o comportamento
model
string
default:"gpt-4o-mini"
Modelo GPT a ser usadoRecomendado para tools:
  • gpt-4o-mini - Bom custo-benefício
  • gpt-4o - Melhor precisão em tools complexas
temperature
number
default:"0.7"
Controla a criatividade (0.0 a 2.0)Para tools: Recomenda-se 0.3 ou menor para precisão
tools
array
Lista de tools disponíveis para usoTools internas disponíveis:
  • get_current_date - Obtém data/hora atual
  • format_json - Formata e valida JSON
Exemplo:
["get_current_date", "format_json"]
maxToolIterations
number
default:"5"
Número máximo de iterações de toolsConsiderações:
  • Cada iteração consome tokens adicionais
  • Evita loops infinitos
  • 5 é suficiente para a maioria dos casos

Response

success
boolean
required
Indica se a operação foi bem-sucedida
data
object
curl -X POST https://sac-waffle-v2.theo-110.workers.dev/openai/chat-with-tools \
  -H "Authorization: Bearer seu_token_jwt" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Que dia é hoje? E que dia da semana?",
    "tools": ["get_current_date"],
    "temperature": 0.3
  }'
{
  "success": true,
  "data": {
    "content": "Hoje é segunda-feira, 15 de janeiro de 2024, às 14:30 no horário de São Paulo.",
    "toolResults": [
      {
        "toolName": "get_current_date",
        "arguments": {},
        "result": {
          "formatted": "15/01/2024 14:30:45, segunda-feira",
          "iso": "2024-01-15T17:30:45.123Z",
          "timestamp": 1705337445123
        },
        "timestamp": 1705337445000
      }
    ],
    "usage": {
      "promptTokens": 85,
      "completionTokens": 125,
      "totalTokens": 210
    },
    "finishReason": "stop"
  }
}