Skapa och dela ett chattgränssnitt med Databricks-appar

Använd Databricks Apps för att skapa och distribuera ett chattgränssnitt för din agent. Agentappmallar innehåller det här chattgränssnittet utan ytterligare installation. Använd den här sidan om du vill anpassa mallgränssnittet eller lägga till ett chattgränssnitt i en agent som distribuerats utan en mall.

Exempel på chattgränssnitt för chatt med distribuerade agenter.

Kravspecifikation

Det här chattgränssnittet fungerar med alla Azure Databricks-agenter, förutom äldre scheman, inklusive:

Du måste ha följande utvecklingsverktyg:

  • NPM CLI: Krävs för lokal utveckling. Se GitHub – NPM CLI

  • Databricks CLI: Krävs för autentisering, se installationsguiden.

    1. Installera Databricks CLI.
    2. Ange ditt profilnamn:
      export DATABRICKS_CONFIG_PROFILE='your_profile_name'
      
    3. Konfigurera autentisering:
      databricks auth login --profile "$DATABRICKS_CONFIG_PROFILE"
      
      

Exempel på chattprogram

Exempelappen e2e-chatbot-app-next använder NextJS, React och AI SDK för att skapa ett produktionsklart chattgränssnitt.

Mer information om hur du använder mallen finns i projektet README.md .

Exempelappen visar följande:

  • Strömmande utdata: Visar agentsvar när de genereras med automatisk växling till icke-strömmande läge
  • Verktygsanrop: Återger verktygsanrop för agenter som har skapats med Agent Frameworks bästa praxis
  • Databricks Agent- och Foundation Model-integrering: Direkt anslutning till Foundation Models, Databricks Agent som betjänar slutpunkter, Kunskapsassistent och Övervakaragent.
  • Databricks-autentisering: Använder Databricks-autentisering för att identifiera slutanvändare av chattappen och hantera deras konversationer på ett säkert sätt.
  • Beständig chatthistorik: Lagrar konversationer i Databricks Lakebase (Postgres) med fullständig styrning

Öppna följande avsnitt för att aktivera valfria funktioner:

Aktivera chatthistorik

Aktivera chatthistorik

Som standard lagras konversationer endast i minnet och går förlorade när sessionen avslutas. Om du vill spara historik i PostgreSQL kör du snabbstartsskriptet som beskrivs i mallen README.md.

Aktivera användarfeedback

Aktivera användarfeedback

Användare kan ge tummen upp/ner feedback om svar, som loggas i ett MLflow-experiment.

Om du använder en agentmall, till exempel agent-openai-agents-sdk eller agent-langgraph, konfigurerar paketet automatiskt autentisering för appen för att skriva användarfeedback till MLflow-experimentet. Feedback fungerar efter databricks bundle deploy utan extra steg.

Om du använder den fristående e2e-chatbot-app-next som pekar på en befintlig agentslutpunkt kör du snabbstartsskriptet som beskrivs i mallen README.md för att konfigurera autentisering för MLflow-experimentet.

Anmärkning

Binda även en Lakebase-databas för att bevara tumme upp/tumme ner-tillståndet över sidinladdningar. Se Aktivera chatthistorik.

Vara värd för flera appar på samma databasinstans

Vara värd för flera appar på samma databasinstans

Det här exemplet skapar bara en databas per app, eftersom appkoden riktar in sig på ett fast ai_chatbot schema i databasinstansen. Om du vill vara värd för flera appar från samma instans måste du göra följande:

  1. Uppdatera namnet på databasinstansen i databricks.yml.
  2. Uppdatera referenser till ai_chatbot i kodbasen till ditt nya önskade schemanamn i den befintliga databasinstansen.
  3. Kör npm run db:generate för att återskapa databasmigreringar.
  4. Distribuera appen.
Aktivera användarauktorisering (offentlig förhandsversion)

Aktivera användarauktorisering

Viktigt!

Användarauktorisering finns i offentlig förhandsversion. Administratören för arbetsytan måste aktivera den innan du kan konfigurera användarauktorisering för din app.

Vissa serverslutpunkter kräver att appen vidarebefordrar användarens åtkomsttoken i stället för appens tjänsthuvudnamnstoken. Detta kallas användarauktorisering, som ibland kallas auktorisering för användarens räkning.

Slutpunkter för övervakaragenten kräver alltid användarauktorisering. Anpassade modellserverslutpunkter kräver också användarauktorisering när slutpunkten har API-omfång konfigurerade i sin autentiseringsprincip.

Om du vill konfigurera användarauktorisering lägger du till de nödvändiga omfången när du skapar eller redigerar en app i Azure Databricks-användargränssnittet:

  1. I steget Konfigurera resurser under Användarauktorisering klickar du på +Lägg till omfång.
  2. Lägg till omfånget serving.serving-endpoints . Det här omfånget krävs för alla slutpunkter som använder användarauktorisering.
  3. Lägg till eventuella ytterligare omfång som anges i slutpunktens autentiseringsprincip.

Detaljerade instruktioner finns i Lägga till omfång i en app.

E2e-chatbot-app-next-mallen identifierar automatiskt om den konfigurerade serverslutpunkten kräver användarauktorisering. Om appen saknar nödvändiga omfång visas en varningsbanderoll som visar de saknade omfången.

Dela programmet

Ge användarna behörighet att visa appen (se Konfigurera behörigheter för en Databricks-app) och dela sedan appens URL.

Kända begränsningar

  • Inget stöd för avbildning eller andra multimodala indata
  • Den här appen stöder endast Databricks CLI-autentisering (lokal utveckling) och autentisering av tjänstens huvudnamn (endast distribuerade appar). PAT, Azure-hanterade identiteter och andra mekanismer stöds inte.
  • Funktionsomfång för Unity Catalog stöds inte för användarauktorisering.

Streamlit-agentchattapp

Den tidigare Streamlit-mallen, e2e-chatbot-app, är fortfarande tillgänglig men saknar produktionsfunktionerna i e2e-chatbot-app-next.