Aller au contenu principal

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.

Interface utilisateur d'exemple de chat pour discuter avec les agents déployés.

Exigences

Cette interface utilisateur de chat fonctionne avec n'importe quel agent Databricks, à l'exception des schémas hérités, y compris :

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.

    1. Installez la CLI Databricks.

    2. Définissez votre nom de profil :

      Bash
      export DATABRICKS_CONFIG_PROFILE='your_profile_name'
    3. Configurer l’authentification :

      Bash
      databricks 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 l'historique des conversations

Par default, les conversations sont stockées en mémoire uniquement et sont perdues à la fin de la session. Pour persister l'historique dans PostgreSQL, exécutez le script de démarrage rapide décrit dans le Template README.md.

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.

remarque

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 :

  1. Mettez à jour le nom de l'instance de base de données dans databricks.yml.
  2. Mettez à jour les références à ai_chatbot dans la base de code avec le nouveau nom de schéma souhaité au sein de l'instance de base de données existante.
  3. Exécutez npm run db:generate pour régénérer les migrations de base de données.
  4. Déployez l'application.

Activez l'autorisation utilisateur (Préversion publique)

Activer l'autorisation de l'utilisateur

info

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 :

  1. À l’étape Configurer les ressources , sous Autorisation utilisateur , cliquez sur +Ajouter un périmètre .
  2. Ajoutez le périmètre model-serving. Ce périmètre est requis pour tous les Endpoint qui utilisent l'autorisation utilisateur.
  3. 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 :

  1. Accédez à l'URL de l'application.
  2. Dans Chrome, ouvrez les outils de développement ( F12 , ou Cmd+Option+I sur macOS, ou Ctrl+Shift+I sur Windows ou Linux).
  3. 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.

Chrome DevTools affichant l'tab Application, les cookies pour une URL d'application et le menu Supprimer du clic droit.

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.