Spaces:
Running
Running
| function sendMessage() { | |
| const inputField = document.getElementById('userInput'); | |
| const message = inputField.value.trim(); | |
| const imageUpload = document.getElementById('imageUpload').files[0]; | |
| const complexity = document.getElementById('complexity').value; | |
| const model = document.getElementById('model').value; // Get the selected model | |
| const chatbox = document.getElementById('chatbox'); | |
| if (message === "" && !imageUpload) return; | |
| // Append user message | |
| const userMessageDiv = document.createElement('div'); | |
| userMessageDiv.classList.add('user-message'); | |
| const userText = document.createElement('span'); | |
| userText.textContent = message; | |
| userMessageDiv.appendChild(userText); | |
| if (imageUpload) { | |
| const imagePreview = document.createElement('img'); | |
| imagePreview.src = URL.createObjectURL(imageUpload); | |
| imagePreview.style.maxWidth = '100px'; | |
| imagePreview.style.maxHeight = '100px'; | |
| imagePreview.style.marginTop = '10px'; | |
| userMessageDiv.appendChild(imagePreview); | |
| } | |
| chatbox.appendChild(userMessageDiv); | |
| // Clear input field | |
| inputField.value = ''; | |
| document.getElementById('imageUpload').value = ''; | |
| // Scroll chatbox to the bottom | |
| chatbox.scrollTop = chatbox.scrollHeight; | |
| // Send request to Flask backend | |
| const formData = new FormData(); | |
| formData.append('image', imageUpload); | |
| formData.append('question', message); | |
| formData.append('complexity', complexity); | |
| formData.append('model', model); // Append selected model | |
| fetch('/ask', { | |
| method: 'POST', | |
| body: formData | |
| }) | |
| .then(response => response.json()) | |
| .then(data => { | |
| const botMessageDiv = document.createElement('div'); | |
| botMessageDiv.classList.add('bot-message'); | |
| const botText = document.createElement('span'); | |
| botText.textContent = data.answer; | |
| botMessageDiv.appendChild(botText); | |
| chatbox.appendChild(botMessageDiv); | |
| // Scroll chatbox to the bottom | |
| chatbox.scrollTop = chatbox.scrollHeight; | |
| }) | |
| .catch(error => { | |
| console.error('Error:', error); | |
| }); | |
| } | |