
Classifique o sentimento dos seguintes comentários como Positivo, Negativo ou Neutro.
Exemplo 1:
Comentário: "Este produto superou todas as minhas expectativas! Recomendo muito."
Sentimento: Positivo
Exemplo 2:
Comentário: "Péssima experiência, chegou quebrado e o suporte não respondeu."
Sentimento: Negativo
Exemplo 3:
Comentário: "O produto é exatamente como descrito. Funciona normalmente."
Sentimento: Neutro
Agora classifique:
Comentário: "Adorei a rapidez da entrega, mas o produto não era bem o que esperava."
Sentimento:
Uma loja oferece 20% de desconto
em compras acima de R$100 e mais
10% de desconto adicional para
clientes VIP. Se um cliente VIP
compra R$150 em produtos, quanto
ele paga?
Resposta: R$108
[Mesmo problema]
Vamos pensar passo a passo:
1. Valor inicial: R$150
2. Desconto de 20%: 150 × 0.20 = R$30
3. Após primeiro desconto: 150 - 30 = R$120
4. Desconto VIP de 10%: 120 × 0.10 = R$12
5. Valor final: 120 - 12 = R$108
Resposta: R$108
Você é um assistente técnico especializado em JavaScript e React, focado em ajudar desenvolvedores a escrever código limpo e performático.
SUAS RESPONSABILIDADES:
- Fornecer soluções de código funcionais e bem comentadas
- Explicar conceitos técnicos de forma clara e direta
- Sugerir boas práticas e padrões de design quando relevante
- Apontar possíveis problemas de performance ou segurança
REGRAS OBRIGATÓRIAS:
- Sempre formate código usando blocos de código markdown com linguagem especificada
- Se não tiver certeza sobre algo, admita em vez de inventar
- Priorize soluções modernas usando ES6+ e React Hooks
- Inclua tratamento de erros em exemplos de código
- Mantenha respostas focadas e objetivas, evitando divagações
TOM E ESTILO:
- Profissional mas amigável
- Use exemplos práticos sempre que possível
- Evite jargão desnecessário
- Máximo de 5 parágrafos por explicação, use listas quando apropriado
Retorne um objeto JSON com esta estrutura:
{
"nome": string,
"idade": number,
"email": string,
"ativo": boolean
}
João Silva, 35 anos, mora em São Paulo.
Trabalha como desenvolvedor na TechCorp
desde 2020. Email: [email protected]
Telefone: (11) 98765-4321
Salário: R$ 12.000/mês
{
"nome": "João Silva",
"idade": 35,
"cidade": "São Paulo",
"cargo": "desenvolvedor",
"empresa": "TechCorp",
"anoContratacao": 2020,
"email": "[email protected]",
"telefone": "(11) 98765-4321",
"salario": 12000
}
Extraia as informações do texto abaixo e retorne um objeto JSON.
Schema obrigatório:
{
"nome": string,
"idade": number,
"cidade": string,
"cargo": string,
"empresa": string,
"anoContratacao": number,
"email": string,
"telefone": string,
"salario": number (valor numérico sem formatação)
}
Regras:
- Se algum campo não estiver presente no texto, use null
- Salário deve ser apenas o número, sem R$ ou formatação
- Retorne APENAS o JSON, sem texto adicional
Texto:
[inserir texto aqui]
JSON:
function calcularDesconto(valor, tipo) {
if (tipo === 'bronze') return valor * 0.95;
if (tipo === 'prata') return valor * 0.90;
if (tipo === 'ouro') return valor * 0.85;
return valor;
}
## calcularDesconto
Calcula o valor final após aplicar desconto
baseado no tipo de cliente.
**Parâmetros:**
- `valor` (number): Valor original da compra
- `tipo` (string): Tipo de cliente
('bronze', 'prata', 'ouro')
**Retorna:** (number) Valor com desconto aplicado
**Descontos:**
- Bronze: 5%
- Prata: 10%
- Ouro: 15%
**Exemplo:**
```javascript
calcularDesconto(100, 'ouro'); // 85
```
import { OpenAI } from 'langchain/llms/openai';
import { OpenAIEmbeddings } from 'langchain/embeddings/openai';
import { PineconeStore } from 'langchain/vectorstores/pinecone';
import { RetrievalQAChain } from 'langchain/chains';
// 1. Configure embeddings e vector store
const embeddings = new OpenAIEmbeddings();
const vectorStore = await PineconeStore.fromExistingIndex(
embeddings,
{ pineconeIndex: index }
);
// 2. Configure o LLM
const model = new OpenAI({ temperature: 0 });
// 3. Crie a chain RAG
const chain = RetrievalQAChain.fromLLM(
model,
vectorStore.asRetriever(3) // busca top 3 documentos
);
// 4. Execute query
const result = await chain.call({
query: "Como resetar senha do usuário?"
});
console.log(result.text);
Função original:
function validarEmail(email) {
const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return regex.test(email);
}
Prompt para IA:
"Gere testes unitários em Jest para esta função, incluindo casos válidos, inválidos e edge cases"
Testes gerados:
describe('validarEmail', () => {
test('aceita email válido simples', () => {
expect(validarEmail('[email protected]')).toBe(true);
});
test('aceita email com subdomínio', () => {
expect(validarEmail('[email protected]')).toBe(true);
});
test('rejeita email sem @', () => {
expect(validarEmail('usuario.exemplo.com')).toBe(false);
});
test('rejeita email sem domínio', () => {
expect(validarEmail('usuario@')).toBe(false);
});
test('rejeita email com espaços', () => {
expect(validarEmail('usuario @exemplo.com')).toBe(false);
});
test('rejeita string vazia', () => {
expect(validarEmail('')).toBe(false);
});
test('rejeita null', () => {
expect(validarEmail(null)).toBe(false);
});
});