이 기사에서는 가능한 모든 측면에서 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 키를 가져와야 합니다.
llm = ChatOpenAI ( openai_api_key =openai_api_key, 온도 = 0 )
3단계: 도구 초기화
다음으로 도구를 정의하여 문자열 길이를 가져오는 간단한 Python 코드를 작성해 보겠습니다.
데프 get_word_string ( 단어: str ) - > 정수:
'' '문자열의 길이를 알려주세요.' ''
반품 오직 ( 단어 )
도구 = [ get_word_string ]
4단계: 프롬프트 템플릿 생성
도구를 정의한 후 이를 사용하기 위한 프롬프트 템플릿을 설정합니다. “OpenAIFunctionsAgent.create_prompt()” 템플릿을 자동으로 생성하는 도우미 함수입니다.
프롬프트 = OpenAIFunctionsAgent.create_prompt ( system_message =system_message )
5단계: 에이전트 생성
이제 모든 부분을 마무리하고 다음과 같은 함수를 사용하여 에이전트를 만들 수 있습니다. “OpenAIFunctionsAgent()” .
6단계: 런타임 설정
에이전트를 성공적으로 생성한 경우 에이전트에 대한 런타임을 생성합니다. 이 'AgentExecutor'는 에이전트에 대한 런타임으로 사용됩니다.
7단계: 에이전트 테스트
런타임을 생성한 후 이제 에이전트를 테스트할 차례입니다.
2단계에서 올바른 API 키를 삽입했다면 응답을 받게 됩니다.
결론
이 기사는 여러 측면에서 설명되었습니다. 먼저 LangChain이 무엇인지, 어떻게 작동하는지 설명한 다음 LangChain의 에이전트로 이동하여 LangChain의 에이전트의 목적을 논의하고 두 가지 주요 유형의 에이전트에 대한 정보를 포함합니다. '액션 에이전트' 그리고 “계획 및 실행 에이전트” LangChain에서 사용되며 최종 코드 실행 시 LangChain에 에이전트를 설정하는 것이었습니다.