Megosztás a következőn keresztül:


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.

Képernyőkép a folyamat létrehozásának folyamatáról az alapoktól vagy a katalógustól.

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.

Képernyőkép a folyamat fő munkaterületéről.

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.

Képernyőkép a számítási munkamenet elindításáról a studióban.

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]}.

 Képernyőkép a folyamat bemenetéről és kimenetéről.

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.

 Python-szkript Python-csomóponthoz való írásának képernyőképe.

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}

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.

Képernyőkép a konfiguráció aktiválásának beállításáról a feltételes vezérlés engedélyezéséhez.

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ő.

 Képernyőkép a kimeneti gomb két helyen való megtekintéséről.

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.  Képernyőkép a nyomkövetés részleteiről.

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 .

Képernyőkép a folyamatteszt eredményéről.

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.

Képernyőkép a csevegési folyamat szerzői oldaláról.

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éket chat_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_historylistá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:

  1. Kattintson a Csevegés gombra a csevegőablak megnyitásához.
  2. Írja be a tesztbemeneteket a csevegőablakba, és az Enter gombra kattintva küldje el őket a csevegőrobotnak.
  3. Tekintse át a csevegőrobot válaszait, hogy környezetfüggően megfelelőek és pontosak legyenek.
  4. A nyomkövetést a helyszínen tekintheti meg a gyors megfigyeléshez és hibakereséshez.

 Képernyőkép a csevegési folyamat csevegési felületéről.

Következő lépések