A beszélgetési mesterséges intelligencia (AI) asszisztenseket úgy tervezték, hogy precíz, valós idejű válaszokat adjanak a lekérdezések intelligens irányítása révén a legmegfelelőbb AI-funkciókhoz. Az AWS generatív AI szolgáltatásokkal, mint pl Amazon alapkőzet, a fejlesztők olyan rendszereket hozhatnak létre, amelyek szakszerűen kezelik és válaszolnak a felhasználói kérésekre. Az Amazon Bedrock egy teljesen felügyelt szolgáltatás, amely egyetlen API-t használó nagy teljesítményű alapozó modellek (FM-ek) választékát kínálja olyan vezető mesterséges intelligencia-cégektől, mint az AI21 Labs, az Anthropic, a Cohere, a Meta, a Stability AI és az Amazon. olyan képességek, amelyekre szükség van generatív AI-alkalmazások létrehozásához biztonsággal, adatvédelemmel és felelős AI-val.
Ez a bejegyzés az AI-asszisztensek fejlesztésének két elsődleges megközelítését értékeli: a felügyelt szolgáltatások használatát, mint pl Az Amazon Bedrock ügynökei, és nyílt forráskódú technológiákat alkalmaz, mint pl LangChain. Feltérképezzük mindegyik előnyeit és kihívásait, így Ön kiválaszthatja az igényeinek legmegfelelőbb utat.
Mi az AI-asszisztens?
Az AI-asszisztens egy intelligens rendszer, amely megérti a természetes nyelvű lekérdezéseket, és különféle eszközökkel, adatforrásokkal és API-kkal kölcsönhatásba lép, hogy a felhasználó nevében feladatokat hajtson végre vagy információkat kérjen le. A hatékony AI-asszisztensek a következő kulcsfontosságú képességekkel rendelkeznek:
- Természetes nyelvi feldolgozás (NLP) és társalgási folyamat
- Tudásbázis integráció és szemantikai keresések a releváns információk megértéséhez és visszakereséséhez a beszélgetési kontextus árnyalatai alapján
- Feladatok futtatása, például adatbázis-lekérdezések és egyéni AWS Lambda funkciók
- Speciális beszélgetések és felhasználói kérések kezelése
Példaként bemutatjuk az AI-asszisztensek előnyeit az Internet of Things (IoT) eszközkezelésével. Ebben a felhasználási esetben az AI segíthet a technikusoknak a gépek hatékony kezelésében olyan parancsokkal, amelyek adatokat gyűjtenek be vagy automatizálják a feladatokat, és egyszerűsítik a gyártási műveleteket.
Agents for Amazon Bedrock megközelítés
Az Amazon Bedrock ügynökei lehetővé teszi olyan generatív AI-alkalmazások készítését, amelyek többlépcsős feladatokat futtathatnak a vállalat rendszerein és adatforrásaiban. A következő kulcsfontosságú képességeket kínálja:
- Automatikus azonnali létrehozás utasításokból, API-adatokból és adatforrás-információkból, így hetekig tartó gyors tervezési erőfeszítést takaríthat meg
- Retrieval Augmented Generation (RAG) az ügynökök biztonságos összekapcsolása a vállalat adatforrásaival és megfelelő válaszok biztosítása
- Többlépéses feladatok összehangolása és futtatása a kérések logikai sorozatokra bontásával és a szükséges API-k meghívásával
- Láthatóság az ügynök érvelésében a gondolatlánc (CoT) nyomon keresztül, lehetővé téve a hibaelhárítást és a modell viselkedésének irányítását
- Kérdező mérnöki képességek az automatikusan generált prompt sablon módosításához az ügynökök feletti fokozott ellenőrzés érdekében
Az Agents for Amazon Bedrock és Tudásbázisok az Amazon Bedrock számára AI-asszisztensek létrehozása és telepítése bonyolult útválasztási felhasználási esetekre. Stratégiai előnyt jelentenek a fejlesztők és a szervezetek számára azáltal, hogy egyszerűsítik az infrastruktúra kezelését, fokozzák a méretezhetőséget, javítják a biztonságot és csökkentik a differenciálatlan nehézemelést. Lehetővé teszik az egyszerűbb alkalmazási réteg kódját is, mivel az útválasztási logika, a vektorizálás és a memória teljes mértékben felügyelt.
Megoldás áttekintése
Ez a megoldás egy társalgási AI-asszisztenst mutat be, amely az IoT-eszközkezeléshez és -műveletekhez van szabva, amikor az Anthropic Claude v2.1-jét az Amazon Bedrockon használják. Az AI-asszisztens alapvető funkcióit egy átfogó utasításkészlet szabályozza, amely a rendszer prompt, amely felvázolja képességeit és szakterületeit. Ez az útmutatás biztosítja, hogy az AI-asszisztens a feladatok széles skáláját tudja kezelni, az eszközinformációk kezelésétől a működési parancsok futtatásáig.
Ezekkel a képességekkel felszerelve, amint azt a rendszerkérdésben részletezzük, az AI-asszisztens egy strukturált munkafolyamatot követve válaszol a felhasználói kérdésekre. A következő ábra vizuálisan szemlélteti ezt a munkafolyamatot, illusztrálva minden egyes lépést a kezdeti felhasználói interakciótól a végső válaszig.
A munkafolyamat a következő lépésekből áll:
- A folyamat akkor kezdődik, amikor a felhasználó felkéri az asszisztenst egy feladat végrehajtására; például egy adott IoT-eszköz maximális adatpontjainak lekérése
device_xxx
. Ezt a szövegbevitelt rögzíti és elküldi az AI-asszisztensnek. - Az AI-asszisztens értelmezi a felhasználó szövegbevitelét. A megadott beszélgetési előzményeket, akciócsoportokat és tudásbázisokat használja a kontextus megértéséhez és a szükséges feladatok meghatározásához.
- A felhasználó szándékának elemzése és megértése után az AI-asszisztens meghatározza a feladatokat. Ez azokon az utasításokon alapul, amelyeket az asszisztens értelmez a rendszerkérdésnek és a felhasználói bevitelnek megfelelően.
- A feladatok ezután API-hívások sorozatán keresztül futnak. Ez segítségével történik Reagál felszólítás, amely a feladatot lépések sorozatára bontja, amelyek egymás után kerülnek feldolgozásra:
- Az eszközmutatók ellenőrzéséhez a
check-device-metrics
műveletcsoport, amely egy API-hívást tartalmaz a Lambda-függvényekhez, amelyek aztán lekérdeznek Amazon Athéné a kért adatokért. - Közvetlen eszközműveletekhez, például indításhoz, leállításhoz vagy újraindításhoz a
action-on-device
akciócsoport, amely egy Lambda függvényt hív meg. Ez a funkció elindít egy folyamatot, amely parancsokat küld az IoT-eszköznek. Ennél a bejegyzésnél a Lambda funkció a használatával küld értesítéseket Amazon egyszerű e-mail szolgáltatás (Amazon SES). - Az Amazon Bedrock tudásbázisait használjuk a beágyazásként tárolt előzményadatok lekéréséhez Amazon OpenSearch szolgáltatás vektoros adatbázis.
- Az eszközmutatók ellenőrzéséhez a
- A feladatok befejezése után a végső választ az Amazon Bedrock FM generálja, és visszaküldi a felhasználónak.
- Az Agents for Amazon Bedrock automatikusan tárolja az információkat állapotjelző munkamenet segítségével, hogy fenntartsa ugyanazt a beszélgetést. Az állapot egy konfigurálható tétlenségi idő letelte után törlődik.
Műszaki áttekintés
A következő diagram bemutatja az AI-asszisztens Agents for Amazon Bedrock programhoz való telepítésének architektúráját.
A következő kulcselemekből áll:
- Beszélgetési felület – A párbeszédes felület a Streamlit, egy nyílt forráskódú Python-könyvtárat használja, amely leegyszerűsíti az egyedi, tetszetős webes alkalmazások létrehozását gépi tanuláshoz (ML) és adattudományhoz. A webhelyen található Amazon Elastic Container Service (Amazon ECS) -val AWS Fargate, és egy Application Load Balancer segítségével érhető el. Használhatja a Fargate-et az Amazon ECS-sel a futtatáshoz konténerek kiszolgálók, fürtök vagy virtuális gépek kezelése nélkül.
- Az Amazon Bedrock ügynökei – Az Agents for Amazon Bedrock a felhasználói lekérdezéseket egy sor érvelési lépésen és a megfelelő műveleteken keresztül fejezi be. ReAct felszólítás:
- Tudásbázisok az Amazon Bedrock számára – Az Amazon Bedrock tudásbázisa teljes körűen felügyelt RONGY hogy hozzáférést biztosítson az AI-asszisztensnek az Ön adataihoz. Használati esetünkben az eszköz specifikációit feltöltöttük egy Amazon egyszerű tárolási szolgáltatás (Amazon S3) vödör. A tudásbázis adatforrásaként szolgál.
- Akciócsoportok – Ezek meghatározott API-sémák, amelyek meghatározott Lambda-függvényeket hívnak meg az IoT-eszközökkel és más AWS-szolgáltatásokkal való interakcióhoz.
- Anthropic Claude v2.1 az Amazon Bedrockon – Ez a modell értelmezi a felhasználói lekérdezéseket, és összehangolja a feladatok menetét.
- Amazon Titan beágyazások – Ez a modell szövegbeágyazási modellként szolgál, a természetes nyelvű szöveget – az egyes szavaktól az összetett dokumentumokig – numerikus vektorokká alakítja. Ez lehetővé teszi a vektoros keresési lehetőségeket, lehetővé téve a rendszer számára, hogy szemantikailag párosítsa a felhasználói lekérdezéseket a legrelevánsabb tudásbázis-bejegyzésekkel a hatékony keresés érdekében.
A megoldás olyan AWS-szolgáltatásokkal van integrálva, mint a Lambda az API-hívásokra válaszul kód futtatásához, az Athena az adatkészletek lekérdezéséhez, az OpenSearch szolgáltatás a tudásbázisokban való kereséshez és az Amazon S3 a tároláshoz. Ezek a szolgáltatások együtt dolgoznak, hogy zökkenőmentes élményt nyújtsanak az IoT-eszközműveletek kezeléséhez természetes nyelvi parancsokon keresztül.
Előnyök
Ez a megoldás a következő előnyökkel jár:
- A megvalósítás bonyolultsága:
- Kevesebb kódsorra van szükség, mert az Agents for Amazon Bedrock elvonatkoztatja a mögöttes bonyolultság nagy részét, csökkentve a fejlesztési erőfeszítéseket.
- A vektoros adatbázisok, például az OpenSearch szolgáltatás kezelése leegyszerűsödik, mivel az Amazon Bedrock tudásbázisai kezelik a vektorizálást és a tárolást
- A különféle AWS-szolgáltatásokkal való integráció leegyszerűsödik az előre meghatározott műveletcsoportok révén
- Fejlesztői tapasztalat:
- Az Amazon Bedrock konzol felhasználóbarát felületet biztosít az azonnali fejlesztéshez, teszteléshez és az okok elemzéséhez (RCA), javítva az általános fejlesztői élményt.
- Agilitás és rugalmasság:
- Az Agents for Amazon Bedrock lehetővé teszi a zökkenőmentes frissítést az újabb FM-ekre (például a Claude 3.0-ra), amikor azok elérhetővé válnak, így a megoldás naprakész marad a legújabb fejlesztésekkel
- A szolgáltatáskvótákat és a korlátozásokat az AWS kezeli, csökkentve a megfigyelési és skálázási infrastruktúra többletköltségét
- Biztonság:
- Az Amazon Bedrock egy teljesen felügyelt szolgáltatás, amely betartja az AWS szigorú biztonsági és megfelelőségi szabványait, potenciálisan leegyszerűsítve a szervezeti biztonsági felülvizsgálatokat.
Bár az Agents for Amazon Bedrock egyszerű és felügyelt megoldást kínál a párbeszédes mesterségesintelligencia-alkalmazások létrehozásához, egyes szervezetek a nyílt forráskódú megközelítést részesíthetik előnyben. Ilyen esetekben használhat olyan keretrendszereket, mint a LangChain, amelyet a következő részben tárgyalunk.
LangChain dinamikus útválasztási megközelítés
A LangChain egy nyílt forráskódú keretrendszer, amely leegyszerűsíti a társalgási AI felépítését azáltal, hogy lehetővé teszi a nagy nyelvi modellek (LLM) és a dinamikus útválasztási képességek integrálását. A LangChain Expression Language (LCEL) segítségével a fejlesztők meghatározhatják a routing, amely lehetővé teszi nem determinisztikus láncok létrehozását, ahol az előző lépés kimenete határozza meg a következő lépést. Az útválasztás segít struktúrát és következetességet biztosítani az LLM-ekkel folytatott interakciókban.
Ebben a bejegyzésben ugyanazt a példát használjuk, mint az AI-asszisztens az IoT-eszközkezeléshez. A fő különbség azonban az, hogy a rendszerpromptokat külön kell kezelnünk, és minden láncot külön entitásként kell kezelnünk. Az útválasztási lánc a felhasználó bevitele alapján dönti el a célláncot. A döntést egy LLM támogatásával hozzák meg a rendszerprompt, a chatelőzmények és a felhasználói kérdés átadásával.
Megoldás áttekintése
A következő diagram a dinamikus útválasztási megoldás munkafolyamatát mutatja be.
A munkafolyamat a következő lépésekből áll:
- A felhasználó kérdést intéz az AI-asszisztenshez. Például: „Mi a maximális mérőszám az 1009-es eszközhöz?”
- Az LLM kiértékeli az egyes kérdéseket a csevegési előzményekkel együtt ugyanabban a munkamenetben, hogy meghatározza azok természetét és azt, hogy melyik témakörbe tartozik (például SQL, művelet, keresés vagy SME). Az LLM osztályozza a bemenetet, és az LCEL útválasztási lánc veszi ezt a bemenetet.
- Az útválasztó lánc a bemenet alapján választja ki a célláncot, és az LLM a következő rendszerpromptot kapja:
Az LLM kiértékeli a felhasználó kérdését a csevegési előzményekkel együtt, hogy meghatározza a lekérdezés természetét és azt, hogy melyik témakörbe tartozik. Az LLM ezután osztályozza a bemenetet, és egy JSON-választ ad ki a következő formátumban:
Az útválasztó lánc ezt a JSON-választ használja a megfelelő céllánc meghívására. Négy tárgyspecifikus céllánc létezik, amelyek mindegyike saját rendszerprompttal rendelkezik:
- Az SQL-lel kapcsolatos lekérdezések elküldésre kerülnek az SQL célláncának adatbázis-interakciók céljából. Az LCEL segítségével elkészítheti a SQL lánc.
- A cselekvés-orientált kérdések az egyéni Lambda célláncot hívják meg a műveletek futtatásához. Az LCEL segítségével meghatározhatja a sajátját egyedi funkció; esetünkben ez egy előre definiált Lambda-függvény futtatása egy elemzett eszközazonosítójú e-mail küldéséhez. Példa a felhasználói bevitelre: „Shut down device 1009”.
- A keresésre fókuszáló megkeresések a RONGY céllánc az információkereséshez.
- A kkv-kkal kapcsolatos kérdések a KKV/szakértői céllánchoz fordulnak speciális betekintésekért.
- Minden céllánc veszi a bemenetet, és futtatja a szükséges modelleket vagy funkciókat:
- Az SQL-lánc az Athena-t használja a lekérdezések futtatásához.
- A RAG lánc az OpenSearch szolgáltatást használja a szemantikai kereséshez.
- Az egyedi Lambda-lánc Lambda-függvényeket futtat a műveletekhez.
- A KKV/szakértői lánc az Amazon Bedrock modell segítségével nyújt betekintést.
- Az egyes célláncokból származó válaszokat az LLM koherens betekintésekké fogalmazza meg. Ezek a betekintések ezután eljutnak a felhasználóhoz, befejezve a lekérdezési ciklust.
- A felhasználói bevitelt és válaszokat a rendszer tárolja Amazon DynamoDB kontextus biztosítása az LLM számára az aktuális munkamenethez és a múltbeli interakciókhoz. A DynamoDB-ben megőrzött információk időtartamát az alkalmazás szabályozza.
Műszaki áttekintés
A következő diagram a LangChain dinamikus útválasztási megoldás architektúráját mutatja be.
A webalkalmazás a Streamlitre épül, az Amazon ECS-en és a Fargate-en keresztül, és egy Application Load Balancer segítségével érhető el. LLM-ként az Anthropic Claude v2.1-jét használjuk az Amazon Bedrock-on. A webalkalmazás LangChain könyvtárak segítségével lép kapcsolatba a modellel. A végfelhasználók igényeinek kielégítése érdekében számos egyéb AWS-szolgáltatással is együttműködik, mint például az OpenSearch Service, az Athena és a DynamoDB.
Előnyök
Ez a megoldás a következő előnyökkel jár:
- A megvalósítás bonyolultsága:
- Bár több kódot és egyedi fejlesztést igényel, a LangChain nagyobb rugalmasságot és irányítást biztosít az útválasztási logika és a különféle összetevőkkel való integráció felett.
- A vektoros adatbázisok, például az OpenSearch szolgáltatás kezelése további beállítási és konfigurációs erőfeszítéseket igényel. A vektorizálási folyamat kódban valósul meg.
- Az AWS-szolgáltatásokkal való integráció több egyedi kódot és konfigurációt igényelhet.
- Fejlesztői tapasztalat:
- A LangChain Python-alapú megközelítése és kiterjedt dokumentációja vonzó lehet a Python és a nyílt forráskódú eszközöket már ismerő fejlesztők számára.
- Az azonnali fejlesztés és hibakeresés több kézi erőfeszítést igényelhet, mint az Amazon Bedrock konzol használata.
- Agilitás és rugalmasság:
- A LangChain az LLM-ek széles skáláját támogatja, lehetővé téve a különböző modellek vagy szolgáltatók közötti váltást, elősegítve a rugalmasságot.
- A LangChain nyílt forráskódú jellege lehetővé teszi a közösség által vezérelt fejlesztéseket és testreszabásokat.
- Biztonság:
- Nyílt forráskódú keretrendszerként a LangChain szigorúbb biztonsági felülvizsgálatokat és átvilágítást igényelhet a szervezeteken belül, ami többletköltséget jelenthet.
Következtetés
A társalgási AI-asszisztensek átalakító eszközök a műveletek egyszerűsítésére és a felhasználói élmény javítására. Ez a bejegyzés két hatékony megközelítést vizsgált meg az AWS-szolgáltatások használatával: az Amazon Bedrock menedzselt ügynökeit és a rugalmas, nyílt forráskódú LangChain dinamikus útválasztást. Az e megközelítések közötti választás a szervezet követelményeitől, fejlesztési preferenciáitól és a kívánt testreszabási szinttől függ. A megtett úttól függetlenül az AWS lehetővé teszi, hogy intelligens AI-asszisztenseket hozzon létre, amelyek forradalmasítják az üzleti és az ügyfelek interakcióit
Keresse meg a megoldás kódját és a telepítési eszközöket oldalunkon GitHub tárház, ahol követheti az egyes társalgási AI-megközelítések részletes lépéseit.
A szerzőkről
Ameer Hakme a pennsylvaniai székhelyű AWS Solutions Architect. Együttműködik a független szoftverszállítókkal (ISV) az északkeleti régióban, segítve őket az AWS Cloudon skálázható és modern platformok tervezésében és felépítésében. Az AI/ML és a generatív mesterségesintelligencia szakértőjeként az Ameer segít az ügyfeleknek kiaknázni ezekben az élvonalbeli technológiákban rejlő lehetőségeket. Szabadidejében szívesen motorozik és minőségi időt tölt családjával.
Sharon Li AI/ML Solutions Architect a bostoni székhelyű Amazon Web Servicesnél, és szenvedélye a generatív mesterséges intelligencia alkalmazások tervezése és építése AWS-en. Együttműködik az ügyfelekkel, hogy az AWS AI/ML szolgáltatásait innovatív megoldásokhoz használja fel.
Kawsar Kamal az Amazon Web Services vezető megoldástervezője, aki több mint 15 éves tapasztalattal rendelkezik az infrastruktúra automatizálási és biztonsági területen. Segít az ügyfeleknek skálázható DevSecOps és AI/ML megoldások tervezésében és felépítésében a felhőben.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/enhance-conversational-ai-with-advanced-routing-techniques-with-amazon-bedrock/