mirror of
https://github.com/christianvidalwolf-prog/CrazeAnalytix.git
synced 2026-08-03 12:45:23 +02:00
feat: integrate Gemini Pro 1.5 with KAM persona for data analysis
This commit is contained in:
@@ -58,7 +58,7 @@ const ModelMessage: React.FC<{ text: string }> = ({ text }) => {
|
||||
|
||||
const AIChat: React.FC<AIChatProps> = ({ onSendMessage, isOpen, setIsOpen }) => {
|
||||
const [messages, setMessages] = useState<ChatMessage[]>([
|
||||
{ role: 'model', text: 'Hello! I am your Sales Data Assistant. Ask me anything about the loaded data.', timestamp: new Date() }
|
||||
{ role: 'model', text: '¡Hola! Soy tu Estratega y KAM (Key Account Manager) experto. He analizado tus datos actuales de ventas y publicidad. ¿En qué puedo ayudarte a optimizar tu negocio hoy?', timestamp: new Date() }
|
||||
]);
|
||||
const [input, setInput] = useState('');
|
||||
const [isTyping, setIsTyping] = useState(false);
|
||||
@@ -113,7 +113,7 @@ const AIChat: React.FC<AIChatProps> = ({ onSendMessage, isOpen, setIsOpen }) =>
|
||||
<div className="bg-primary/10 p-4 border-b border-border flex justify-between items-center backdrop-blur">
|
||||
<div className="flex items-center gap-2">
|
||||
<div className="w-2 h-2 rounded-full bg-green-400 animate-pulse"></div>
|
||||
<h3 className="font-bold text-slate-100">Data Assistant</h3>
|
||||
<h3 className="font-bold text-white tracking-wide">KAM Strategy Expert</h3>
|
||||
</div>
|
||||
<button onClick={() => setIsOpen(false)} className="text-slate-400 hover:text-white transition-colors">
|
||||
<CloseIcon />
|
||||
@@ -154,7 +154,7 @@ const AIChat: React.FC<AIChatProps> = ({ onSendMessage, isOpen, setIsOpen }) =>
|
||||
value={input}
|
||||
onChange={(e) => setInput(e.target.value)}
|
||||
onKeyDown={handleKeyDown}
|
||||
placeholder="Ask about trends, totals..."
|
||||
placeholder="Pregunta sobre tendencias, recomendaciones de publicidad..."
|
||||
className="w-full bg-slate-950 border border-slate-700 text-slate-200 rounded-full py-3 pl-4 pr-12 focus:outline-none focus:border-primary transition-colors placeholder-slate-500 text-sm"
|
||||
/>
|
||||
<button
|
||||
|
||||
@@ -6,17 +6,25 @@ import { AggregatedData } from "./types";
|
||||
declare const process: any;
|
||||
|
||||
const SYSTEM_INSTRUCTION = `
|
||||
You are a senior data analyst assistant for a retail dashboard called "Craze Analytix".
|
||||
You have access to a detailed report of the currently filtered sales data.
|
||||
The data includes Sell Out (Revenue in €), Units Sold, Product Lines, Customers/Markets, and Seasonality trends.
|
||||
You are an expert Key Account Manager (KAM) and Senior Sales Strategist for "Craze Analytix".
|
||||
Your specialty is analyzing retail data, advertising performance, and market trends to provide high-level strategic recommendations.
|
||||
|
||||
Your goal is to answer user questions specific to the provided data.
|
||||
You have access to a detailed report of the currently filtered sales and advertising data.
|
||||
The data includes Sell Out (€), Units Sold, Product Lines, Customer Markets, Seasonality (Monthly Trends), and Growth/Decline metrics.
|
||||
|
||||
Your objective:
|
||||
1. **Analyze**: Deeply study the provided data according to the user's specific query.
|
||||
2. **Opinion**: Provide expert opinions on the health of the business, product performance, or market position.
|
||||
3. **Recommendations**: Give actionable, professional advice to improve sales, ROAS, stock health, or market share.
|
||||
|
||||
Guidelines:
|
||||
- Maintain a professional, consultative, and business-driven tone (KAM style).
|
||||
- Always justify your recommendations with specific numbers from the data.
|
||||
- If asked about "Trends" or "Seasonality", look at the Monthly Seasonality section.
|
||||
- If asked about "Growth" or "Decline", look at the Top/Bottom Movers sections.
|
||||
- If asked about specific Product Lines, look at the Product Line Breakdown.
|
||||
- Always format numbers clearly (e.g., "€1.2M", "€5,200", "15k units").
|
||||
- When comparing years, calculate the percentage difference if not explicitly provided.
|
||||
- Keep answers professional, concise, and business-focused.
|
||||
- When comparing metrics, calculate variances or ratios if relevant (e.g. Sales vs Ads growth).
|
||||
- Format your response with clear headers and bullet points for readability.
|
||||
- Respond in the same language as the user's question (e.g., if they ask in Spanish, answer in Spanish).
|
||||
`;
|
||||
|
||||
// Helper to get API key safely
|
||||
|
||||
Reference in New Issue
Block a user