Développer et partager une interface utilisateur de chat avec Databricks Apps
Utilisez Databricks Apps pour créer et déployer une interface utilisateur de chat pour votre agent. Les Template d'application d'agent incluent cette interface utilisateur de chat sans configuration supplémentaire. Utilisez cette page pour personnaliser l'interface utilisateur de template ou pour ajouter une interface utilisateur de chat à un agent déployé sans template.

Exigences
Cette interface utilisateur de chat fonctionne avec n'importe quel agent Databricks, à l'exception des schémas hérités, y compris :
-
Agents déployés sur Model Serving avec le type de tâche Chat ou Réponses
-
Endpoint de modèles de fondation avec le type de tâche Chat
Vous devez disposer des outils de développement suivants :
-
NPM CLI : requis pour le développement local. Voir GitHub - NPM CLI
-
CLI Databricks : Requis pour l'authentification, consultez le guide d'installation.
-
Installez la CLI Databricks.
-
Définissez votre nom de profil :
Bashexport DATABRICKS_CONFIG_PROFILE='your_profile_name' -
Configurer l’authentification :
Bashdatabricks auth login --profile "$DATABRICKS_CONFIG_PROFILE"
-
Exemple d’application de chat
L'application exemple, e2e-chatbot-app-next, utilise NextJS, React et le SDK IA pour créer une interface de chat prête pour la production.
Reportez-vous au fichier README.md du projet pour obtenir des instructions détaillées sur la manière d'utiliser le Template.
L'application d'exemple démontre les éléments suivants :
-
Sortie de streaming : Affiche les réponses de l’agent au fur et à mesure qu’elles sont générées avec un fallback automatique en mode non-streaming
-
Appels d'outils : Affiche les appels d'outils pour les agents créés à l'aide des bonnes pratiques pour les agents personnalisés
-
**Intégration de Databricks Agent et de Foundation Model** : connexion directe aux Foundation Models, aux endpoints deservice de Databricks Agent, à l’ assistant de connaissances et à l’ agent superviseur.
-
Authentification Databricks : utilise l'authentification Databricks pour identifier les utilisateurs finaux de l'application de chat et gérer leurs conversations en toute sécurité.
-
Historique de conversation persistant : Stocke les conversations dans Databricks Lakebase (Postgres) avec une gouvernance complète
Ouvrez les sections suivantes pour activer les fonctionnalités facultatives :
Activer l'historique de conversation
Activer les commentaires des utilisateurs.
Activer le feedback utilisateur
Les utilisateurs peuvent donner un avis positif/négatif sur les réponses, qui est enregistré dans une expérimentation MLflow.
Si vous utilisez un template d'agent tel que agent-openai-agents-sdk ou agent-langgraph, le package configure automatiquement l'authentification pour que l'application écrive les commentaires des utilisateurs dans l'expérimentation MLflow. Les commentaires fonctionnent après databricks bundle deploy sans étapes supplémentaires.
Si vous utilisez l'application autonome e2e-chatbot-app-next pointant vers un endpoint d'agent existant, exécutez le script de démarrage rapide décrit dans le template README.md pour configurer l'authentification de l'expérimentation MLflow.
Also bind a Lakebase database to persist the thumbs up/down state across page reloads. See Enable chat history.
Héberger plusieurs applications sur la même instance de base de données
Héberger plusieurs applications sur la même instance de la base de données
Cet exemple ne crée qu'une seule base de données par application, car le code de l'application cible un schéma ai_chatbot fixe dans l'instance de la base de données. Pour héberger plusieurs applications à partir de la même instance, vous devez procéder comme suit :
- Mettez à jour le nom de l'instance de base de données dans
databricks.yml. - Mettez à jour les références à
ai_chatbotdans la base de code avec le nouveau nom de schéma souhaité au sein de l'instance de base de données existante. - Exécutez
npm run db:generatepour régénérer les migrations de base de données. - Déployez l'application.
Activez l'autorisation utilisateur (Préversion publique)
Activer l'autorisation de l'utilisateur
Preview
User authorization is in Public Preview. Your workspace admin must enable it before you can configure user authorization for your app.
Certains Endpoint de diffusion nécessitent que l'application transmette le jeton d'accès de l'utilisateur au lieu du jeton de Service Principal de l'application. On appelle cela autorisation utilisateur, parfois appelée autorisation utilisateur « Au nom de » .
Les Endpoint d'agent superviseur requièrent toujours une autorisation de l'utilisateur. Les endpoints de diffusion de modèles personnalisés requièrent également une autorisation de l'utilisateur lorsque l'endpoint dispose de champs d'application d'API configurés dans sa politique d'authentification.
Le Template e2e-chatbot-app-next détecte automatiquement si l'Endpoint de service configuré nécessite une autorisation d'utilisateur. Si l'application ne dispose pas des périmètres requis, elle affiche une bannière d'avertissement listant les périmètres manquants.
Pour configurer l'autorisation utilisateur, ajoutez les périmètres requis lorsque vous créez ou modifiez une application dans l'interface utilisateur de Databricks :
- À l’étape Configurer les ressources , sous Autorisation utilisateur , cliquez sur +Ajouter un périmètre .
- Ajoutez le périmètre
model-serving. Ce périmètre est requis pour tous les Endpoint qui utilisent l'autorisation utilisateur. - Ajoutez toutes les étendues supplémentaires listées dans la politique d'authentification de l'endpoint.
Pour des instructions détaillées, consultez Ajouter des étendues à une application.
Une fois que vous avez ajouté ou modifié des périmètres, vous devez effacer les cookies pour l'URL de l'application. Sinon, la session continuera d’utiliser les périmètres précédents :
- Accédez à l'URL de l'application.
- Dans Chrome, ouvrez les outils de développement ( F12 , ou Cmd+Option+I sur macOS, ou Ctrl+Shift+I sur Windows ou Linux).
- Ouvrez l'onglet Application , sélectionnez l'URL de votre application sous Stockage > Témoins , puis cliquez avec le bouton droit sur chaque témoin et choisissez Supprimer , comme illustré ci-dessous.
Effacer les cookies du navigateur après avoir modifié les périmètres
Une fois que vous avez ajouté ou modifié des périmètres, le changement prend effet immédiatement et l'application n'a pas besoin de redémarrer. Cependant, votre session de navigateur réutilise les jetons émis avant la modification, alors effacez vos cookies pour l'URL de l'application avant de tester. Sinon, la session continue d'utiliser les périmètres précédents.

Partager l'application
Accordez aux utilisateurs l’autorisation d’afficher l’application (voir Configurer les autorisations d’une application Databricks), puis partagez l’URL de l’application.
Limitations connues
- Pas de prise en charge pour les entrées d'image ou autres entrées multimodales.
- Cette application ne prend en charge que l'authentification CLI Databricks (développement local) et l'authentification de service principal (applications déployées). Les PAT, les identités gérées Azure et d'autres mécanismes ne sont pas pris en charge.
- Les étendues de fonction Unity Catalog ne sont pas prises en charge pour l'autorisation utilisateur.
Application de chat d’agent Streamlit
Le précédent template Streamlit, e2e-chatbot-app, est toujours disponible mais ne dispose pas des fonctionnalités de production de e2e-chatbot-app-next.