Spaces:
Build error
Build error
| import streamlit as st | |
| from .ModelIntegrations import ModelManager | |
| def ModelSelector(): | |
| # Dictionnaire des modèles par fournisseur | |
| model_providers = { | |
| "Mistral": { | |
| "mistral-large-latest": "mistral.mistral-large-latest", | |
| "open-mixtral-8x7b": "mistral.open-mixtral-8x7b", | |
| }, | |
| "OpenAI": { | |
| "gpt-4o": "openai.gpt-4o", | |
| }, | |
| "Anthropic": { | |
| "claude-3-5-sonnet-20240620": "anthropic.claude-3-5-sonnet-20240620", | |
| "claude-3-opus-20240229": "anthropic.claude-3-opus-20240229", | |
| "claude-3-sonnet-20240229": "anthropic.claude-3-sonnet-20240229", | |
| }, | |
| # "llama": { | |
| # "llama3.2-11b-vision": "llama.llama3.2-11b-vision", | |
| # "llama3.2-1b": "llama.llama3.2-1b", | |
| # "llama3.2-3b": "llama.llama3.2-3b" | |
| # } | |
| } | |
| # Créer une liste avec les noms de modèle, groupés par fournisseur (fournisseur - modèle) | |
| model_options = [] | |
| model_mapping = {} | |
| for provider, models in model_providers.items(): | |
| for model_name, model_instance in models.items(): | |
| option_name = f"{provider} - {model_name}" | |
| model_options.append(option_name) | |
| model_mapping[option_name] = model_instance | |
| # Sélection d'un modèle via un seul sélecteur | |
| selected_model_option = st.selectbox("Choisissez votre modèle", options=model_options) | |
| if(st.session_state["assistant"]): | |
| splitter = model_mapping[selected_model_option].split(".") | |
| st.session_state["assistant"].setModel(ModelManager().get_model(splitter[0], splitter[1]), splitter[1]) | |