Bu kılavuz, LangChain'de Maksimum Marjinal Uygunluk örnek seçicisine göre seçim kullanma sürecini gösterecektir.
LangChain'de Maksimum Marjinal Uygunluğa Göre Seçim (MMR) Nasıl Kullanılır?
Maksimum Marjinal Uygunluk örnek seçicisi, bilgi isteminin ve örneğin kosinüs benzerliğini kullanarak bilgi çıkarmak için kullanılır. Verilere gömme yöntemleri uygulanıp metin sayısal forma dönüştürüldükten sonra kosinüs benzerliği hesaplanır.
LangChain'de MMR örnek seçiciyi kullanma sürecini öğrenmek için listelenen adımları uygulamanız yeterlidir:
Adım 1: Modülleri Kurun
Pip komutunu kullanarak LangChain'in bağımlılıklarını yükleyerek süreci başlatın:
pip kurulumu langchain
OpenAIEmbedding() yöntemini uygulamak amacıyla ortamını kullanmak için OpenAI modülünü yükleyin:
pip kurulumu openai
Anlamsal benzerliği kullanarak çıktıyı elde etmek için kullanılabilecek FAISS çerçevesini yükleyin:
pip kurulumu faiss-gpu
Şimdi aşağıdaki kodu kullanarak metni daha küçük parçalara bölmek için tiktoken tokenizer'ı yükleyin:
pip tiktoken kurulumu
Adım 2: Kitaplıkları ve Örnekleri Kullanma
Bir sonraki adım, bir MMR örnek seçicisi, FAISS, OpenAIEmbeddings ve PromptTemplate oluşturmak için kitaplıkları içe aktarmaktır. Kitaplıkları içe aktardıktan sonra, birden fazla dizide ilgili girdiler için girdi ve çıktı veren bir örnek set oluşturmanız yeterlidir:
itibaren Langchain. istemler . örnek_seçici içe aktarmak (MaxMarginalRelevanceExampleSelector ,
AnlamsalBenzerlikÖrnekSeçici ,
)
itibaren Langchain. vektör mağazaları içe aktarmak FAISS
itibaren Langchain. gömmeler içe aktarmak OpenAIE Yerleştirmeleri
itibaren Langchain. istemler içe aktarmak FewShotPrompt Şablonu , İstem Şablonu
örnek_prompt = İstem Şablonu (
girdi_değişkenleri = [ 'giriş' , 'çıktı' ] ,
şablon = 'Giriş: {giriş} \N Çıktı: {çıkış}' ,
)
örnekler = [
{ 'giriş' : 'mutlu' , 'çıktı' : 'üzgün' } ,
{ 'giriş' : 'uzun' , 'çıktı' : 'kısa' } ,
{ 'giriş' : 'enerjik' , 'çıktı' : 'uyuşuk' } ,
{ 'giriş' : 'güneşli' , 'çıktı' : 'kasvetli' } ,
{ 'giriş' : 'rüzgarlı' , 'çıktı' : 'sakinlik' } ,
]
Adım 3: Örnek Seçici Oluşturma
Şimdi, farklı parametreler içeren MaxMarginalRelevanceExampleSelector() yöntemini kullanarak MMR örnek seçicisini oluşturmaya başlayın:
örnek_seçici = MaxMarginalRelevanceÖrnekSelektör. from_examples (örnekler ,
OpenAIE Yerleştirmeleri ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = FewShotPrompt Şablonu (
örnek_seçici = örnek_seçici ,
örnek_prompt = örnek_prompt ,
önek = 'Her girişin zıt anlamlısını verin' ,
son ek = 'Giriş: {sıfat} \N Çıktı:' ,
girdi_değişkenleri = [ 'sıfat' ] ,
)
Adım 4: MMR Örnek Seçicinin Test Edilmesi
Maksimum Marjinal Uygunluk MMR örnek seçicisini, girdiyle print() yönteminde çağırarak test edin:
Yazdır ( mmr_prompt. biçim ( sıfat = 'endişeli' ) )
Adım 5: Anlamsal Benzerliği Kullanma
Bu adım, SemanticSimilarityExampleSelector() yöntemini ve ardından LangChain tarafından desteklenen FewShotPromptTemplate() yöntemini kullanır:
örnek_seçici = AnlamsalBenzerlikÖrnekSelektör. from_examples (örnekler ,
OpenAIE Yerleştirmeleri ( ) ,
FAISS ,
k = 2 ,
)
benzer_prompt = FewShotPrompt Şablonu (
örnek_seçici = örnek_seçici ,
örnek_prompt = örnek_prompt ,
önek = 'Her girişin zıt anlamlısını verin' ,
son ek = 'Giriş: {sıfat} \N Çıktı:' ,
girdi_değişkenleri = [ 'sıfat' ] ,
)
Yazdır ( benzer_prompt. biçim ( sıfat = 'endişeli' ) )
Tamamen LangChain'de Maksimum Marjinal Uygunluk veya MMR'ye göre seçimi kullanmakla ilgilidir.
Çözüm
LangChain'de Maksimum Marjinal Uygunluğa göre seçim veya MMR örnek seçiciyi kullanmak için gerekli modülleri yükleyin. Bundan sonra, giriş ve çıkış bilgi istemi şablonunu kullanarak örnek seti oluşturmak için kitaplıkları içe aktarın. İlgili çıktıyı almak için MMR örnek seçiciyi ve FewShotPromptTemplate() yöntemini kullanarak test etmek üzere MMR örnek seçiciyi oluşturun. Bu kılavuz, LangChain'de MMR ile seçim örnek seçicisinin kullanım sürecini göstermektedir.