import { useState, useEffect } from 'react' import './App.css' import ChatBox from './components/ChatBox' import PluginLoader from './components/PluginLoader' import { sendMessage, getStats } from './utils/api' function App() { const [messages, setMessages] = useState([]) const [loading, setLoading] = useState(false) const [systemPrompt, setSystemPrompt] = useState('Du bist ein hilfsbereiter KI-Assistent.') const [temperature, setTemperature] = useState(0.7) const [topP, setTopP] = useState(0.9) const [stats, setStats] = useState(null) const [plugins, setPlugins] = useState([]) useEffect(() => { // Auf Plugin-Änderungen hören window.addEventListener('pluginsLoaded', (e) => { setPlugins(e.detail) console.log('Plugins loaded:', e.detail) }) return () => { window.removeEventListener('pluginsLoaded', () => {}) } }, []) const handleSendMessage = async (message) => { // Nachricht zum Chat hinzufügen const userMessage = { id: Date.now(), role: 'user', content: message, timestamp: new Date(), } setMessages(prev => [...prev, userMessage]) setLoading(true) try { // Plugins benachrichtigen window.dispatchEvent(new CustomEvent('messageSent', { detail: { message, systemPrompt } })) const response = await sendMessage(message, systemPrompt, temperature, topP) const assistantMessage = { id: Date.now() + 1, role: 'assistant', content: response.response, timestamp: new Date(), stats: { tokens: response.tokens, time: response.time_seconds, } } setMessages(prev => [...prev, assistantMessage]) setStats(response) // Plugins über Antwort benachrichtigen window.dispatchEvent(new CustomEvent('responseReceived', { detail: assistantMessage })) } catch (error) { console.error('Error:', error) const errorMessage = { id: Date.now() + 1, role: 'assistant', content: `❌ Fehler: ${error.message}`, timestamp: new Date(), isError: true, } setMessages(prev => [...prev, errorMessage]) } finally { setLoading(false) } } return (

🤖 Zephyr-7B Chatbot

Powered by Hugging Face