Folyamat fejlesztése
A prompt folyamat egy olyan fejlesztési eszköz, amely a nagy nyelvi modellek (LLM-ek) által működtetett AI-alkalmazások teljes fejlesztési ciklusának egyszerűsítésére szolgál. Mivel az LLM-alapú AI-alkalmazások lendülete világszerte folyamatosan növekszik, a parancssori folyamat átfogó megoldást kínál, amely leegyszerűsíti az AI-alkalmazások prototípus-készítési, kísérletezési, iterálási és üzembe helyezésének folyamatát.
A parancssori folyamattal a következőre lesz képes:
- Végrehajtható folyamatok vezénylése LLM-ekkel, kérésekkel és Python-eszközökkel egy vizualizált gráfon keresztül.
- A folyamatokat egyszerűen tesztelheti, hibakereséssel és iterálással végezheti el.
- Hozzon létre parancssori változatokat, és hasonlítsa össze a teljesítményüket.
Ebben a cikkben megtudhatja, hogyan hozhatja létre és fejlesztheti az első parancssori folyamatot az Azure Machine Tanulás Studióban.
A parancssori folyamat létrehozása és fejlesztése
A studióban válassza a Parancssori folyamat fület a bal oldali navigációs sávon. Válassza a Létrehozás lehetőséget az első parancssori folyamat létrehozásához. A folyamatot úgy hozhatja létre, hogy klónozza a katalógusban elérhető mintákat, vagy létrehoz egy folyamatot az alapoktól. Ha már rendelkezik folyamatfájlokkal a helyi vagy fájlmegosztásban, importálhatja is a fájlokat egy folyamat létrehozásához.
A folyamat létrehozása
A bal oldalon a lapított nézet, a fő munkaterület, ahol létrehozhatja a folyamatot, például eszközöket adhat hozzá a folyamathoz, szerkesztheti a kérést, beállíthatja a folyamat bemeneti adatait, futtathatja a folyamatot, megtekintheti a kimenetet stb.
A jobb felső sarokban a folyamatfájlok nézete látható. Minden folyamatot jelölhet egy mappa, amely tartalmazza a "flow.dag.yaml" fájlt, a forráskódfájlokat és a rendszermappákat. Hozzáadhat új fájlokat, szerkesztheti a meglévő fájlokat, és törölheti a fájlokat. A fájlokat exportálhatja helyire is, vagy importálhat fájlokat a helyi fájlból.
A csomópont összesimított nézetben történő beágyazott szerkesztése mellett bekapcsolhatja a Nyers fájl mód kapcsolót is, és kiválaszthatja a fájl nevét a fájl szerkesztéséhez a fájl megnyitása lapon.
A jobb alsó sarokban csak a vizualizáció gráfnézete látható. Megjeleníti a fejleszteni kívánt folyamatstruktúrát. Nagyíthat, kicsinyíthet, automatikus elrendezést stb.
Feljegyzés
Közvetlenül nem szerkesztheti a gráfnézetet, de kiválaszthatja azt a csomópontot, amelyet az elsimított nézetben a megfelelő csomópontkártyára szeretne keresni, majd elvégezheti a beágyazott szerkesztést.
Számítási munkamenet
Mielőtt elkezdené a szerkesztést, először el kell indítania a számítási munkamenetet. A számítási munkamenet a parancssori folyamat futtatásához szükséges számítási erőforrás, amely tartalmaz egy Docker-rendszerképet, amely tartalmazza az összes szükséges függőségi csomagot. A folyamat végrehajtásához kötelező megadni.
Folyamat bemenete és kimenete
A folyamat bemenete a folyamat egészébe továbbított adatok. Adja meg a bemeneti sémát a név és a típus megadásával. Állítsa be az egyes bemenetek bemeneti értékét a folyamat teszteléséhez. A folyamatbemenetre később a folyamatcsomópontokban szintaxissal ${input.[input name]}
hivatkozhat.
A folyamat kimenete a folyamat egésze által előállított adatok, amelyek a folyamat végrehajtásának eredményeit összegzik. A kimeneti táblázatot a folyamatfuttatás vagy a kötegfuttatás befejezése után tekintheti meg és exportálhatja. A folyamat kimeneti értékének meghatározásához hivatkozzon a folyamat egyetlen csomópontos kimenetére szintaxis ${[node name].output}
vagy ${[node name].output.[field name]}
.
A folyamat fejlesztése különböző eszközökkel
A folyamatokban különböző típusú eszközöket használhat, például LLM, Python, Serp API, Content Széf ty stb.
Az eszköz kiválasztásával új csomópontot fog hozzáadni a folyamathoz. Meg kell adnia a csomópont nevét, és meg kell adnia a csomóponthoz szükséges konfigurációkat.
AZ LLM-csomópont esetében például ki kell választania egy kapcsolatot, egy üzembe helyezést, be kell állítania a parancssort stb. Csatlakozás ion segít biztonságosan tárolni és kezelni a titkos kulcsokat vagy az Azure OpenAI használatához szükséges egyéb bizalmas hitelesítő adatokat. Ha még nem rendelkezik kapcsolattal, először létre kell hoznia, és győződjön meg arról, hogy az Azure OpenAI-erőforrás rendelkezik a csevegési vagy befejezési telepítésekkel. Az LLM és a Prompt eszköz támogatja, hogy a Jinja-t csábító nyelvként használja a parancssor dinamikus létrehozásához. Használhatja például a {{}}
bemeneti név rögzítését rögzített szöveg helyett, így menet közben lecserélhető.
A Python-eszköz használatához be kell állítania a Python-szkriptet, meg kell adnia a bemeneti értéket stb. Az alábbiak szerint kell definiálnia egy Python-függvényt bemenetekkel és kimenetekkel.
Miután befejezte a parancssor vagy a Python-szkript írását, kiválaszthatja a Bemenet ellenőrzése és elemzése lehetőséget, hogy a rendszer automatikusan elemezze a csomópont bemenetét a parancssori sablon és a Python-függvény bemenete alapján. A csomópont bemeneti értéke a következő módokon állítható be:
- Az érték beállítása közvetlenül a beviteli mezőben
- A folyamat bemenetének hivatkozása szintaxissal
${input.[input name]}
- Hivatkozás a csomópont kimenetére a szintaxissal vagy
${[node name].output.[field name]}
a használatával${[node name].output}
Csomópontok összekapcsolása
A csomópont kimenetére való hivatkozással összekapcsolhatja a csomópontokat. Hivatkozhat például az LLM-csomópont kimenetére a Python-csomópont bemenetében, így a Python-csomópont felhasználhatja az LLM-csomópont kimenetét, és a gráfnézetben láthatja, hogy a két csomópont össze van kapcsolva.
Feltételes vezérlés engedélyezése a folyamathoz
A Prompt Flow nem csupán egyszerűsített módot kínál a folyamat végrehajtására, hanem egy hatékony funkciót is kínál a fejlesztők számára – a feltételes vezérlést, amely lehetővé teszi a felhasználók számára, hogy feltételeket szabjanak a folyamat bármely csomópontjának végrehajtásához.
A feltételes vezérlés alapvető feladata, hogy a folyamat egyes csomópontjait egy aktiválási konfigurációhoz társítsa. Ez a konfiguráció lényegében egy "mikor" utasítás, amely meghatározza, hogy mikor kell végrehajtani egy csomópontot. Ennek a funkciónak a teljesítménye akkor jön létre, ha összetett folyamatokkal rendelkezik, amelyekben bizonyos tevékenységek végrehajtása a korábbi tevékenységek eredményétől függ. A feltételes vezérlés használatával konfigurálhatja, hogy az adott csomópontok csak a megadott feltételek teljesülése esetén legyenek végrehajtva.
A csomópont aktiválási konfigurációját a csomópont kártyáján található Konfiguráció aktiválása gombra kattintva állíthatja be. Hozzáadhat "mikor" utasítást, és beállíthatja a feltételt.
A feltételeket a folyamat bemenetére vagy a csomópont kimenetére hivatkozva állíthatja be. Beállíthatja például a feltételt ${input.[input name]}
adott értékként vagy ${[node name].output}
meghatározott értékként.
Ha a feltétel nem teljesül, a csomópont ki lesz hagyva. A csomópont állapota "Megkerülve" állapotként jelenik meg.
A folyamat tesztelése
A folyamatot kétféleképpen tesztelheti:
- Futtassa az egyetlen csomópontot.
- Egyetlen csomópont futtatásához válassza a Futtatás ikont a csomóponton lapított nézetben. A futtatás befejezése után gyorsan ellenőrizheti az eredményeket a csomópont kimeneti szakaszában.
- Futtassa a teljes folyamatot.
- A teljes folyamat futtatásához kattintson a jobb felső sarokban található Futtatás gombra .
Teszteredmény és nyomkövetés megtekintése (előzetes verzió)
A teljes folyamatfuttatás esetében a folyamat végrehajtása után a futtatási állapot megjelenik a futtatási szalagcímen. Ezután a Nyomkövetés megtekintése lehetőséget választva megtekintheti a nyomkövetést az eredmény ellenőrzéséhez és a folyamat végrehajtásának megfigyeléséhez, ahol megtekintheti a teljes folyamat és az egyes csomópontok bemenetét és kimenetét, valamint részletesebb információkat a hibakereséshez. A futtatás során és a futtatás befejezése után is elérhető.
A nyomkövetési nézet ismertetése
A parancssori folyamat nyomkövetési típusa Flow-ként van kijelölve. A nyomkövetési nézetben a folyamat vezénylésére használt eszközök egyértelmű sorrendje figyelhető meg.
A folyamatgyökér alatt minden 2. szint egy csomópontot jelöl, amelyet függvényhívás formájában hajtanak végre, így a rendszer függvényként azonosítja a span típust. Az egyes csomópontok végrehajtásának időtartama a span fán látható.
A span fában az LLM-hívások könnyen azonosíthatók LLM-spanként. Ezek információt nyújtanak az LLM-hívás időtartamáról és a kapcsolódó jogkivonat költségéről.
Ha egy sávra kattint, a jobb oldalon láthatja a részletes információkat. Ide tartoznak a bemeneti és kimeneti adatok, a nyers Json és a kivétel, amelyek mind hasznosak a megfigyeléshez és a hibakereséshez.
Feljegyzés
A parancssori folyamat SDK-ban a serval span típusokat határoztuk meg, beleértve az LLM-et, a függvényt, a beágyazást, a lekérést és a folyamatot. A rendszer automatikusan létrehozza a végrehajtási adatokat a kijelölt attribútumokban és eseményekben.
A span típusokkal kapcsolatos további információkért tekintse meg a nyomkövetési időtartamot.
A folyamatfuttatás befejezése után az eredmények ellenőrzéséhez a Teszteredmények megtekintése gombra kattintva ellenőrizheti a lista összes előzményfuttatási rekordjait. Alapértelmezés szerint az elmúlt hét napban létrehozott futtatási rekordok jelennek meg. A feltétel módosításához válassza a Szűrő lehetőséget .
A futtatási rekord nevére kattintva a részletes információkat nyomkövetési nézetben is megtekintheti.
Csevegési folyamat fejlesztése
A csevegési folyamat beszélgetési alkalmazások fejlesztésére lett tervezve, a standard folyamat képességeire építve, és továbbfejlesztett támogatást nyújt a csevegési bemenetekhez/kimenetekhez és a csevegési előzmények kezeléséhez. A csevegési folyamattal egyszerűen létrehozhat egy csevegőrobotot, amely kezeli a csevegés bemenetét és kimenetét.
A csevegési folyamat szerzői oldalán a csevegőfolyamat egy "csevegés" címkével van megjelölve, amely megkülönbözteti a szokásos folyamattól és a kiértékelési folyamattól. A csevegési folyamat teszteléséhez válassza a "Csevegés" gombot egy csevegési párbeszédpanel aktiválásához.
Csevegés bemenete/kimenete és csevegési előzményei
A csevegési folyamatot a szokásostól megkülönböztető legfontosabb elemek a csevegési bemenet, a csevegési előzmények és a csevegés kimenete.
- Csevegési bemenet: A csevegési bemenet a felhasználók által a csevegőrobotnak küldött üzenetekre vagy lekérdezésekre vonatkozik. A csevegési adatok hatékony kezelése elengedhetetlen a sikeres beszélgetéshez, mivel magában foglalja a felhasználói szándékok megértését, a releváns információk kinyerését és a megfelelő válaszok aktiválását.
- Csevegési előzmények: A csevegési előzmények a felhasználó és a csevegőrobot közötti összes interakció rekordja, beleértve a felhasználói bemeneteket és az AI által generált kimeneteket is. A csevegési előzmények fenntartása elengedhetetlen a beszélgetési környezet nyomon követéséhez, és annak biztosításához, hogy az AI kontextus szempontjából releváns válaszokat generáljon.
- Csevegés kimenete: A csevegés kimenete az AI által létrehozott üzenetekre vonatkozik, amelyeket a rendszer a felhasználónak küld a bemenetekre válaszul. A környezetfüggően megfelelő és vonzó csevegési kimenet létrehozása elengedhetetlen a pozitív felhasználói élményhez.
A csevegési folyamat több bemenettel is rendelkezhet, a csevegési folyamathoz csevegési előzményekre és csevegési bemenetekre van szükség .
A csevegési folyamat bemenetei szakaszban a folyamatbemenetek megjelölhetők csevegési bemenetként. Ezután kitöltheti a csevegés bemeneti értékét a csevegőmezőbe való beírással.
A parancssori folyamat segíthet a felhasználónak a csevegési előzmények kezelésében. A
chat_history
Bemenetek szakaszban a csevegési előzményeket jelölik. A csevegőablak összes interakciója, beleértve a felhasználói csevegési bemeneteket, a létrehozott csevegési kimeneteket, valamint az egyéb folyamatbemeneteket és kimeneteket, automatikusan tárolja a csevegési előzményekben. A felhasználó nem tudja manuálisan beállítani a Bemenetek szakaszban szereplő értéketchat_history
. A bemenetek és kimenetek listájaként van strukturálva:[ { "inputs": { "<flow input 1>": "xxxxxxxxxxxxxxx", "<flow input 2>": "xxxxxxxxxxxxxxx", "<flow input N>""xxxxxxxxxxxxxxx" }, "outputs": { "<flow output 1>": "xxxxxxxxxxxx", "<flow output 2>": "xxxxxxxxxxxxx", "<flow output M>": "xxxxxxxxxxxxx" } }, { "inputs": { "<flow input 1>": "xxxxxxxxxxxxxxx", "<flow input 2>": "xxxxxxxxxxxxxxx", "<flow input N>""xxxxxxxxxxxxxxx" }, "outputs": { "<flow output 1>": "xxxxxxxxxxxx", "<flow output 2>": "xxxxxxxxxxxxx", "<flow output M>": "xxxxxxxxxxxxx" } } ]
Feljegyzés
A csevegőelőzmények automatikus mentésének vagy kezelésének lehetősége a tartalomkészítő oldalon található funkció, amikor teszteket végez a csevegőablakban. Kötegfuttatások esetén a felhasználóknak tartalmazniuk kell a csevegési előzményeket a kötegelt futtatási adatkészletben. Ha nincs elérhető csevegési előzmény a teszteléshez, egyszerűen állítsa a chat_history egy üres listára []
a kötegelt futtatási adatkészleten belül.
Szerzői kérés csevegési előzményekkel
A csevegési előzményeknek a parancssorokba való beépítése elengedhetetlen a környezettudatos és vonzó csevegőrobot-válaszok létrehozásához. A kérésekben hivatkozhat chat_history
a korábbi interakciók lekérésére. Ez lehetővé teszi, hogy hivatkozzon a korábbi bemenetekre és kimenetekre, hogy környezetileg releváns válaszokat hozzon létre.
A Jinja nyelv ciklusos nyelvhelyessége a bemenetek és kimenetek chat_history
listájának megjelenítéséhez.
{% for item in chat_history %}
user:
{{item.inputs.question}}
assistant:
{{item.outputs.answer}}
{% endfor %}
Tesztelés a csevegőmezővel
A csevegőablak interaktív módon tesztelheti a csevegési folyamatot a csevegőrobottal folytatott beszélgetés szimulálásával. Ha a csevegési folyamatot a csevegőmezővel szeretné tesztelni, kövesse az alábbi lépéseket:
- Kattintson a Csevegés gombra a csevegőablak megnyitásához.
- Írja be a tesztbemeneteket a csevegőablakba, és az Enter gombra kattintva küldje el őket a csevegőrobotnak.
- Tekintse át a csevegőrobot válaszait, hogy környezetfüggően megfelelőek és pontosak legyenek.
- A nyomkövetést a helyszínen tekintheti meg a gyors megfigyeléshez és hibakereséshez.