Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez az oktatóanyag bemutatja, hogyan hozhat létre egy önvezető AI-ügynököt, amely feldolgozza az utazók kérdéseit és foglalásait egy körutazási vonalon. Az AI-ügynök a LangChain-ügynök keretrendszerét használja a tervezéshez, az eszközhasználathoz és az észleléshez. Az ügynök ezután egyesíti ezeket a funkciókat az Azure DocumentDB vektoradatbázisával és az egységes memóriarendszer dokumentumtárolási képességeivel.
A mintaügynök Python FastAPI-háttérrendszeren belül működik, és a React JavaScript felhasználói felületén keresztül támogatja a felhasználói interakciókat. Ez az implementáció bemutatja, hogyan lépnek előre az AI-ügynökök az alapszintű csevegőrobotokon túl, hogy összetett feladatokat hajtsanak végre a hagyományosan kódolt logikát igénylő természetes nyelv alapján.
Ebben az oktatóanyagban a következőket sajátíthatja el:
- Az Azure DocumentDB beállítása vektorkeresési képességekkel
- Utazási dokumentumok betöltése és vektoros beágyazások létrehozása
- AI-ügynök létrehozása a Python FastAPI és a LangChain használatával
- Ügynökökre optimalizált eszközök bevezetése vakációkereső, útvonaltervező és foglalási rendszer számára
- React webes felület létrehozása felhasználói interakciókhoz
- A teljes AI-ügynökmegoldás tesztelése
Előfeltételek
Azure-előfizetés
- Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot
Meglévő Azure DocumentDB-fürt
- Ha nincs klasztere, hozzon létre egy új klasztert
Az OpenAI API vagy az Azure OpenAI szolgáltatás fiókja.
Integrált fejlesztési környezet, például Visual Studio Code.
A fejlesztési környezetben telepített Python 3.11.4 vagy újabb verzió.
Node.js a React előtérhez van telepítve.
A mintaprojekt letöltése
Az összes kód és mintaadatkészlet elérhető a Travel AI Agent GitHub-adattárban.
Klónozza vagy töltse le az adattárat (https://github.com/jonathanscholtes/Travel-AI-Agent-React-FastAPI-and-Cosmos-DB-Vector-Store) a helyi fejlesztési környezetbe.
Lépjen be a projektkönyvtárba, és vizsgálja meg a struktúrát.
/loader: Python-kódot tartalmaz a mintadokumentumok és vektoros beágyazások Azure DocumentDB-be való betöltéséhez/api: Az AI utazási ügynök üzemeltetésére szolgáló Python FastAPI-projektet tartalmazza/web: A React webes felület kódját tartalmazza
Utazási dokumentumok betöltése az Azure DocumentDB-be
A /loader könyvtár tartalmaz egy Python-projektet, amellyel minta útidokumentumokat tölthet be az Azure DocumentDB-be, és létrehozhatja a szükséges vektoros beágyazásokat.
Lépjen a
/loaderkönyvtárba a terminálban.Python virtuális környezet létrehozása:
python -m venv venvA virtuális környezet aktiválása:
# On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activateTelepítse a szükséges függőségeket:
python -m pip install -r requirements.txtHozzon létre egy
.envfájlt a címtárban a/loaderkapcsolat részleteivel:OPENAI_API_KEY="<your OpenAI key>" MONGO_CONNECTION_STRING="mongodb+srv:<your connection string from Azure DocumentDB>"A
main.pyfájl szolgál az adatok betöltésének központi belépési pontjaként. Feldolgozza a minta utazási adatokat, beleértve a szállítási és a célinformációkat, majd utazási útvonalcsomagokat hoz létre.Futtassa az adatbetöltési szkriptet a
/loaderkönyvtárból. A szkript a következő műveleteket hajtja végre:Beolvassa a szállítási és a céladatokat JSON-fájlokból
Öt útvonalterv csomagot készít a
ItineraryBuilderAz útitervcsomagok mentése a
itinerarygyűjteménybeCélhelyeket ment a
destinationsgyűjteménybeVektoros beágyazásokat hoz létre a
shipsgyűjteményben lévő hajók számáraSzövegkeresési index hozzáadása a szállítási nevekhez
python main.pyEllenőrizze, hogy a kimenet sikeres befejezést mutat-e:
--build itinerary-- --load itinerary-- --load destinations-- --load vectors ships--
Az AI travel agent API létrehozása
Az AI utazási ügynököt egy Python FastAPI-háttérrendszer üzemelteti, amely integrálható az előtérbeli felülettel, és nagy nyelvi modell (LLM) kéréseinek az Azure DocumentDB-adatokra való alapozásával dolgozza fel az ügynökkérelmeket.
Lépjen a
/apikönyvtárba a terminálban.Python virtuális környezet létrehozása és aktiválása:
python -m venv venv # On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activateTelepítse a szükséges függőségeket:
python -m pip install -r requirements.txtHozzon létre egy
.envfájlt a/apikönyvtárban:OPENAI_API_KEY="<your OpenAI key>" MONGO_CONNECTION_STRING="mongodb+srv:<your connection string from Azure DocumentDB>"Futtassa a FastAPI-alkalmazást a
/apikönyvtárból:python app.pyA kiszolgáló alapértelmezés szerint elindul
http://127.0.0.1:8000.Az API-végpontok megismeréséhez használja a Swagger interaktív dokumentációját a következő címen
http://127.0.0.1:8000/docs: .
Az AI-ügynök működésének tesztelése
Ellenőrizze, hogy az AI-ügynök a várt módon működik-e.
A Swagger-felületen tesztelje a munkamenetvégpontot:
Navigáljon,
/session/és válassza a Kipróbálás lehetőségetA beszélgetési előzmények nyomon követéséhez szükséges munkamenet-azonosító lekérésére irányuló kérés végrehajtása
Tesztelje az ügynök csevegési funkcióit:
Navigáljon,
/agent/agent_chatés válassza a Kipróbálás lehetőségetHasználja ezt a példabemenetet az ügynök teszteléséhez:
{ "input": "I want to take a relaxing vacation.", "session_id": "your-session-id-from-step-1" }Az ügynöknek a vektorok hasonlósági keresésén alapuló körutazási javaslatokkal kell válaszolnia, ami az LLM és az Azure DocumentDB integrációját mutatja be.
A React webes felületének létrehozása
A webes felület felhasználóbarát módot biztosít az AI-utazási ügynökkel való kommunikációra egy beszélgetési felületen keresztül.
A React-környezet beállítása
Navigáljon a
/webkönyvtárba a terminálban.Telepítse a projektfüggőségeket:
npm ciHozzon létre egy
.envfájlt a/webkönyvtárban:REACT_APP_API_HOST=http://127.0.0.1:8000
A webalkalmazás indítása
Indítsa el a React fejlesztői kiszolgálót:
npm startAz alkalmazás automatikusan megnyílik az alapértelmezett böngészőben, általában a következő helyen
http://localhost:3000: .A felület egy utazási webhelyet jelenít meg cruise hajóval és célrendszerképekkel.
A teljes megoldás tesztelése
A főoldalon válassza az Könnyedén tervezze meg az utazását az utazási asszisztens csevegőfelületének megnyitásához.
A csevegőfelület egy előre feltöltött üzenettel megnyílik egy párbeszédpanelen: "Pihentető nyaralást szeretnék."
Válassza a Küldés lehetőséget az üzenet AI-ügynöknek való elküldéséhez.
Az ügynök az Ön bemenete alapján válaszol a körutazási javaslatokra, és a következőt mutatja be:
Természetes nyelvek feldolgozása
Vektoros hasonlósági keresés az Azure DocumentDB-ben
A beszélgetés memóriája az ülés alatt
HTML-formátumú válaszok a csevegőfelületen
A beszélgetés folytatásával megtekintheti az ügynök képességeinek teljes körét. Kérdezzen konkrét hajókról, itineraries-ekről vagy foglalásokról.
Az AI-ügynök architektúrájának ismertetése
Az AI-ügynök implementációja egy rétegzett architektúrát követ, amely elválasztja a problémákat, és lehetővé teszi a karbantarthatóságot.
Szolgáltatásréteg összetevői
A szolgáltatási réteg tartalmazza az alapvető üzleti logikát és a LangChain-ügynök implementálását:
Ügynök inicializálása: A
init.pymodul beállítja a ChatOpenAI-modellt, az ügynökeszközöket és a beszélgetési előzményeket.Ügynökeszközök: Három fő eszköz kezeli a nyaralás keresését, az útvonalkeresést és a körutazás foglalását.
Memóriakezelés: A beszélgetési előzményeket az Azure DocumentDB tárolja munkamenet-azonosítók használatával.
Ügynökeszközök funkciói
Az AI-ügynök három speciális eszközt használ.
vacation_lookup: Vektorkeresést végez az Azure DocumentDB-ben a releváns utazási információk megkereséséhez.
itinerary_lookup: Lekéri a hajócsomag részleteit és az egyes hajók menetrendjét.
book_cruise: Utasinformáció-ellenőrzéssel kezeli a körutazási csomagok foglalásait.
Adatréteg-integráció
Az adatréteg kezeli az Azure DocumentDB-vel folytatott összes interakciót.
Vektorkeresés: Hasonlósági keresés az utazási javaslatok pontozásával.
Dokumentumtárolás: Strukturált adatok hajókhoz, úti célokhoz és útitervekhez.
Beszélgetési előzmények: Munkamenet-alapú csevegőüzenet-tároló.
Erőforrások tisztítása
Ha már nincs szüksége az oktatóanyagban létrehozott erőforrásokra, törölheti őket a folyamatban lévő díjak elkerülése érdekében:
Az Azure Portalon navigáljon az Azure DocumentDB-fiókjához.
Ha dedikált erőforráscsoportot hozott létre ehhez az oktatóanyaghoz, törölje a teljes erőforráscsoportot.
Ellenkező esetben törölje a létrehozott gyűjteményeket:
travel.itinerarytravel.destinationstravel.shipstravel.history