A dynamic Language Model (LLM) ensemble selection application that leverages the Knapsack algorithm to optimize model selection across various domains. By integrating real-time web interaction with the Streamlit framework, users can receive cost optimization suggestions tailored to each selected model based on their dataset inputs.
EnsembleX collects diverse domain LLM performance datasets from the open-ll-leaderboard API provided by Hugging Face. It then processes and manipulates the data, applies the Knapsack algorithm for model selection optimization, and visualizes the results using Streamlit. The core objective of EnsembleX is to empower users with a data-driven approach to selecting LLM ensembles that balance performance quality and cost efficiency.
EnsembleX.Demo.Video.mp4
- Data Collection: Diverse domain LLM performance datasets are collected from the open-llm-leaderboard API.
- Data Manipulation: The collected data is processed and manipulated to prepare it for model selection optimization.
- Knapsack Algorithm: The Knapsack algorithm is applied to optimize model selection within a constrained framework.
- Real-time Web Application: Integration of a real-time web application using the Streamlit framework enables user interaction and visualization of the optimized model selection results.
- Cost Optimization Suggestions: Individualized cost optimization suggestions for each selected model are provided based on user-provided dataset inputs.
- Dynamic LLM ensemble selection
- Knapsack algorithm for quality-cost optimization
- Real-time cost optimization suggestions
- Data-driven model selection process
- Python
- Streamlit
- Pandas
- NumPy
- Hugging Face API
- Plotly
- Gradio
- YData Profiling
- Clone the repository:
git clone https://github.com/yourusername/yourproject.git
- Install requirements:
pip install -r requirements.txt
- Run the app:
streamlit run app.py
This project is licensed under the MIT License - see the LICENSE file for details.