Vytvoření a sdílení uživatelského rozhraní chatu s Aplikacemi Databricks

Pomocí Aplikace Databricks můžete vytvořit a nasadit uživatelské rozhraní chatu pro vašeho agenta. Šablony aplikací agentů zahrnují toto uživatelské rozhraní chatu bez dalšího nastavení. Na této stránce můžete přizpůsobit uživatelské rozhraní šablony nebo přidat uživatelské rozhraní chatu do agenta nasazeného bez šablony.

Ukázkové uživatelské rozhraní chatu pro chatování s nasazenými agenty

Požadavky

Toto uživatelské rozhraní chatu funguje s libovolným agentem Azure Databricks s výjimkou starších schémat, včetně:

Musíte mít následující vývojové nástroje:

  • NPM CLI: Vyžaduje se pro místní vývoj. Viz GitHub – NPM CLI

  • Rozhraní příkazového řádku Databricks: Vyžaduje se pro autentizaci, viz průvodce instalací.

    1. Nainstalujte rozhraní příkazového řádku Databricks.
    2. Nastavte název profilu:
      export DATABRICKS_CONFIG_PROFILE='your_profile_name'
      
    3. Konfigurace ověřování:
      databricks auth login --profile "$DATABRICKS_CONFIG_PROFILE"
      
      

Ukázková chatovací aplikace

Ukázková aplikace e2e-chatbot-app-next používá sadu NextJS, React a AI SDK k vytvoření chatovacího rozhraní připraveného pro produkční prostředí.

Podrobné pokyny k použití šablony najdete v README.md projektu.

Ukázková aplikace ukazuje následující:

  • Výstup streamování: Zobrazí odpovědi agenta, jak jsou generovány, s automatickým přepnutím do režimu bez streamování.
  • Volání nástrojů: Zobrazuje volání nástrojů pro agenty vytvořené podle doporučených postupů pro vlastní agenty
  • Ověřování Databricks: Používá ověřování Databricks k identifikaci koncových uživatelů chatovací aplikace a bezpečné správě konverzací.
  • Trvalá historie chatu: Ukládá konverzace v Databricks Lakebase (Postgres) s úplnou správou.

Pokud chcete povolit volitelné funkce, otevřete následující části:

Povolení historie chatu

Povolení historie chatu

Ve výchozím nastavení se konverzace ukládají jenom do paměti a při ukončení relace se ztratí. Pokud chcete zachovat historii v PostgreSQL, spusťte skript pro rychlý start popsaný v šabloně README.md.

Povolení zpětné vazby uživatelů

Povolení zpětné vazby uživatelů

Uživatelé mohou ohodnotit odpovědi palcem nahoru nebo dolů, což se zaznamenává v experimentu MLflow.

Pokud používáte šablonu agenta, jako je agent-openai-agents-sdk nebo agent-langgraph, sada automaticky nakonfiguruje ověřování pro aplikaci, aby napsala zpětnou vazbu uživatelů do experimentu MLflow. Zpětná vazba funguje po databricks bundle deploy bez dalších kroků.

Pokud používáte samostatný e2e-chatbot-app-next odkazující na existující koncový bod agenta, spusťte skript pro rychlé spuštění popsaný v souboru README.md, aby se nakonfigurovalo ověřování pro experiment MLflow.

Note

Také připojte databázi Lakebase, aby se stav palce nahoru/dolů zachoval i po opětovném načtení stránky. Viz Povolení historie chatu.

Hostování více aplikací ve stejné instanci databáze

Hostování více aplikací ve stejné instanci databáze

Tento příklad vytvoří pouze jednu databázi na aplikaci, protože kód aplikace cílí na pevné ai_chatbot schéma v instanci databáze. Pokud chcete hostovat více aplikací mimo stejnou instanci, musíte udělat toto:

  1. Aktualizujte název instance databáze v souboru databricks.yml.
  2. Aktualizujte odkazy ve kódové základně na ai_chatbot na nový název požadovaného schématu v rámci existující instance databáze.
  3. Spuštěním npm run db:generate znovu vygenerujte migrace databází.
  4. Nasaďte aplikaci.
Povolení autorizace uživatelů (Public Preview)

Povolení autorizace uživatele

Important

Autorizace uživatele je ve verzi Public Preview. Správce pracovního prostoru ho musí povolit, abyste mohli nakonfigurovat autorizaci uživatelů pro vaši aplikaci.

Některé obslužné koncové body vyžadují, aby aplikace předávala přístupový token uživatele místo tokenu instančního objektu aplikace. Říká se tomu autorizace uživatelů, někdy označovaná jako autorizace jménem uživatele.

Koncové body agenta správce vždy vyžadují autorizaci uživatele. Vlastní model obsluhující koncové body také vyžaduje autorizaci uživatele, pokud má koncový bod nakonfigurované obory rozhraní API v zásadách ověřování.

Šablona e2e-chatbot-app-next automaticky zjistí, jestli nakonfigurovaný koncový bod obsluhy vyžaduje autorizaci uživatele. Pokud v aplikaci chybí požadované obory, zobrazí se informační zpráva s upozorněním s chybějícími obory.

Pokud chcete nakonfigurovat autorizaci uživatelů, přidejte požadované obory při vytváření nebo úpravě aplikace v uživatelském rozhraní Azure Databricks:

  1. V kroku Konfigurovat prostředky v části Autorizace uživatele klikněte na +Přidat obor.
  2. serving.serving-endpoints Přidejte obor. Tento obor se vyžaduje pro všechny koncové body, které používají autorizaci uživatele.
  3. Přidejte všechny další obory uvedené v zásadách ověřování koncového bodu.

Podrobné pokyny najdete v tématu Přidání oborů do aplikace.

Po přidání nebo změně oborů musíte vymazat soubory cookie pro adresu URL aplikace. V opačném případě bude relace nadále používat předchozí obory:

  1. Přejděte na adresu URL aplikace.
  2. V Chromu otevřete DevTools (F12 nebo Cmd+Option+I v macOS nebo Ctrl+Shift+I na Windows nebo Linuxu).
  3. Otevřete kartu Aplikace, vyberte adresu URL vaší aplikace v částiSoubory cookie> a potom klikněte pravým tlačítkem na každý soubor cookie a zvolte Odstranit, jak je znázorněno níže.

Vymazání souborů cookie prohlížeče po změně oborů

Po přidání nebo změně oborů se změna projeví okamžitě a aplikace se nemusí restartovat. Vaše relace prohlížeče však znovu používá tokeny vydané před změnou, proto před testováním vymažte soubory cookie pro adresu URL aplikace. Jinak bude relace nadále používat předchozí rozsahy oprávnění.

Chrome DevTools zobrazující kartu Aplikace, soubory cookie adresy URL aplikace a nabídku Odstranit po kliknutí pravým tlačítkem myši

Sdílení aplikace

Udělte uživatelům oprávnění k zobrazení aplikace (viz Konfigurace oprávnění pro aplikaci Databricks) a pak sdílejte adresu URL aplikace.

Známá omezení

  • Nepodporuje obrázky ani jiné vícemodální vstupy.
  • Tato aplikace podporuje pouze ověřování pomocí Databricks CLI (místní vývoj) a ověřování pomocí služebního principálu (nasazené aplikace). Pat, spravované identity Azure a další mechanismy se nepodporují.
  • Obory funkcí katalogu Unity nejsou podporovány pro autorizaci uživatelů.

Chatovací aplikace agenta Streamlit

Předchozí šablona Streamlit, e2e-chatbot-app, je stále dostupná, ale chybí produkční funkce e2e-chatbot-app-next.