Како да користим Парент Доцумент Ретриевер у ЛангЦхаин-у?

Kako Da Koristim Parent Document Retriever U Langchain U



ЛангЦхаин оквир омогућава програмерима да изграде велике језичке моделе који могу да разумеју и генеришу текст на природном језику. ЛангЦхаин модели су обучени на огромној количини података тако да модел може да разуме језик складиштењем података у векторским продавницама. Такође омогућава кориснику да направи ретривере који могу извући податке из базе података или векторских складишта са свим подацима ускладиштеним за модел.

Овај пост ће демонстрирати процес коришћења примаоца родитељског документа у ЛангЦхаин-у.

Како да користим примач родитељских докумената у ЛангЦхаин-у?

Ретривер надређених докумената у ЛангЦхаин-у се може користити тако што се документи деле на мање делове како не би изгубили своје значење у моментима уграђивања. За родитељски документ се може рећи да је цео документ или већи део из којег се издвајају мањи делови.







Да бисте научили процес коришћења примаоца родитељског документа у ЛангЦхаин-у, једноставно погледајте овај водич:



Корак 1: Инсталирајте модуле



Прво, почните да користите примач родитељског документа инсталирањем ЛангЦхаин оквира помоћу команде пип:





пип инсталл лангцхаин

Инсталирајте Цхрома модул базе података да бисте сачували уградњу документа и преузели податке из њега:



пип инсталл цхромадб

Да бисте инсталирали тиктокен који је токенизер који добија токене документа креирањем малих комада:

пип инсталл тиктокен

Преузмите ОпенАИ модул тако што ћете извршити следећу команду на Питхон бележници да бисте добили његове зависности и библиотеке:

пип инсталл опенаи

Корак 2: Подесите окружење и отпремите податке

Следећи корак је да поставити окружење користећи АПИ кључ са ОпенАИ налога:

увоз ти
увоз гетпасс

ти . Приближно [ „ОПЕНАИ_АПИ_КЕИ“ ] = гетпасс . гетпасс ( „ОпенАИ АПИ кључ:“ )

Сада отпремите документе из локалног система након увоза библиотеке датотека, а затим позовите метод уплоад():

из гоогле. ЕТ АЛ увоз фајлови
уплоадед = фајлови. отпремити ( )

Корак 3: Увезите библиотеке

Следећи корак садржи код за увоз потребних библиотека за коришћење родитељских преузимача докумената користећи ЛангЦхаин оквир:

из лангцхаин. ретривери увоз ПарентДоцументРетриевер
из лангцхаин. векторске продавнице увоз Цхрома
из лангцхаин. уградње увоз ОпенАИЕмбеддингс
из лангцхаин. тект_сплиттер увоз РецурсивеЦхарацтерТектСплиттер
из лангцхаин. складиште увоз ИнМемориСторе
из лангцхаин. доцумент_лоадерс увоз ТектЛоадер

Учитајте документ да бисте направили ретривер користећи ТектЛоадер() методе са путањом датотека:

утоваривачи = [
ТектЛоадер ( 'Дата.ткт' ) ,
ТектЛоадер ( 'стате_оф_тхе_унион.ткт' ) ,
]
доцс = [ ]
за л ин утоваривачи:

Корак 4: Преузимање комплетних докумената

Када се документи/датотеке учитају у модел, једноставно направите уградњу докумената и ускладиштите их у векторским продавницама:

цхилд_сплиттер = РецурсивеЦхарацтерТектСплиттер ( цхунк_сизе = 400 )

вецторсторе = Цхрома (
назив_колекције = 'пуни_документи' ,
ембеддинг_фунцтион = ОпенАИЕмбеддингс ( )
)

продавница = ИнМемориСторе ( )
ретривер = ПарентДоцументРетриевер (
вецторсторе = вецторсторе ,
доцсторе = продавница ,
цхилд_сплиттер = цхилд_сплиттер ,
)

