๐ฅTools/Toolkits & Agent, Agentic RAG๐ฅ
ํํ ๋ฆฌ์ผ Update ์๋ฃ(10๊ฐ ํ์ผ)ํ์ฌ ์ ๋ก๋ ์๋ฃํ์์ต๋๋ค!! * ๐์ํค๋ ์ค: https://wikidocs.net/233782 * ๐ปGithub ์ฝ๋: ttps://github.com/teddylee777/langchain-kr/tree/main/15-Agent โ ์ฃผ์๋ด์ฉ - LangChain ์๋ integration ๋์ด ์๋ ๋ค์ํ ๋๊ตฌ์ Toolkits(๋๊ตฌ ๋ชจ์) ์ด ๋ง์ต๋๋ค. ์ด์ ๋ํ ์ฌ์ฉ๋ฒ์ ์์๋ด ๋๋ค. - (์์ ์์ ์ฌ์ฉํ ์ฃผ์ ๋๊ตฌ) ํ์ผ ๊ด๋ฆฌ(์์ฑ, ์ด๋, ์ญ์ ), Dall-E ์ด๋ฏธ์ง ์์ฑ๊ธฐ, ๊ตฌ๊ธ ์ต์ ๋ด์ค, ์น ๊ฒ์, ํ์ด์ฌ ์ฝ๋ ์คํ ๋ฑ - ๋๋ง์ Custom ๋๊ตฌ ์ ์๊ฐ ์ฝ๊ฒ ๊ฐ๋ฅํ๋ฉฐ ํ์ฌ๋ด DB ์กฐํ๋ API ํธ์ถ ๊ธฐ๋ฅ์ ๋๊ตฌ๋ก ๋ํํ์ฌ Agent ๊ฐ ํ์ฉํ ์ ์์ต๋๋ค. - bind_tools() ์ Agent ์ฐจ์ด๋ฅผ ์์๋์? - Agent ๋ฅผ ์คํธ๋ฆฌ๋ฐ(streaming) ์ถ๋ ฅํ์ฌ ๊ฐ ๋จ๊ณ๋ฅผ ์ธ๋ถ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค. ์ด๋ค ๋๊ตฌ(tool)๊ฐ ํธ์ถ๋๊ณ , ์ด๋ค ๊ด์ธก(observation) ๋๋๋์ ๋ฐ๋ผ ๋ณ๋ ์ฒ๋ฆฌ๊ฐ ์ฝ๊ฒ ๊ฐ๋ฅํฉ๋๋ค.(AgentStreamParser) - Claude, Gemini, Together.ai, ์ฌ์ง์ด Ollama ์ llama3.1 ๋ ๋๊ตฌ ๋ฐ์ธ๋ฉ์ ์ง์ํฉ๋๋ค. ๋ฐ๋ผ์, ์ด์ ๋ ์์ฝ๊ฒ ๋ฌด๋ฃ Agent ๊ตฌ์ถ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ฑ๋ฅ์ด ๊ถ๊ธํ์ ๊ฐ์? - Agent ์ iter() ๋ฉ์๋์ 'Human-in-the-loop' ์ ๋ํด์ ๋ค๋ฃน๋๋ค. ์ฆ, ์ฌ๋์ด ์ค๊ฐ ๋จ๊ณ์ ๊ฐ์ ํ์ฌ ์งํํ ์ง ๋ง์ง๋ฅผ (y/n) ๋ก ๊ฒฐ์ ํ ์ ์์ต๋๋ค. - Agentic RAG: Agent ๋ก RAG ๋ฅผ ๊ตฌ์ฑํ๋ฉด ๋ญ๊ฐ ๋ ์ข์๊น์? ์ฐ์ , ๋ค์ํ ๋๊ตฌ๋ฅผ LLM ์ด ์ ํํ์ฌ RAG ํฉ๋๋ค. ๊ผญ ๋ฌธ์ ๊ธฐ๋ฐ ๋ต๋ณ์ด ์๋๋ผ ์น๊ฒ์์ ํ ์๋ ์๊ณ , ๋ต๋ณ์ ํ์ผ ์์คํ ์ ์ ๊ทผํ์ฌ ํ์ผ์ ์ง์ ์์ฑํ๊ธฐ๋ ํฉ๋๋ค. - CSV/Excel ๋ฐ์ดํฐ ๋ถ์ ํ๋ Agent: 10๋ถ ์ปท์ ๋๋ค. ์ฐจํธ๋ ๊ทธ๋ ค์ค๋๋ค. - ๋ณด๊ณ ์ ์์ฑ Agent ๋ฏธ๋ํ๋ก์ ํธ๋ก ๋จ์์ ๋ง๋ฌด๋ฆฌ ํฉ๋๋ค. ๋ณด๊ณ ์ ์์ฑ์ ๊ฐ์ฅ ๋ง์ง๋ง์๋ Dall-E ์ด๋ฏธ์ง ์์ฑ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ด์ฉ์ ๊ฑธ๋ง๋ ์ธ๋ค์ผ์ ๋ง๋ค์ด ๋ณด๊ณ ์ ์ต์๋จ์ ์ถ๊ฐํฉ๋๋ค. ๐ ์ฝ๋ฉํธ Agent ๋ ์ ๋ ์ด๋ ค์ด ๊ฐ๋ ์ ์๋๋๋ค. ๊ทธ๋ ๋ค๊ณ ๋ค๋ฃจ๊ธฐ ์ฝ๋ค๋ ๋ง๋ ์๋๋๋ค. ๋๊ตฌ๋ฅผ ๋ง์ด ์ฅ์ด์ฃผ๋ฉด ์์์ ์ฒ์ฒ ํด๋ผ๋๋ ์์ง๋ง, ๊ฐ์ ์ง๋ฌธ์๋ ๋๋ก๋ ์์น ์๋ ๋ฐฉํฅ๋๋ก ์งํํ๊ธฐ๋ ํฉ๋๋ค. ์ฆ, controllability ๊ฐ ํญ์ ๊ณ ๋ฏผ์ธ ๋ ์์ ๋๋ค. Agentic ํ ํ๋กฌํํธ๋ ๋งค์ฐ ์ค์ํด ๋ณด์ ๋๋ค! ์ด์ ๋์ด ๋ณด์ ๋๋ค. ๋๋ง์ LangGraph ํ๋ ๋จ์๋ค์!! ์ฌํด ๊ผฌ๋ฐ 1๋ ๊ฑธ๋ ธ์ต๋๋ค. ์ด์ ๋จ์ ์ฌ์ ๋ ์ ๋ง๋ฌด๋ฆฌ ํด๋ณด๊ฒ ์ต๋๋ค. โค๏ธ์ํค๋ ์ค & Github ์ข์์๋ ์ฌ๋์ ๋๋ค! ๊ฐ์ฌํฉ๋๋ค!!โค๏ธ #Agent #LangChain #ํ ๋๋ ธํธ