Како додати меморију у ланац са више улаза у ЛангЦхаин-у?

Kako Dodati Memoriju U Lanac Sa Vise Ulaza U Langchain U



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

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

Како додати меморију у ланац са више улаза у ЛангЦхаин-у?

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







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

Прво, инсталирајте оквир ЛангЦхаин јер има различите зависности за изградњу језичких модела:



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



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





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

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



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

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

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

Корак 2: Подесите окружење и отпремите податке

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

увоз ти
увоз гетпасс

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

Отпремите документе користећи библиотеку датотека да бисте изградили ланце у оквиру ЛангЦхаин:

из гоогле. ЕТ АЛ увоз фајлови

уплоадед = фајлови. отпремити ( )

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

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

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

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

из лангцхаин. тект_сплиттер увоз ЦхарацтерТектСплиттер

из лангцхаин. векторске продавнице . еластиц_вецтор_сеарцх увоз ЕластицВецторСеарцх

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

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

Корак 4: Изградња меморије помоћу Цхрома базе података

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

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

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

Конфигуришите Цхрома базу података за складиштење текста и уградње из документа:

доцсеарцх = Цхрома. фром_тектс (

текстови , уградње , метаподаци = [ { 'извор' : и } за и ин домет ( само ( текстови ) ) ]

)

Тестирајте меморију тражењем команде у променљивој упита, а затим извршите методу симиларити_сеарцх():

упит = 'Када је формиран НАТО'

доцс = доцсеарцх. сличност_претрага ( упит )

Корак 5: Конфигурисање шаблона упита

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

из лангцхаин. ланцима . питање_одговарање увоз лоад_ка_цхаин

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

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

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

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

шаблон = '''Ви сте модел који разговара са човеком
С обзиром на делове извучене из дугог документа и питања, креирајте коначан одговор

{контекст}

{хист}
Човек: {инпут}
Цхатбот:'''


промпт = ПромптТемплате (
инпут_вариаблес = [ 'историја' , 'улазни' , 'контекст' ] , шаблон = шаблон
)
меморија = ЦонверсатионБуфферМемори ( мемори_кеи = 'историја' , инпут_кеи = 'улазни' )
ланац = лоад_ка_цхаин (
ОпенАИ ( температура = 0 ) , цхаин_типе = 'ствари' , меморија = меморија , промпт = промпт
)

Корак 6: Тестирање меморије

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

упит = 'Када је формиран НАТО'

ланац ( { 'инпут_доцументс' : доцс , 'улазни' : упит } , ретурн_онли_оутпутс = Истина )

Одштампајте податке ускладиштене у бафер меморији пошто је одговор који је дао модел недавно ускладиштен у меморији:

принт ( ланац. меморија . тампон )

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

Закључак

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