Sdílet prostřednictvím


Integrace s jazykem LangChain

Prompt Flow je možné použít také společně s knihovnou JazykChain Python, což je architektura pro vývoj aplikací využívajících LLM, agenty a nástroje závislostí. V tomto dokumentu vám ukážeme, jak na příkazovém toku načíst vývoj langchain.

Snímek obrazovky s toky s knihovnou Python LangChain

Zavádíme následující části:

Výhody integrace LangChain

Považujeme integraci jazyka LangChain a tok výzvy za výkonnou kombinaci, která vám může pomoct s jednoduchým sestavováním a testováním vlastních jazykových modelů, zejména v případě, že budete chtít k počátečnímu sestavení toku použít moduly LangChain, a pak pomocí našeho příkazového řádku Flow snadno škálovat experimenty pro hromadné testování. vyhodnocením a nakonec nasazením.

  • Pro větší experimenty ve velkém měřítku – převod existoval vývoj jazyka LangChain v sekundách. Pokud jste už vyvinuli tok demo prompt flow založený na kódu LangChain místně, se zjednodušenou integrací ve službě Prompt Flow ji můžete snadno převést na tok pro další experimentování, například můžete provádět větší škálovací experimenty na základě větších datových sad.
  • Pokud lépe znáte přípravu toků, můžete snadno sestavit tok výzvy na základě známé sady Python SDK. Pokud už znáte sadu LangChain SDK a dáváte přednost použití jejích tříd a funkcí přímo, intuitivní tok sestavení uzlu Pythonu umožňuje snadno vytvářet toky na základě vlastního kódu Pythonu.

Jak převést kód LangChain na tok

Předpokládejme, že už máte k dispozici vlastní kód LangChain místně, který je správně otestovaný a připravený k nasazení. Pokud ho chcete na naší platformě převést na spustitelný tok, musíte postupovat podle následujících kroků.

Předpoklady pro prostředí a výpočetní relaci

Prostředí, které používáte ke spuštění tohoto toku, můžete přizpůsobit přidáním balíčků do souboru do requirements.txt složky toku. Další informace o výpočetní relaci

Převod přihlašovacích údajů na připojení toku výzvy

Při vývoji kódu LangChain jste možná definovali proměnné prostředí pro uložení přihlašovacích údajů, jako je klíč rozhraní API AzureOpenAI, který je nezbytný pro vyvolání modelu AzureOpenAI.

Snímek obrazovky s příkladem Azure OpenAI v jazyce LangChain

Místo přímého kódování přihlašovacích údajů v kódu a jejich zveřejnění jako proměnných prostředí při spuštění kódu LangChain v cloudu se doporučuje převést přihlašovací údaje z proměnných prostředí na připojení v toku výzvy. To vám umožní bezpečně ukládat a spravovat přihlašovací údaje odděleně od kódu.

Vytvořit připojení

Vytvořte připojení, které bezpečně ukládá vaše přihlašovací údaje, například klíč rozhraní LLM API nebo jiné požadované přihlašovací údaje.

  1. Přejděte na tok výzvy v pracovním prostoru a pak přejděte na kartu Připojení .
  2. Vyberte Vytvořit a vyberte typ připojení pro uložení přihlašovacích údajů. (Jako příklad použijte vlastní připojení) Snímek obrazovky s toky na kartě Připojení se zvýrazněným tlačítkem v rozevírací nabídce Pro vytvoření
  3. Na pravém panelu můžete definovat název připojení a můžete přidat několik párů klíč-hodnota pro uložení přihlašovacích údajů a klíčů výběrem možnosti Přidat páry klíč-hodnota. Snímek obrazovky s přidáním vlastního spojovacího bodu na tlačítko Přidat páry klíč-hodnota

Poznámka:

  • Jako tajný klíč můžete nastavit jeden pár klíč-hodnota, podle kterého se kontroluje tajný klíč, který se zašifruje a uloží ve vaší hodnotě klíče.
  • Ujistěte se, že je nastavený alespoň jeden pár klíč-hodnota jako tajný klíč, jinak se připojení úspěšně nevytvořilo.

Pak se toto vlastní připojení používá k nahrazení klíče a přihlašovacích údajů, které jste explicitně definovali v kódu LangChain, pokud už máte tok příkazového řádku integrace LangChain, můžete přejít na Konfiguraci připojení, vstupu a výstupu.

Převod kódu LangChain na spustitelný tok

Veškerý kód LangChain se může spustit přímo v nástrojích Pythonu ve vašem toku, pokud výpočetní relace obsahuje balíčky závislostí, můžete kód LangChain snadno převést na tok pomocí následujícího postupu.

Převod kódu LangChain na strukturu toku

Poznámka:

Kód LangChain můžete převést na tok dvěma způsoby.

  • Pro zjednodušení procesu převodu můžete přímo inicializovat model LLM pro vyvolání v uzlu Pythonu pomocí integrované knihovny LLM LangChain.
  • Dalším přístupem je převod vašeho LLM využívajícího kód LangChain na naše nástroje LLM v toku, aby bylo lepší další experimentální řízení.

Pro rychlý převod kódu LangChain do toku doporučujeme dva typy struktur toku na základě případu použití:

Typy Desc Velikost písmen
Zadejte A Tok, který zahrnuje uzly výzvy i uzly Pythonu Šablonu výzvy můžete extrahovat z kódu do uzlu výzvy a zkombinovat zbývající kód v jednom uzlu Pythonu nebo několika nástrojích Pythonu. Tato struktura je ideální pro uživatele, kteří chtějí snadno ladit výzvu spuštěním variant toku a pak zvolit optimální na základě výsledků vyhodnocení.
Typ B Tok, který zahrnuje pouze uzly Pythonu Nový tok můžete vytvořit pouze s uzly Pythonu. Veškerý kód včetně definice výzvy se spustí v uzlech Pythonu. Tato struktura je vhodná pro uživatele, kteří nepotřebují explicitně ladit výzvu v pracovním prostoru, ale vyžadují rychlejší dávkové testování na základě větších škálovacích datových sad.

Například typ A tok z grafu je podobný:

Snímek obrazovky toků se zvýrazněním tlačítka výzvy a systémové šablony

Snímek obrazovky se systémovou šablonou zobrazující variantu 1 a nulu se zvýrazněným tlačítkem pro ladění dokončení

I když by tok typu B vypadal takto:

Snímek obrazovky toků znázorňující uzel kódu LangChain a graf

Pokud chcete vytvořit tok ve službě Azure Machine Learning, můžete přejít do svého pracovního prostoru a pak v levém navigačním panelu vybrat PříkazOvý tok a pak vytvořit nový tok. Podrobnější pokyny k vytvoření toku najdete v části Vytvoření toku.

Konfigurace připojení, vstupu a výstupu

Jakmile budete mít správně strukturovaný tok a dokončíte přesun kódu do konkrétních uzlů nástrojů, musíte nahradit původní proměnné prostředí odpovídajícím klíčem v připojení a nakonfigurovat vstup a výstup toku.

Konfigurace připojení

Pokud chcete využít připojení, které nahrazuje proměnné prostředí, které jste původně definovali v kódu LangChain, musíte importovat knihovnu promptflow.connections připojení promptflow v uzlu Pythonu.

Příklad:

Pokud máte kód LangChain, který využívá model AzureOpenAI, můžete nahradit proměnné prostředí odpovídajícím klíčem v připojení Azure OpenAI:

Import knihovny from promptflow.connections import AzureOpenAIConnection

Snímek obrazovky s kódem LangChain v toku výzvy

Pro vlastní připojení je potřeba postupovat podle následujících kroků:

  1. Naimportujte knihovnu from promptflow.connections import CustomConnectiona definujte vstupní parametr typu CustomConnection ve funkci nástroje. Snímek obrazovky s uzlem řetězu vyhledávání na webu doc, který zvýrazňuje vlastní připojení
  2. Parsujte vstup do vstupního oddílu a pak v rozevíracím seznamu hodnot vyberte cílové vlastní připojení. Snímek obrazovky uzlu řetězu se zvýrazněním připojení
  3. Nahraďte proměnné prostředí, které původně definovaly klíč a přihlašovací údaje odpovídajícím klíčem přidaným v připojení.
  4. Uložte stránku pro vytváření obsahu a nakonfigurujte parametr připojení ve vstupu uzlu.

Konfigurace vstupu a výstupu

Před spuštěním toku nakonfigurujte vstup a výstup uzlu a také celkový vstup a výstup toku. Tento krok je zásadní pro zajištění správného předávání všech požadovaných dat tokem a získání požadovaných výsledků.

Další kroky