Како користити ВецторСтореРетриеверМемори у ЛангЦхаин-у?

Kako Koristiti Vectorstoreretrievermemori U Langchain U



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

Овај водич ће илустровати како да користите ВецторСтореРетриеверМемори користећи ЛангЦхаин оквир.

Како користити ВецторСтореРетриеверМемори у ЛангЦхаин-у?

ВецторСтореРетриеверМемори је библиотека ЛангЦхаин-а која се може користити за издвајање информација/података из меморије помоћу векторских складишта. Векторске продавнице се могу користити за складиштење и управљање подацима за ефикасно издвајање информација у складу са упитом или упитом.







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



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

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



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





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

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



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

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

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

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

Инсталирајте ОпенАИ модул да бисте користили његове библиотеке за прављење ЛЛМ-ова или цхат-бота користећи његово окружење:

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

Поставите окружење на Питхон ИДЕ или нотебоок рачунару користећи АПИ кључ са ОпенАИ налога:

увоз ти

увоз гетпасс

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

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

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

из лангцхаин. упити увоз ПромптТемплате

из Датум време увоз Датум време

из лангцхаин. ллмс увоз ОпенАИ

из лангцхаин. уградње . опенаи увоз ОпенАИЕмбеддингс

из лангцхаин. ланцима увоз ЦонверсатионЦхаин

из лангцхаин. меморија увоз ВецторСтореРетриеверМемори

Корак 3: Иницијализација Вецтор Сторе-а

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

увоз фаисс

из лангцхаин. доцсторе увоз ИнМемориДоцсторе
#импортинг библиотека за конфигурисање база података или векторских складишта
из лангцхаин. векторске продавнице увоз ФАИСС

#креирајте уградње и текстове да бисте их чували у векторским продавницама
ембеддинг_сизе = 1536. године
индекс = фаисс. ИндекФлатЛ2 ( ембеддинг_сизе )
ембеддинг_фн = ОпенАИЕмбеддингс ( ) . ембед_куери
вецторсторе = ФАИСС ( ембеддинг_фн , индекс , ИнМемориДоцсторе ( { } ) , { } )

Корак 4: Изградња ретривера уз подршку векторске продавнице

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

ретривер = вецторсторе. ас_ретриевер ( сеарцх_кваргс = дицт ( к = 1 ) )
меморија = ВецторСтореРетриеверМемори ( ретривер = ретривер )

меморија. саве_цонтект ( { 'улазни' : 'Волим да једем пицу' } , { 'излаз' : 'фантастичан' } )
меморија. саве_цонтект ( { 'улазни' : 'Добар сам у фудбалу' } , { 'излаз' : 'У реду' } )
меморија. саве_цонтект ( { 'улазни' : 'Не волим политику' } , { 'излаз' : 'сигурно' } )

Тестирајте меморију модела користећи унос који је дао корисник са његовом историјом:

принт ( меморија. лоад_мемори_вариаблес ( { 'брзи' : 'који спорт треба да гледам?' } ) [ 'историја' ] )

Корак 5: Коришћење ретривера у ланцу

Следећи корак је коришћење меморијског ретривер-а са ланцима тако што ћете изградити ЛЛМ користећи ОпенАИ() метод и конфигурисати шаблон упита:

ллм = ОпенАИ ( температура = 0 )
_ДЕФАУЛТ_ТЕМПЛАТЕ = '''То је интеракција између човека и машине
Систем производи корисне информације са детаљима користећи контекст
Ако систем нема одговор за вас, једноставно каже да немам одговор

Важне информације из разговора:
{историја}
(ако текст није релевантан немојте га користити)

Тренутни разговор:
Човек: {инпут}
АИ:'''

ПРОМПТ = ПромптТемплате (
инпут_вариаблес = [ 'историја' , 'улазни' ] , шаблон = _ДЕФАУЛТ_ТЕМПЛАТЕ
)
#конфигуришите ЦонверсатионЦхаин() користећи вредности за његове параметре
разговор_са_резимеом = ЦонверсатионЦхаин (
ллм = ллм ,
промпт = ПРОМПТ ,
меморија = меморија ,
вербосе = Истина
)
разговор_са_резимеом. предвидети ( улазни = „Здраво, моје име је Пери, шта има?“ )

Излаз

Извршавање команде покреће ланац и приказује одговор који даје модел или ЛЛМ:

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

разговор_са_резимеом. предвидети ( улазни = 'који је мој омиљени спорт?' )

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

разговор_са_резимеом. предвидети ( улазни = “Која је моја омиљена храна” )

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

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

Модел је исправно приказао излаз користећи претрагу сличности из података ускладиштених у меморији:

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

Закључак

Да бисте користили ретривер меморије на основу векторске продавнице у ЛангЦхаин-у, једноставно инсталирајте модуле и оквире и подесите окружење. Након тога, увезите библиотеке из модула да бисте направили базу података користећи Цхрома, а затим поставите шаблон упита. Тестирајте ретривера након чувања података у меморији тако што ћете започети разговор и поставити питања у вези са претходним порукама. Овај водич је разрадио процес коришћења библиотеке ВецторСтореРетриеверМемори у ЛангЦхаин-у.