Сада позовите метод адд_доцументс() користећи ретривер да бисте вратили ретривер до докумената:

ретривер. адд_доцументс ( доцс , идс = Ниједан )

Следећи код издваја уградње докумената који су ускладиштени у бази података за отпремљене датотеке:

листа ( продавница. ииелд_кеис ( ) )

Након што добијете уграђивање докумената, позовите методу симиларити_сеарцх() са упитом да бисте добили мале делове из документа:

под_доцс = вецторсторе. сличност_претрага ( 'избор правде' )

Позовите метод принт() да бисте приказали делове позване у претходном коду на основу упита:

принт ( под_доцс [ 0 ] . паге_цонтент )

Позовите комплетну функцију ретриевер() да бисте добили све токене ускладиштене у бази података користећи следећи код:

ретриевед_доцс = ретривер. гет_релевант_доцументс ( 'избор правде' )

Штампање свих докумената би одузело огромно време и снагу обраде, па једноставно сазнајте дужину докумената који су претходно преузети:

само ( ретриевед_доцс [ 0 ] . паге_цонтент )

Корак 5: Преузимање већих комада

Овај корак неће узети цео документ; међутим, требало би да узме већи веверицу из документа и извуче мањи комад:

парент_сплиттер = РецурсивеЦхарацтерТектСплиттер ( цхунк_сизе = 2000 )
цхилд_сплиттер = РецурсивеЦхарацтерТектСплиттер ( цхунк_сизе = 400 )
вецторсторе = Цхрома ( назив_колекције = 'сплит_парентс' , ембеддинг_фунцтион = ОпенАИЕмбеддингс ( ) )
продавница = ИнМемориСторе ( )

Конфигуришите ретривер да добије мањи токен из огромног скупа података ускладиштених у „ вецторсторе ' променљива:

ретривер = ПарентДоцументРетриевер (
вецторсторе = вецторсторе ,
доцсторе = продавница ,
цхилд_сплиттер = цхилд_сплиттер ,
парент_сплиттер = парент_сплиттер ,
)

Позовите ретривера да узме веће комаде из векторских продавница користећи доцс променљива у аргументу функције:

ретривер. адд_доцументс ( доцс )

Добијте дужину ових докумената из доцс променљива преко доње команде:

само ( листа ( продавница. ииелд_кеис ( ) ) )

Једноставно узмите мањи комад од већег јер претходни снимак екрана показује да постоје 23 документа ускладиштена у векторској продавници. Упит се користи за добијање релевантних података помоћу сличност_претрага() метод за преузимање података из векторске продавнице:

под_доцс = вецторсторе. сличност_претрага ( 'избор правде' )

Одштампајте мање делове користећи упит поменут у претходном коду да бисте их приказали на екрану:

принт ( под_доцс [ 0 ] . паге_цонтент )

Сада користите ретривер на комплетном скупу података ускладиштеном у бази података користећи упит као аргумент функције:

ретриевед_доцс = ретривер. гет_релевант_доцументс ( 'избор правде' )

Добијте дужину комплетних делова креираних и ускладиштених у бази података:

само ( ретриевед_доцс [ 0 ] . паге_цонтент )

Не можемо да прикажемо све делове, али први део са индексним бројем 0 се приказује помоћу следећег кода:

принт ( ретриевед_доцс [ 0 ] . паге_цонтент

То је све о процесу коришћења родитељског преузимача докумената у ЛангЦхаин-у.

Закључак

Да бисте користили примач надређених докумената у ЛангЦхаин-у, једноставно инсталирајте модуле и подесите ОпенАИ окружење користећи његов АПИ кључ. Након тога, увезите потребне библиотеке из ЛангЦхаин-а за коришћење родитељског преузимача докумената, а затим учитајте документе за модел. Корисник може користити родитељске документе као цео документ или велики део и добити мањи део користећи упит. Овај пост је елаборирао процес коришћења примаоца родитељског документа у ЛангЦхаин-у.