https://python.langchain.com/v0.2/docs/integrations/tools/
https://python.langchain.com/v0.2/docs/integrations/toolkits/
agent executor๋ฅผ ์ฌ์ฉํ์ฌ agent๋ฅผ ๊ตฌ์ถํ๋๋ฐ ๋ค์ ๋ฌธ์๋ฅผ ๋ณด์.
https://python.langchain.com/v0.2/docs/how_to/agent_executor/#jupyter-notebook
์ด ์น์
์์๋ ๋ ๊ฑฐ์ LangChain AgentExecutor๋ฅผ ์ฌ์ฉํ ๊ตฌ์ถ์ ๋ค๋ฃน๋๋ค. ์์ํ๋ ๋ฐ๋ ๊ด์ฐฎ์ง๋ง ํน์ ์ง์ ์ด ์ง๋๋ฉด ์ด ๊ธฐ๋ฅ์ด ์ ๊ณตํ์ง ์๋ ์ ์ฐ์ฑ๊ณผ ์ ์ด ๊ธฐ๋ฅ์ด ํ์ํ ๊ฒ์
๋๋ค. ๊ณ ๊ธ ์์ด์ ํธ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด LangGraph ์์ด์ ํธ ๋๋ ๋ง์ด๊ทธ๋ ์ด์
๊ฐ์ด๋๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ ๊ฑฐ์๋ก ์ฒ๋ฆฌ๋๊ณ ์๋ค. langgraph agent๋ฅผ ์ฌ์ฉํ๋๊ฒ ๋ง๋๊ฑฐ๊ฐ์๋ฐ ๊ทธ๋์ ๊ทธ๋ฐ์ง ์ด๊ฑด ๋์ถฉ ๋ด๋๊ณ ๋ฐ๋ก langgraph๋ก ๊ฐ์.
Copy % pip install langchain_experimental
Copy from langchain_core . tools import Tool
from langchain_experimental . utilities import PythonREPL
Copy python_repl = PythonREPL ()
Copy python_repl . run ( " print(1+1) " )
Copy # You can create the tool to pass to an agent
repl_tool = Tool (
name = " python_repl " ,
description = " ํ์ด์ฌ ์
ธ์
๋๋ค. ํ์ด์ฌ ๋ช
๋ น์ ์คํํ ๋ ์ฌ์ฉํฉ๋๋ค. ์
๋ ฅ์ ์ ํจํ ํ์ด์ฌ ๋ช
๋ น์ด์ด์ผ ํฉ๋๋ค. ๊ฐ์ ์ถ๋ ฅ์ ํ์ธํ๋ ค๋ฉด `print(...)`๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ ฅํด์ผ ํฉ๋๋ค. " ,
func = python_repl . run ,
)
์ฃผ์ ํฐ์ปค ์ฐพ๊ธฐ agent
https://github.com/lerocha/chinook-database/blob/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite
chinook_sqlite๋ฅผ ์ฌ์ฉํจ
!wget 'https://github.com/lerocha/chinook-database/releases/download/v1.4.2/Chinook_Sqlite.sql'
์์ฆ์ langchain agent๋ณด๋ค langgraph๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์๊ฑฐ๊ฐ์ ๊ฐ์ธ์ ๋๋์ด๋ผ. agent์ชฝ์ ๋ง์ด ๋ณด์ง๋ ์๊ณ langgraph๋ก ๋ฐ๋ก ๋์ด๊ฐ๋ฒ๋ฆด๊น ํฉ๋๋ค.
์ธ๊ณต์ง๋ฅ Agent๋ ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ์ ํ ์ด๋ค ๊ธฐ๋ฅ์ ์ด๋ค ์์๋ก ์คํํ ์ง ๊ฒฐ์ ํ๋ ์ญํ ์ ํฉ๋๋ค. Agent์ ์ฃผ์ ํน์ง๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ชฉํ(์ ์ฑ
) ๊ธฐ๋ฐ ํ๋: ์ฃผ์ด์ง ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ํ๋ํฉ๋๋ค.
์์จ์ฑ: ๋ชฉํ๊ฐ ์ฃผ์ด์ง๋ฉด ์๋์ผ๋ก ์๋ํฉ๋๋ค.
๊ฐ์ง: ์ฃผ๋ณ ํ๊ฒฝ์์ ์ ๋ณด๋ฅผ ์์งํฉ๋๋ค.
Tools๋ Agent๊ฐ ํ ์ ์๋ ์ผ
Input: ์ฌ์ฉ์๊ฐ Agent์๊ฒ ์์
์ ํ ๋นํฉ๋๋ค.
Thought: Agent๊ฐ ์์
์ ์์ํ๊ธฐ ์ํด ๋ฌด์์ ํ ์ง ์๊ฐํฉ๋๋ค.
Action/Action Input: ์ฌ์ฉํ ๋๊ตฌ๋ฅผ ๊ฒฐ์ ํ๊ณ , ๋๊ตฌ์ ์
๋ ฅ(ํจ์์ ์
๋ ฅ๊ฐ)์ ๊ฒฐ์ ํฉ๋๋ค.
Observation: ๋๊ตฌ์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๊ด์ฐฐํฉ๋๋ค.
๊ด์ฐฐ ๊ฒฐ๊ณผ ์์
์ ์๋ฃ(Finish)ํ๋ค๋ ํ๋จ์ ๋๋ฌํ ๋๊น์ง 2~4๋ฒ ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค.