LangChain'de Yapılandırılmış Çıkış Ayrıştırıcı Nasıl Kullanılır?

Langchain De Yapilandirilmis Cikis Ayristirici Nasil Kullanilir



LangChain, OpenAI ortamını kullanarak veri kümesinden veya internetten bilgi almak için sohbet modelleri ve LLM'ler oluşturmaya yönelik çerçevedir. Yapılandırılmış çıktı ayrıştırıcısı, gerçek yanıt ve bazı ekstra ilgili bilgiler gibi birden fazla alan veya yanıt almak için kullanılır. Çıktı ayrıştırıcı kitaplıkları, LLM'ler veya sohbet modelleri olarak oluşturulan modelleri kullanarak veri çıkarmak için LangChain ile birlikte kullanılabilir.

Bu gönderi, LangChain'de yapılandırılmış çıktı ayrıştırıcısını kullanma sürecini gösterdi.







LangChain'de Yapılandırılmış Çıkış Ayrıştırıcı Nasıl Kullanılır?

LangChain'de yapılandırılmış çıktı ayrıştırıcısını kullanmak için aşağıdaki adımları uygulamanız yeterlidir:



1. Adım: Önkoşulları yükleyin



Python ortamınızda henüz yüklü değilse LangChain çerçevesini yükleyerek süreci başlatın:





pip düzenlemek uzun zincir



LangChain'de ayrıştırıcı oluşturma yöntemlerine erişmek için OpenAI çerçevesini yükleyin:

pip düzenlemek açık

Bundan sonra, ortamına erişmek için API anahtarını kullanarak OpenAI ortamına bağlanmanız yeterlidir. Sen ” kitaplığını açın ve “ kullanarak API anahtarını sağlayın geçiş izni ' kütüphane:

bizi ithal et
getpass'ı içe aktar

işletim sistemi ortamı [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API Anahtarı:' )

Adım 2: Çıktı/Yanıt için Şema Oluşturun

OpenAI bağlantısını aldıktan sonra, çıktıyı oluşturmak için gerekli şemayı oluşturmak üzere kitaplıkları içe aktarmanız yeterlidir:

langchain.output_parsers'tan StructuredOutputParser, ResponseSchema'yı içe aktarın
langchain.prompts'tan PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate'i içe aktarın
langchain.llms'den OpenAI'yi içe aktarın
langchain.chat_models'den ChatOpenAI'yi içe aktarın

Modelin yanıtı buna göre oluşturması için gereksinime göre yanıt şemasını belirtin:

yanıt_şemaları = [
Yanıt Şeması ( isim = 'cevap' , Tanım = 'sorguyu yanıtla' ) ,
Yanıt Şeması ( isim = 'kaynak' , Tanım = 'cevaba ulaşmak için kullanılan web sitesi kaynağı' )
]
Output_parser = StructuredOutputParser.from_response_schemas ( yanıt_şemaları )

Adım 3: Şablonu Biçimlendir

Çıkış için şemayı yapılandırdıktan sonra, giriş şablonunu doğal dilde ayarlamanız yeterlidir; böylece model, yanıtını almadan önce soruları anlayabilir:

format_instructions = çıktı_parser.get_format_instructions ( )
istem = PromptTemplate (
şablon = 'Kullanıcının sorusuna yanıt verin. \N {şablon} \N {sorgu}' ,
girdi_değişkenleri = [ 'sorgu' ] ,
kısmi_değişkenler = { 'şablon' : format_instructions }
)

Yöntem 1: Dil Modelini Kullanma

Sorular ve yanıtlar için format şablonlarını yapılandırdıktan sonra OpenAI() işlevini kullanarak modeli oluşturmanız yeterlidir:

model = OpenAI ( sıcaklık = 0 )

İstemi “ sorgu ” değişkenine aktarın ve format_prompt() girdi olarak işlev görür ve ardından yanıtı “ çıktı ” değişken:

_input = istem.format_prompt ( sorgu = 'Dünyada kaç kıta var' )
çıktı = model ( _input.to_string ( ) )

Ara ayrıştırma() Modelden yanıt almak için argüman olarak çıktı değişkenini kullanan işlev:

çıktı_parser.parse ( çıktı )

Çıktı ayrıştırıcısı sorgunun cevabını alır ve cevabı almak için kullanılan web sitesinin sayfasına bağlantıyla birlikte ayrıntılı bir cevap görüntüler:

Yöntem 2: Sohbet Modelini Kullanma

LangChain'deki çıktı ayrıştırıcısından sonuçlar almak için şunu kullanın: sohbet_modeli aşağıdaki değişken:

chat_model = ChatOpenAI ( sıcaklık = 0 )

İstemi anlamak için sohbet modelinin bilgi istemi şablonunu yapılandırın. Ardından girdiye göre yanıtı oluşturun:

istem = ChatPromptTemplate (
mesajlar = [
HumanMessagePromptTemplate.from_template ( 'Kullanıcının sorusuna yanıt verin. \N {format_instructions} \N {sorgu}' )
] ,
girdi_değişkenleri = [ 'sorgu' ] ,
kısmi_değişkenler = { 'format_instructions' : format_instructions }
)

Bundan sonra, sadece “” girişini sağlayın. sorgu ” değişkenine gidin ve ardından onu chat_model() modelden çıktı almak için işlev:

_input = istem.format_prompt ( sorgu = 'ABD şunu temsil ediyor' )
çıktı = chat_model ( _input.to_messages ( ) )

Sohbet modelinden yanıt almak için sonucu saklayan çıktı_parser'ı kullanın. çıktı ” değişken:

çıktı_parser.parse ( çıktı.içerik )

Sohbet modeli, sorgunun cevabını ve internetten cevap almak için kullanılan web sitesinin adını görüntüledi:

Bu tamamen LangChain'de yapılandırılmış bir çıktı ayrıştırıcı kullanmakla ilgilidir.

Çözüm

LangChain'de yapılandırılmış çıktı ayrıştırıcısını kullanmak için işleme başlamak üzere LangChain ve OpenAI modüllerini kurmanız yeterlidir. Bundan sonra, API anahtarını kullanarak OpenAI ortamına bağlanın ve ardından model için bilgi istemi ve yanıt şablonlarını yapılandırın. Çıkış ayrıştırıcısı bir dil modeliyle veya bir sohbet modeliyle kullanılabilir. Bu kılavuzda çıktı ayrıştırıcının her iki yöntemle kullanımı açıklanmaktadır.