Anropar Flask för att få en lista med tillgängliga endpoints och LLM:er

This commit is contained in:
Joakim Persson
2024-08-05 17:27:49 +02:00
parent 606becc5c3
commit 6dc93b66be
+31
View File
@@ -53,6 +53,28 @@ const frontendApi = {
// Append the message element to the chatbox immediately // Append the message element to the chatbox immediately
chatbox.appendChild(messageElement); chatbox.appendChild(messageElement);
}, },
// Make an AJAX request to fetch endpoint data from Flask backend
fillMenu: function() {
fetch('/api/endpoints')
.then(response => response.json())
.then(data => {
const dropdownContainer = document.getElementById('endpoint-dropdown');
// Clear existing content
dropdownContainer.innerHTML = '';
// Populate the dropdown menu with received data
data.forEach(endpoint => {
const linkElement = document.createElement('a');
linkElement.href = '#';
linkElement.onclick = () => frontendApi.setEndpointAndLlm(endpoint.endpoint, endpoint.llm);
linkElement.textContent = `${endpoint.endpoint} - ${endpoint.llm}`;
dropdownContainer.appendChild(linkElement);
});
})
.catch(error => console.error('Error fetching endpoints:', error));
},
// Set the endpoint and LLM variables // Set the endpoint and LLM variables
setEndpointAndLlm: function(endpoint, llm) { setEndpointAndLlm: function(endpoint, llm) {
window.endpoint = endpoint; window.endpoint = endpoint;
@@ -89,3 +111,12 @@ document.addEventListener('keyup', function() {
sendButton.style.backgroundColor = ''; // Restore the original style when any key is released sendButton.style.backgroundColor = ''; // Restore the original style when any key is released
}); });
function init() {
// Other initialization code here...
frontendApi.fillMenu();
}
document.addEventListener('DOMContentLoaded', init);