Бързо очертание
Тази публикация ще демонстрира следното:
Как да внедрите самозадаването с верига за търсене
- Инсталиране на Frameworks
- Сградна среда
- Импортиране на библиотеки
- Изграждане на езикови модели
- Използване на езика за изразяване LangChain
- Конфигуриране на Agent Executor
- Изпълнение на агента
- Използване на Self-Ask Agent
Как да внедрите самозадаването с верига за търсене?
Self-Ask е процесът за подобряване на верижния процес, тъй като той разбира командите напълно. Веригите разбират въпроса, като извличат данните за всички важни термини от набора от данни. След като моделът е обучен и разбере заявката, той генерира отговор на заявката, зададена от потребителя.
За да научите процеса на прилагане на самозадаването с веригите за търсене в LangChain, просто преминете през следното ръководство:
Стъпка 1: Инсталиране на Frameworks
Първо, стартирайте процеса, като инсталирате процеса LangChain, като използвате следния код и вземете всички зависимости за процеса:
pip инсталирайте langchain
След като инсталирате LangChain, инсталирайте „ резултати от търсене в google ”, за да получите резултатите от търсенето от Google с помощта на средата OpenAI:
pip инсталирате openai google-search-results
Стъпка 2: Изграждане на среда
След като модулите и рамките са инсталирани, настройте средата за OpenAI и SerpAPi използвайки техните API, използвайки следния код. Импортирайте библиотеките на os и getpass, които могат да се използват за въвеждане на API ключовете от съответните им акаунти:
импортиране Виеимпортиране getpass
Вие . приблизително [ „OPENAI_API_KEY“ ] = getpass . getpass ( „API ключ на OpenAI:“ )
Вие . приблизително [ „SERPAPI_API_KEY“ ] = getpass . getpass ( „API ключ на Serpapi:“ )
Стъпка 3: Импортиране на библиотеки
След като настроите средата, просто импортирайте необходимите библиотеки от зависимостите на LangChain като помощни програми, агенти, llm и други:
от Langchain. llms импортиране OpenAIот Langchain. комунални услуги импортиране SerpAPIWrapper
от Langchain. агенти . изходни анализатори импортиране SelfAskOutputParser
от Langchain. агенти . format_scratchpad импортиране format_log_to_str
от Langchain импортиране хъб
от Langchain. агенти импортиране инициализиращ_агент , Инструмент
от Langchain. агенти импортиране AgentType
Стъпка 4: Изграждане на езикови модели
Получаването на горните библиотеки е необходимо през целия процес, тъй като OpenAI() се използва за конфигуриране на езиковия модел. Използвайте метода SerpAPIWrapper(), за да конфигурирате променливата за търсене и да зададете инструментите, необходими на агента за изпълнение на всички задачи:
llm = OpenAI ( температура = 0 )Търсене = SerpAPIWrapper ( )
инструменти = [
Инструмент (
име = 'Междинен отговор' ,
функ = Търсене. тичам ,
описание = 'полезно, когато трябва да попитате с търсене' ,
)
]
Стъпка 5: Използване на езика за изразяване LangChain
Първи стъпки с конфигурирането на агента с помощта на LangChain Expression Language (LCEL) чрез зареждане на модела в променливата за подкана:
подкана = хъб. дръпнете ( 'hwchase17/self-ask-with-search' )Дефинирайте друга променлива, която може да бъде изпълнена, за да спре генерирането на текст и да контролира дължината на отговорите:
llm_with_stop = llm. обвързвам ( Спри се = [ ' \н Междинен отговор:' ] )Сега конфигурирайте агентите с помощта на Lambda, която е платформа без сървър, управлявана от събития, за генериране на отговорите на въпросите. Освен това конфигурирайте стъпките, необходими за обучение и тестване на модела, за да получите оптимизирани резултати, като използвате компонентите, конфигурирани по-рано:
агент = {'вход' : ламбда х: х [ 'вход' ] ,
'agent_scratchpad' : ламбда x: format_log_to_str (
х [ 'междинни_стъпки' ] ,
префикс_наблюдение = ' \н Междинен отговор: ' ,
llm_префикс = '' ,
) ,
} | подкана | llm_with_stop | SelfAskOutputParser ( )
Стъпка 6: Конфигуриране на Agent Executor
Преди да тествате метода, просто импортирайте библиотеката AgentExecutor от LangChain, за да направите агента отзивчив:
от Langchain. агенти импортиране AgentExecutorДефинирайте променливата agent_executor, като извикате метода AgentExecutor() и използвате компонентите като негови аргументи:
агент_изпълнител = AgentExecutor ( агент = агент , инструменти = инструменти , многословен = Вярно )Стъпка 7: Стартиране на агента
След като агентът изпълнител е конфигуриран, просто го тествайте, като предоставите въпроса/подканата във входната променлива:
агент_изпълнител. извиквам ( { 'вход' : „Кой е шампионът на Откритото първенство на САЩ за мъже“ } )Изпълнението на горния код отговори с името на шампиона на US Open в резултата, т.е. Доминик Тийм:
Стъпка 8: Използване на Self-Ask Agent
След като получите отговор от агента, използвайте SELF_ASK_WITH_SEARCH агент със заявката в метода run():
self_ask_with_search = инициализиращ_агент (инструменти , llm , агент = AgentType. SELF_ASK_WITH_SEARCH , многословен = Вярно
)
self_ask_with_search. тичам (
„Кой е родният град на Доминик Тийм, световния шампион на US Open“
)
Следната екранна снимка показва, че агентът за самозапитване извлича информацията за всеки важен термин от набора от данни. След като събере цялата информация за заявката и разбере въпросите, той просто генерира отговора. Въпросите, които агентът си задава сам са:
- Кой е Доминик Тийм?
- Кой е родният град на Доминик Тийм?
След като получи отговорите на тези въпроси, агентът генерира отговора на първоначалния въпрос, който е „ Винер Нойщат, Австрия ”:
Това е всичко за процеса на внедряване на самозадаването с верига за търсене, използвайки рамката LangChain.
Заключение
За да приложите самопитането с търсене в LangChain, просто инсталирайте необходимите модули като google-search-results, за да получите резултатите от агента. След това настройте средата, като използвате API ключовете от акаунтите OpenAI и SerpAPi, за да започнете процеса. Конфигурирайте агента и изградете модела с модела на самозапитване, за да го тествате с помощта на метода AgentExecutor().