Integração Cognitiva Avançada no Navegador
Você transformará a sua interface em um sistema inteligente vivo. Você aprenderá como configurar chamadas seguras para a API do Google Gemini, criar um fluxo RAG para buscar informações em documentos proprietários sem sofrer com alucinações, programar Skills para a IA disparar e-mails ou ler o banco de dados e lançar um agente autônomo conversacional.
⏱️ Horas 19-21: Integração com Google API & Engenharia de Prompts
1. Segurança da Chave de API (.env) e Chamadas Assíncronas
Nunca salve a sua chave de API diretamente no código de frontend público. Qualquer pessoa que inspecionar a página poderá roubá-la e utilizá-la em seu nome. A regra de ouro: as chamadas para a API de IA são feitas no backend (PHP/Node.js) ou por meio de proxies seguros com tratamento de variáveis de ambiente.
2. Endpoint Seguro em PHP para Gemini API
Abaixo está um script em PHP que atua como ponte segura entre o seu frontend e a API do Gemini:
<?php
// backend/generate_copy.php
header('Content-Type: application/json');
$apiKey = getenv('GEMINI_API_KEY') ?: 'SUA_CHAVE_AQUI_CASO_LOCAL';
$data = json_decode(file_get_contents('php://input'), true);
$inputText = $data['text'] ?? '';
$formula = $data['formula'] ?? 'aida';
if (empty($inputText)) {
echo json_encode(['error' => 'Texto de entrada esta vazio']);
exit;
}
// Configuração do Prompt de Sistema
$systemPrompt = "Você é um especialista em copywriting e marketing digital. " .
"Sua tarefa é reescrever o texto enviado pelo usuário usando a fórmula " . strtoupper($formula) . ". " .
"Mantenha a resposta curta, direta e estruturada de forma clara para o usuário copiar.";
$url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=" . $apiKey;
$payload = [
"contents" => [
[
"role" => "user",
"parts" => [
["text" => $systemPrompt . "\n\nTexto original: " . $inputText]
]
]
]
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
⏱️ Horas 22-24: Arquitetura RAG (Retrieval-Augmented Generation)
1. O que é RAG?
O RAG impede que a Inteligência Artificial invente informações falsas (alucinações). Antes de enviar a pergunta do usuário para o Gemini, o sistema consulta uma base de dados local ou arquivo texto contendo fatos reais (ex: regras de preço do curso, catálogo de produtos, manuais) e injeta esse conteúdo como "contexto verdadeiro".
O caminho percorrido pela informação:
Pergunta ──► [Buscar no FAQ SQLite / Arquivo] ──► Mesclar com o Prompt ──► Gemini ──► Resposta Precisa
2. Exemplo Simples de RAG em PHP
<?php
// Exemplo prático de busca de contexto local (RAG manual)
$userQuestion = "Quanto custa a mentoria?";
// Nossa base de conhecimento proprietária
$knowledgeBase = [
"preco" => "A mentoria Criando Sites com IA custa R$ 1.497,00 reais à vista ou em até 12x no cartão de crédito.",
"carga_horaria" => "A carga horária total é de 27 horas práticas divididas em 3 blocos de 9 horas.",
"pre_requisitos" => "Não há pré-requisitos técnicos. O curso vai do absoluto zero ao deploy."
];
// Busca semântica simplificada (por palavras-chave relevantes)
$context = "";
if (stripos($userQuestion, 'cust') !== false || stripos($userQuestion, 'preço') !== false || stripos($userQuestion, 'valor') !== false) {
$context = $knowledgeBase['preco'];
} elseif (stripos($userQuestion, 'hora') !== false || stripos($userQuestion, 'duração') !== false) {
$context = $knowledgeBase['carga_horaria'];
}
// Injeção de contexto no prompt final
$ragPrompt = "Você é o assistente virtual da Mentoria Jorge Batista.\n" .
"Responda à pergunta do aluno utilizando APENAS o Contexto Confiável abaixo.\n" .
"Se a resposta não estiver no contexto, diga educadamente que não sabe e sugira falar com o suporte humano.\n\n" .
"Contexto Confiável: " . $context . "\n\n" .
"Pergunta do Aluno: " . $userQuestion;
// O prompt acima é o que enviamos à API do Gemini!
⏱️ Horas 25-27: Desenvolvimento de AI Skills & Agentes Autónomos
1. Dotando a IA de Ferramentas Ativas (Skills)
Uma AI Skill (Habilidade) é um script que a IA pode decidir executar quando julgar necessário. Em vez de apenas conversar, o modelo pode disparar funções externas no seu servidor.
- Skill de E-mail: A IA coleta os dados do usuário durante a conversa e chama uma API de e-mail local para enviar uma proposta de vendas.
- Skill de Banco de Dados: O Agente consulta o arquivo do SQLite (`course_manager.sqlite`) para verificar se há vagas ativas em um determinado curso em tempo real.
2. Código Conceitual: Chatbot com Habilidade de Cadastro
// Habilidade da IA declarada como Function Calling no Gemini
const registerLeadSkill = {
name: "cadastrarLeadInteressado",
description: "Salva o nome, e-mail e WhatsApp de um lead no banco de dados da mentoria quando ele demonstrar desejo de inscrição.",
parameters: {
type: "OBJECT",
properties: {
nome: { type: "STRING", description: "Nome completo do lead" },
email: { type: "STRING", description: "Endereço de e-mail válido" },
whatsapp: { type: "STRING", description: "Número de contato com DDD" }
},
required: ["nome", "email", "whatsapp"]
}
};
// O Gemini analisa a conversa e retorna um objeto solicitando a execução desta função!