LangChain에서 에이전트를 시작하시나요?

Langchain Eseo Eijeonteuleul Sijaghasinayo



LangChain은 인간과 상호 작용하고 대화할 수 있는 애플리케이션이나 소프트웨어를 구축하기 위해 자연어 처리를 해결하는 프레임워크입니다. 챗봇 또는 대형 언어 모델(LLM)은 채팅/대화를 위한 인터페이스 역할을 할 수 있는 환경을 생성하도록 설계되었습니다. 이러한 채팅은 인간과 AI 모델 사이에서 영어 등 자연어라는 인간 언어로 진행됩니다.

빠른 개요

이 게시물에서는 다음을 보여줍니다.







자연어 처리(NLP)의 에이전트란 ​​무엇입니까?



LangChain에서 에이전트 시작하기



결론





자연어 처리(NLP) 에이전트란 ​​무엇입니까?

에이전트는 자연어 애플리케이션의 핵심 구성 요소이며 NLU(자연어 이해)를 사용하여 쿼리를 이해합니다. 이러한 에이전트는 일련의 작업을 사용하여 인간과 상호 작용하기 위한 대화 템플릿처럼 작동하는 프로그램입니다. 에이전트는 여러 작업을 수행하거나 수행할 다음 작업을 지정하기 위해 에이전트가 호출할 수 있는 여러 도구를 사용합니다.

LangChain에서 에이전트 시작하기

LangChain의 에이전트를 사용하여 출력을 추출하여 인간과 대화할 수 있는 에이전트 구축 프로세스를 시작합니다. LangChain에서 에이전트를 시작하는 과정을 배우려면 아래 나열된 단계를 따르십시오.



1단계: 프레임워크 설치

먼저, “를 사용하여 LangChain 프레임워크를 설치하는 과정을 시작하세요. ' 에이전트 사용에 필요한 종속성을 가져오는 명령은 다음과 같습니다.

pip 설치 랭체인

LLM 구축을 위해 OpenAI 모듈을 설치하고 이를 사용하여 LangChain에서 에이전트를 구성합니다.

pip 설치 openai

환경 설정 다음 코드를 실행하여 계정의 API 키를 사용하는 OpenAI 모듈의 경우:

수입
수입 getpass

. [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API 키:' )

2단계: 채팅 모델 구성

LangChain에서 ChatOpenAI 모듈을 가져와 해당 기능을 사용하여 LLM을 구축합니다.

~에서 랭체인. chat_models 수입 채팅오픈AI

ㅋㅋㅋ = 채팅오픈AI ( 온도 = 0 )

에이전트가 수행하는 데 필요한 작업이나 작업을 구성하기 위한 에이전트용 도구를 가져옵니다. 다음 코드는 get_word_length() 메서드를 사용하여 사용자가 제공한 단어의 길이를 가져옵니다.

~에서 랭체인. 자치령 대표 수입 도구

@ 도구

데프 get_word_length ( 단어: str ) - > 정수 :

'''단어의 길이를 알아내는 중'''

반품 오직 ( 단어 )

도구 = [ get_word_length ]

채팅을 위한 인터페이스를 생성하려면 채팅 모델의 템플릿 또는 구조를 구성하십시오.

~에서 랭체인. 프롬프트 수입 채팅 프롬프트 템플릿 , 메시지 자리 표시자

즉각적인 = ChatPromptTemplate. from_messages ( [

( '체계' , '귀하의 어시스턴트는 매우 훌륭하지만 길이를 계산하는 데는 개선이 필요합니다.' ) ,

( '사용자' , '{입력}' ) ,

메시지 자리 표시자 ( 변수_이름 = 'agent_scratchpad' ) ,

] )

3단계: 에이전트 구축

LangChain 모듈의 OpenAI 기능을 사용하는 도구로 LLM을 구축하기 위한 도구 라이브러리를 가져옵니다.

~에서 랭체인. 도구 . 세우다 수입 format_tool_to_openai_function

llm_with_tools = llm. 묶다 (

기능 = [ format_tool_to_openai_function ( ) ~을 위한 ~에 도구 ]

)

OpenAI 함수 에이전트를 사용하여 출력 파서를 사용하여 작업/작업 순서를 설정하도록 에이전트를 구성합니다.

~에서 랭체인. 자치령 대표 . 형식_스크래치패드 수입 format_to_openai_functions

~에서 랭체인. 자치령 대표 . 출력_파서 수입 OpenAIFunctionsAgentOutputParser

대리인 = {

'입력' : 람다 엑스: 엑스 [ '입력' ] ,

'agent_scratchpad' : 람다 x: format_to_openai_functions ( 엑스 [ '중간_단계' ] )

} | 프롬프트 | llm_with_tools | OpenAIFunctionsAgentOutputParser ( )

4단계: 에이전트 호출

다음 단계에서는 호출() 함수를 사용하여 입력 및 중간 단계 인수를 사용하여 에이전트를 호출합니다.

대리인. 부르다 ( {

'입력' : 'good이라는 단어에 몇 글자가 들어있나요?' ,

'중간_단계' : [ ]

} )

5단계: 에이전트 도구 구성

그런 다음 AgentFinish 라이브러리를 가져와서 모든 단계를 순서대로 통합하여 중간 단계를 구성하면 됩니다.

~에서 랭체인. 개요 . 대리인 수입 에이전트완료
중간_단계 = [ ]
~하는 동안 진실 :
산출 = 대리인. 부르다 ( {
'입력' : '좋은 편지' ,
'중간_단계' : 중간_단계
} )
만약에 인스턴스 ( 산출 , 에이전트완료 ) :
최종 결과 = 산출. 반환_값 [ '산출' ]
부서지다
또 다른 :
인쇄 ( 산출. 도구 , 산출. 도구_입력 )
도구 = {
'get_word_length' : get_word_length
} [ 산출. 도구 ]
관찰 = 도구. 달리다 ( 산출. 도구_입력 )
중간 단계. 추가 ( ( 산출 , 관찰 ) )
인쇄 ( 최종 결과 )

6단계: 에이전트 테스트

이제 LangChain에서 라이브러리를 가져온 후 AgentExecutor() 메서드를 호출하여 에이전트를 실행합니다.

~에서 랭체인. 자치령 대표 수입 AgentExecutor

에이전트 실행자 = AgentExecutor ( 대리인 = 대리인 , 도구 = 도구 , 말 수가 많은 = 진실 )

마지막으로 에이전트에 대한 쿼리를 입력하려면 입력 인수와 함께 agent_executor를 호출하십시오.

에이전트_실행자. 부르다 ( { '입력' : 'good이라는 단어에 몇 글자가 들어있나요?' } )

에이전트는 체인을 마친 후 입력 인수에 제공된 질문에 대한 답변을 표시했습니다.

LangChain 프레임워크에서 에이전트를 시작하는 것이 전부입니다.

결론

LangChain에서 에이전트를 시작하려면 OpenAI API 키를 사용하여 환경을 설정하는 데 필요한 모듈을 설치하기만 하면 됩니다. 그런 다음 일련의 중간 단계를 통해 에이전트 구축을 위한 프롬프트 템플릿을 설정하여 채팅 모델을 구성합니다. 에이전트가 구성되면 사용자에게 입력 문자열을 제공한 후 작업을 지정하여 도구를 구축하면 됩니다. 이 블로그는 LangChain에서 에이전트를 사용하는 과정을 보여주었습니다.