Овај пост ће демонстрирати процес коришћења примаоца родитељског документа у ЛангЦхаин-у.
Како да користим примач родитељских докумената у ЛангЦхаин-у?
Ретривер надређених докумената у ЛангЦхаин-у се може користити тако што се документи деле на мање делове како не би изгубили своје значење у моментима уграђивања. За родитељски документ се може рећи да је цео документ или већи део из којег се издвајају мањи делови.
Да бисте научили процес коришћења примаоца родитељског документа у ЛангЦхаин-у, једноставно погледајте овај водич:
Корак 1: Инсталирајте модуле
Прво, почните да користите примач родитељског документа инсталирањем ЛангЦхаин оквира помоћу команде пип:
пип инсталл лангцхаин
Инсталирајте Цхрома модул базе података да бисте сачували уградњу документа и преузели податке из њега:
пип инсталл цхромадб
Да бисте инсталирали тиктокен који је токенизер који добија токене документа креирањем малих комада:
пип инсталл тиктокен
Преузмите ОпенАИ модул тако што ћете извршити следећу команду на Питхон бележници да бисте добили његове зависности и библиотеке:
пип инсталл опенаи
Корак 2: Подесите окружење и отпремите податке
Следећи корак је да поставити окружење користећи АПИ кључ са ОпенАИ налога:
увоз тиувоз гетпасс
ти . Приближно [ „ОПЕНАИ_АПИ_КЕИ“ ] = гетпасс . гетпасс ( „ОпенАИ АПИ кључ:“ )
Сада отпремите документе из локалног система након увоза библиотеке датотека, а затим позовите метод уплоад():
из гоогле. ЕТ АЛ увоз фајловиуплоадед = фајлови. отпремити ( )
Корак 3: Увезите библиотеке
Следећи корак садржи код за увоз потребних библиотека за коришћење родитељских преузимача докумената користећи ЛангЦхаин оквир:
из лангцхаин. ретривери увоз ПарентДоцументРетриевериз лангцхаин. векторске продавнице увоз Цхрома
из лангцхаин. уградње увоз ОпенАИЕмбеддингс
из лангцхаин. тект_сплиттер увоз РецурсивеЦхарацтерТектСплиттер
из лангцхаин. складиште увоз ИнМемориСторе
из лангцхаин. доцумент_лоадерс увоз ТектЛоадер
Учитајте документ да бисте направили ретривер користећи ТектЛоадер() методе са путањом датотека:
утоваривачи = [ТектЛоадер ( 'Дата.ткт' ) ,
ТектЛоадер ( 'стате_оф_тхе_унион.ткт' ) ,
]
доцс = [ ]
за л ин утоваривачи:
Корак 4: Преузимање комплетних докумената
Када се документи/датотеке учитају у модел, једноставно направите уградњу докумената и ускладиштите их у векторским продавницама:
цхилд_сплиттер = РецурсивеЦхарацтерТектСплиттер ( цхунк_сизе = 400 )вецторсторе = Цхрома (
назив_колекције = 'пуни_документи' ,
ембеддинг_фунцтион = ОпенАИЕмбеддингс ( )
)
продавница = ИнМемориСторе ( )
ретривер = ПарентДоцументРетриевер (
вецторсторе = вецторсторе ,
доцсторе = продавница ,
цхилд_сплиттер = цхилд_сплиттер ,
)
Сада позовите метод адд_доцументс() користећи ретривер да бисте вратили ретривер до докумената:
ретривер. адд_доцументс ( доцс , идс = Ниједан )Следећи код издваја уградње докумената који су ускладиштени у бази података за отпремљене датотеке:
листа ( продавница. ииелд_кеис ( ) )
Након што добијете уграђивање докумената, позовите методу симиларити_сеарцх() са упитом да бисте добили мале делове из документа:
под_доцс = вецторсторе. сличност_претрага ( 'избор правде' )Позовите метод принт() да бисте приказали делове позване у претходном коду на основу упита:
принт ( под_доцс [ 0 ] . паге_цонтент )
Позовите комплетну функцију ретриевер() да бисте добили све токене ускладиштене у бази података користећи следећи код:
ретриевед_доцс = ретривер. гет_релевант_доцументс ( 'избор правде' )Штампање свих докумената би одузело огромно време и снагу обраде, па једноставно сазнајте дужину докумената који су претходно преузети:
само ( ретриевед_доцс [ 0 ] . паге_цонтент )
Корак 5: Преузимање већих комада
Овај корак неће узети цео документ; међутим, требало би да узме већи веверицу из документа и извуче мањи комад:
парент_сплиттер = РецурсивеЦхарацтерТектСплиттер ( цхунк_сизе = 2000 )цхилд_сплиттер = РецурсивеЦхарацтерТектСплиттер ( цхунк_сизе = 400 )
вецторсторе = Цхрома ( назив_колекције = 'сплит_парентс' , ембеддинг_фунцтион = ОпенАИЕмбеддингс ( ) )
продавница = ИнМемориСторе ( )
Конфигуришите ретривер да добије мањи токен из огромног скупа података ускладиштених у „ вецторсторе ' променљива:
ретривер = ПарентДоцументРетриевер (вецторсторе = вецторсторе ,
доцсторе = продавница ,
цхилд_сплиттер = цхилд_сплиттер ,
парент_сплиттер = парент_сплиттер ,
)
Позовите ретривера да узме веће комаде из векторских продавница користећи доцс променљива у аргументу функције:
ретривер. адд_доцументс ( доцс )Добијте дужину ових докумената из доцс променљива преко доње команде:
само ( листа ( продавница. ииелд_кеис ( ) ) )
Једноставно узмите мањи комад од већег јер претходни снимак екрана показује да постоје 23 документа ускладиштена у векторској продавници. Упит се користи за добијање релевантних података помоћу сличност_претрага() метод за преузимање података из векторске продавнице:
под_доцс = вецторсторе. сличност_претрага ( 'избор правде' )Одштампајте мање делове користећи упит поменут у претходном коду да бисте их приказали на екрану:
принт ( под_доцс [ 0 ] . паге_цонтент )
Сада користите ретривер на комплетном скупу података ускладиштеном у бази података користећи упит као аргумент функције:
ретриевед_доцс = ретривер. гет_релевант_доцументс ( 'избор правде' )Добијте дужину комплетних делова креираних и ускладиштених у бази података:
само ( ретриевед_доцс [ 0 ] . паге_цонтент )
Не можемо да прикажемо све делове, али први део са индексним бројем 0 се приказује помоћу следећег кода:
принт ( ретриевед_доцс [ 0 ] . паге_цонтент
То је све о процесу коришћења родитељског преузимача докумената у ЛангЦхаин-у.
Закључак
Да бисте користили примач надређених докумената у ЛангЦхаин-у, једноставно инсталирајте модуле и подесите ОпенАИ окружење користећи његов АПИ кључ. Након тога, увезите потребне библиотеке из ЛангЦхаин-а за коришћење родитељског преузимача докумената, а затим учитајте документе за модел. Корисник може користити родитељске документе као цео документ или велики део и добити мањи део користећи упит. Овај пост је елаборирао процес коришћења примаоца родитељског документа у ЛангЦхаин-у.