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