Како имплементирати само-питање помоћу ланца претраживања?

Kako Implementirati Samo Pitane Pomocu Lanca Pretrazivana



ЛангЦхаин је модул за прављење језичких модела и цхат робота који могу да разумеју и издвајају текст на природном језику. Природни језици су људи лако разумљиви, али машине морају да их науче узастопно пролазећи кроз податке. Подаци/документи на природним језицима могу се користити за обуку модела, а затим тражити упите из података за проверу перформанси модела.

Куицк Оутлине

Овај пост ће показати следеће:







Како имплементирати само-питање помоћу ланца претраживања



Закључак



Како имплементирати само-питање помоћу ланца претраживања?

Селф-Аск је процес за побољшање процеса уланчавања јер темељно разуме команде. Ланци разумеју питање извлачећи податке о свим важним терминима из скупа података. Када је модел обучен и разуме упит, он генерише одговор на упит који је поставио корисник.





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

Корак 1: Инсталирање оквира

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



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

Након инсталирања ЛангЦхаин-а, инсталирајте „ гоогле-сеарцх-ресултс ” да бисте добили резултате претраге од Гоогле-а користећи ОпенАИ окружење:

пип инсталл опенаи гоогле-сеарцх-ресултс

Корак 2: Окружење у згради

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

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

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

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

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

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

из лангцхаин. комуналне услуге увоз СерпАПИВраппер

из лангцхаин. агенти . оутпут_парсерс увоз СелфАскОутпутПарсер

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

из лангцхаин увоз чвориште

из лангцхаин. агенти увоз иницијализовати_агент , Оруђе

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

Корак 4: Изградња језичких модела

Добијање горе наведених библиотека је потребно током целог процеса јер се ОпенАИ() користи за конфигурисање језичког модела. Користите метод СерпАПИВраппер() да бисте конфигурисали променљиву за претрагу и поставили алате потребне да агент обавља све задатке:

ллм = ОпенАИ ( температура = 0 )
Претрага = СерпАПИВраппер ( )
алата = [
Оруђе (
име = 'Средњи одговор' ,
фунц = Претрага. трцати ,
Опис = „корисно када треба да питате помоћу претраге“ ,
)
]

Корак 5: Коришћење ЛангЦхаин Екпрессион Лангуаге

Почетак рада са конфигурисањем агента помоћу ЛангЦхаин Екпрессион Лангуаге (ЛЦЕЛ) учитавањем модела у промпт променљиву:

промпт = чвориште. повући ( 'хвцхасе17/селф-аск-витх-сеарцх' )

Дефинишите другу променљиву која се може извршити да се заустави генерисање текста и контролише дужина одговора:

ллм_витх_стоп = ллм. везати ( зауставити = [ ' Средњи одговор:' ] )

Сада конфигуришите агенте користећи Ламбда, која је платформа без сервера вођена догађајима за генерисање одговора на питања. Такође, конфигуришите кораке потребне за обуку и тестирање модела да бисте добили оптимизоване резултате користећи компоненте конфигурисане раније:

агент = {
'улазни' : ламбда к: к [ 'улазни' ] ,
'агент_сцратцхпад' : ламбда к: формат_лог_то_стр (
Икс [ 'интермедиате_степс' ] ,
префикс_посматрања = ' Средњи одговор: ' ,
ллм_префик = '' ,
) ,
} | промпт | ллм_витх_стоп | СелфАскОутпутПарсер ( )

Корак 6: Конфигурисање Агент Екецутор-а

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

из лангцхаин. агенти увоз АгентЕкецутор

Дефинишите променљиву агент_екецутор позивањем методе АгентЕкецутор() и коришћењем компоненти као њених аргумената:

агент_екецутор = АгентЕкецутор ( агент = агент , алата = алата , вербосе = Истина )

Корак 7: Покретање агента

Када се извршилац агента конфигурише, једноставно га тестирајте тако што ћете дати питање/промпт у улазној променљивој:

агент_екецутор. призивати ( { 'улазни' : 'Ко је мушки шампион УС Опена' } )

Извођење горњег кода је одговорило са именом шампиона УС Опена у излазу, тј. Доминиц Тхием:

Корак 8: Коришћење Селф-Аск Агент-а

Након што добијете одговор од агента, користите СЕЛФ_АСК_ВИТХ_СЕАРЦХ агент са упитом у методи рун():

селф_аск_витх_сеарцх = иницијализовати_агент (
алата , ллм , агент = АгентТипе. СЕЛФ_АСК_ВИТХ_СЕАРЦХ , вербосе = Истина
)
селф_аск_витх_сеарцх. трцати (
'Који је родни град Доминика Тима, светског шампиона УС Опен'
)

Следећи снимак екрана приказује да агент за само-питање извлачи информације о сваком важном термину из скупа података. Када прикупи све информације о упиту и разуме питања, једноставно генерише одговор. Питања која агент себи поставља су:

  • Ко је Доминик Тим?
  • Који је родни град Доминика Тима?

Након што је добио одговоре на ова питања, агент је генерисао одговор на првобитно питање који је „ Виенер Неустадт, Аустрија ”:

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

Закључак

Да бисте имплементирали само-питање са претрагом у ЛангЦхаин-у, једноставно инсталирајте потребне модуле попут гоогле-сеарцх-ресултс да бисте добили резултате од агента. Након тога, подесите окружење користећи АПИ кључеве са ОпенАИ и СерпАПи налога да бисте започели процес. Конфигуришите агента и направите модел са моделом само-питања да бисте га тестирали помоћу методе АгентЕкецутор().