LangChain의 에이전트란 ​​무엇입니까?

Langchain Ui Eijeonteulan Mueos Ibnikka



LangChain 프레임워크는 언어 모델을 활용하는 앱을 개발하는 데 사용됩니다. LLM은 일반적인 응답을 제공하며 특정 분야를 대상으로 하지 않는 반면 LangChain은 사용자가 여러 구성 요소를 함께 결합하고 일관된 단일 응용 프로그램을 만들 수 있는 체인을 생성하기 위해 제공하는 가장 강력한 속성을 가지고 있습니다. LangChain에는 많은 모듈, 데이터 연결, 체인, 에이전트, 메모리 및 콜백이 있습니다.

이 기사에서는 가능한 모든 측면에서 LangChain의 에이전트에 대해 논의할 것입니다.

LangChain의 에이전트란 ​​무엇입니까?

일부 애플리케이션에는 미리 결정된 체인만 필요한 것이 아니라 사용자 입력에 따라 달라지는 알 수 없는 체인이 필요합니다. 그러한 경우에는 “ 대리인 ” 도구에 액세스하고 사용자의 입력과 사용자가 요구하는 내용에 따라 어떤 도구가 필요한지 결정합니다. 툴킷은 기본적으로 특정 목표를 수행하는 데 필요한 도구 세트이며 툴킷에는 3~5개의 도구가 있습니다.

LangChain 에이전트의 유형

두 가지 주요 에이전트가 있습니다.

  • 액션 에이전트
  • 계획 및 실행 에이전트

액션 에이전트: 이 에이전트는 단계별로 수행할 작업을 결정하고 각 단계를 평가한 후 이를 실행하고 몇 단계가 포함된 에이전트의 의사 코드에 대해 논의하면 다음으로 이동합니다.

  • 사용자로부터 입력을 받았습니다.
  • 상담원은 도구와 필요한 도구 유형을 결정합니다.
  • 해당 도구는 입력 도구와 함께 호출되고 관찰이 기록됩니다.
  • 기록 도구, 관찰 도구, 입력 도구가 에이전트에 다시 전달됩니다.
  • 상담원이 이 도구를 종료하기로 결정할 때까지 이 과정을 반복합니다.

계획 및 실행 에이전트: 이러한 에이전트는 먼저 수행할 작업을 결정한 다음 해당 작업을 모두 실행합니다.

  • 사용자 입력이 수신되었습니다.
  • 에이전트는 실행할 모든 단계를 나열합니다.
  • 실행자는 단계 목록을 살펴보고 실행합니다.

에이전트 설정

에이전트를 설정하기 전에 최신 버전의 에이전트를 설치해야 합니다. 파이썬 운영 체제에 따라.

1단계: 패키지 설치
먼저 이를 위한 환경을 구축해야 하며, “를 통해 LangChain, google-search-results, openai를 설치해야 합니다. ' 명령:

! 설치하다 랭체인
! 설치하다 Google 검색결과
! 설치하다 개방하다

필수 라이브러리 가져오기:

langchain.schema에서 SystemMessage 가져오기
langchain.agents에서 OpenAIFunctionsAgent, AgentExecutor 가져오기
langchain.agents 가져오기 도구에서
langchain.chat_models에서 ChatOpenAI 가져오기
다시 가져오기
getpass 가져오기 getpass에서

2단계: 비밀 API 받기
환경을 설정한 후 이제 OpenAI Platform에서 비밀 API 키를 가져와야 합니다.

openai_api_key = getpass ( )
llm = ChatOpenAI ( openai_api_key =openai_api_key, 온도 = 0 )

3단계: 도구 초기화
다음으로 도구를 정의하여 문자열 길이를 가져오는 간단한 Python 코드를 작성해 보겠습니다.

@ 도구
데프 get_word_string ( 단어: str ) - > 정수:
'' '문자열의 길이를 알려주세요.' ''
반품 오직 ( 단어 )

도구 = [ get_word_string ]

4단계: 프롬프트 템플릿 생성
도구를 정의한 후 이를 사용하기 위한 프롬프트 템플릿을 설정합니다. “OpenAIFunctionsAgent.create_prompt()” 템플릿을 자동으로 생성하는 도우미 함수입니다.

system_message=시스템 메시지 ( 콘텐츠 = '당신은 매우 강력한 조수이지만 끈의 길이를 계산하는 데는 서투릅니다.' )
프롬프트 = OpenAIFunctionsAgent.create_prompt ( system_message =system_message )

5단계: 에이전트 생성
이제 모든 부분을 마무리하고 다음과 같은 함수를 사용하여 에이전트를 만들 수 있습니다. “OpenAIFunctionsAgent()” .

에이전트 = OpenAIFunctionsAgent ( ㅋㅋㅋ =llm, 도구 =도구, 즉각적인 =프롬프트 )

6단계: 런타임 설정
에이전트를 성공적으로 생성한 경우 에이전트에 대한 런타임을 생성합니다. 이 'AgentExecutor'는 에이전트에 대한 런타임으로 사용됩니다.

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

7단계: 에이전트 테스트
런타임을 생성한 후 이제 에이전트를 테스트할 차례입니다.

에이전트_실행자.run ( '이 문자열에는 몇 개의 단어가 있나요?' )

2단계에서 올바른 API 키를 삽입했다면 응답을 받게 됩니다.

결론

이 기사는 여러 측면에서 설명되었습니다. 먼저 LangChain이 무엇인지, 어떻게 작동하는지 설명한 다음 LangChain의 에이전트로 이동하여 LangChain의 에이전트의 목적을 논의하고 두 가지 주요 유형의 에이전트에 대한 정보를 포함합니다. '액션 에이전트' 그리고 “계획 및 실행 에이전트” LangChain에서 사용되며 최종 코드 실행 시 LangChain에 에이전트를 설정하는 것이었습니다.