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