LangChain 에이전트는 사용자의 입력을 기반으로 LLM(대형 언어 모델) 및 기타 도구에 대한 유연한 호출 체인을 필요로 하는 애플리케이션에 적합합니다. 에이전트는 다양한 도구에 접근하여 사용자 입력에 따라 사용할 도구를 결정할 수 있습니다.
액션 에이전트 (Action Agents):
계획-실행 에이전트 (Plan-and-Execute Agents):
액션 에이전트의 동적 특성과 계획-실행 에이전트의 계획 능력을 결합하는 것이 가장 좋습니다. 계획-실행 에이전트가 액션 에이전트를 사용하여 계획을 실행하도록 할 수 있습니다.
액션 에이전트는 다음과 같은 단계를 거칩니다:
계획-실행 에이전트는 다음과 같은 단계를 거칩니다:
가장 일반적인 구현은 플래너가 언어 모델이고, 실행기가 액션 에이전트입니다.
이제 에이전트를 설정하고 사용하는 방법을 단계별로 살펴보겠습니다.
final llm = ChatOpenAI(
apiKey: openAiKey,
defaultOptions: const ChatOpenAIOptions(temperature: 0),
);
이 예제에서는 계산기를 도구로 사용하겠습니다.
final tool = CalculatorTool();
final tools = [tool];
도구와 언어 모델, 그리고 사용할 에이전트 유형을 초기화합니다.
final agent = OpenAIToolsAgent.fromLLMAndTools(llm: llm, tools: tools);
에이전트 실행기를 생성하고 테스트합니다.
final executor = AgentExecutor(agent: agent);
final res = await executor.run('What is 40 raised to the 0.43 power? ');
print(res); // -> '40 raised to the power of 0.43 is approximately 4.8852'
LangChain 에이전트는 사용자 입력에 따라 다양한 도구를 사용하여 유연한 작업 체인을 실행할 수 있는 기능을 제공합니다. 에이전트는 액션 에이전트와 계획-실행 에이전트로 나뉘며, 각각의 특성에 맞게 사용할 수 있습니다. 이 가이드를 통해 LangChain 에이전트를 설정하고 사용하는 방법을 익힐 수 있습니다. 📝✨
이제 LangChain 에이전트를 사용하여 더욱 스마트한 애플리케이션을 만들어보세요! 🚀