Како радити са кеширањем у ЛангЦхаин-у?

Kako Raditi Sa Kesiranem U Langchain U



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

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







Како радити са кеширањем у ЛангЦхаин-у?

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



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



Корак 1: Инсталирајте модуле
Прво, започните процес рада са кеширањем тако што ћете инсталирати потребне моделе, први овде је ЛангЦхаин који садржи све потребне библиотеке за процес:





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

Модул ФАИСС је неопходан да изврши претрагу сличности за издвајање или генерисање излаза на основу уноса које је дао корисник:



пип инсталирај фаисс-гпу

Последњи модул за овај водич који је потребан за инсталацију је ОпенАИ који се може користити за креирање уграђивања података помоћу ОпенАИЕмбеддингс() методе:

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

Након инсталације свих модула, једноставно подесите окружење користећи АПИ кључ из ОпенАИ окружења користећи „ ти ' и ' гетпасс ” библиотеке:

увози нас
импорт гетпасс

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

Корак 2: Увоз библиотека
Када се подешавање заврши, једноставно увезите библиотеке за рад са техникама кеширања у ЛангЦхаин-у:

из лангцхаин.стораге импорт ИнМемориСторе
из лангцхаин.ембеддингс импорт ЦацхеБацкедЕмбеддингс
из лангцхаин.стораге импорт ЛоцалФилеСторе
из лангцхаин.ембеддингс импорт ОпенАИЕмбеддингс
из лангцхаин.доцумент_лоадерс импорт ТектЛоадер
из лангцхаин.ембеддингс.опенаи импорт ОпенАИЕмбеддингс
из лангцхаин.тект_сплиттер импорт ЦхарацтерТектСплиттер
фром лангцхаин.вецторсторес импорт ФАИСС

Корак 3: Изградња модела кеширања
Након увоза библиотека, једноставно позовите метод ОпенАИЕмбеддингс() да бисте направили модел и сачували га у променљивој:

ундерлиинг_ембеддингс = ОпенАИЕмбеддингс ( )

Сада примените кеш помоћу методе ЛоцалФилеСторе() и метода ЦацхеБацкедЕмбеддингс() са више аргумената:

фс = ЛоцалФилеСторе ( './цацхе/' )

цацхед_ембеддер = ЦацхеБацкедЕмбеддингс.фром_битес_сторе (
ундерлиинг_ембеддингс, фс, именског простора =ундерлиинг_ембеддингс.модел
)

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

листа ( фс.ииелд_кеис ( ) )

Корак 4: Креирање векторске продавнице
Преузмите датотеку са локалног система користећи библиотеку датотека и кликните на „ Изаберите Датотеке ” након извршавања кода:

из увозних датотека гоогле.цолаб
уплоадед = филес.уплоад ( )

Сада једноставно креирајте векторско складиште које се може користити за чување уграђивања помоћу методе ТектЛоадер() са именом документа. Након тога, примените методе раздвајања текста са величином делова и поделите податке на мање делове:

рав_доцументс = ТектЛоадер ( 'стате_оф_тхе_унион.ткт' ) .лоад ( )
тект_сплиттер = ЦхарацтерТектСплиттер ( цхунк_сизе = 1000 , цхунк_оверлап = 0 )
документи = тект_сплиттер.сплит_доцументс ( рав_доцументс )

Након поделе текста, сачувајте податке у дб променљиву користећи ФАИСС библиотеку да бисте добили излаз користећи метод претраге сличности:

дб = ФАИСС.од_доцументс ( документи, цацхед_ембеддер )

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

листа ( фс.ииелд_кеис ( ) ) [ : 5 ]

Корак 5: Коришћење кеширања у меморији
Следеће кеширање се може користити преко ИнМемориСторе() метода за дефинисање променљиве продавнице:

продавница = ИнМемориСторе ( )

Направите модел кеширања користећи методе ОпенАИЕмбеддингс() и ЦацхеБацкедЕмбеддингс() са моделом, складиштем и простором имена као параметрима:

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

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

ембеддингс = ембеддер.ембед_доцументс ( [ 'Здраво' , 'збогом' ] )

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

ембеддингс_фром_цацхе = ембеддер.ембед_доцументс ( [ 'Здраво' , 'збогом' ] )

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

ембеддингс == ембеддингс_фром_цацхе

Корак 6: Коришћење кеширања система датотека
Последњи метод за примену кеширања у уградњи из тест_цацхе документа помоћу продавнице система датотека:

фс = ЛоцалФилеСторе ( './тест_цацхе/' )

Примените уграђивање помоћу методе ЦацхеБацкедЕмбеддингс() са моделом уграђивања, складиштем података и простором имена као параметрима:

ембеддер2 = ЦацхеБацкедЕмбеддингс.фром_битес_сторе (
ундерлиинг_ембеддингс, фс, именског простора =ундерлиинг_ембеддингс.модел
)

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

ембеддингс = ембеддер2.ембед_доцументс ( [ 'Здраво' , 'збогом' ] )

Сада узмите уградње за горња два света поменута као параметри:

листа ( фс.ииелд_кеис ( ) )

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

Закључак

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