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