Spaces:
Running
Running
File size: 1,880 Bytes
ea077e1 c9febc6 ea077e1 7695a8c 0564910 63e33f8 ea077e1 08069bc ea077e1 08069bc ea077e1 0e34878 ea077e1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import streamlit as st
import uuid
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
default_model = "OpenAI - gpt-4o"
# Trouver l'index du modèle par défaut
default_index = model_options.index(default_model) if default_model in model_options else 0
# Sélection d'un modèle via un seul sélecteur
selected_model_option = st.selectbox("Choisissez votre modèle", options=model_options, index=default_index)
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])
|