# 목적
1. 사용자의 질의의도를 파악하여 실행 순서를 작성
2. 실행순서에 맞게 도구 선택하여 실행
3. 실행 결과 최종 취합
4. 하나의 리포트 양식등 템플릿에 맞춰 최종 답변 생성
# 구성도
# Flow
1. 사용자 질의 : 'RAG 개발의 핵심'
2. plan_node : 실행 순서 생성
- 1. RAG 개발의 핵심 요소를 설명합니다.
- 2. 각 핵심 요소에 대한 자세한 내용을 설명합니다.
- 3. RAG 개발의 전반적인 중요성을 강조하며 마무리합니다.
3. agent : 질문과 답변 전달
Q : step 1. RAG 개발의 핵심 요소를 설명합니다.
A : RAG(Retrieval-Augmented Generation) 개발의 핵심 요소는 다음과 같습니다.
**검색(Retrieval)**: 사용자 질문과 가장 관련성이 높은 정보를 외부 데이터베이스에서 효과적으로 찾아내는 과정입니다.
**생성(Generation)**: 검색된 정보를 바탕으로 사용자 질문에 대한 답변을 자연스럽고 정확하게 생성하는 과정입니다.
**통합(Integration)**: 검색된 정보와 생성 모델을 유기적으로 결합하여 RAG 시스템의 성능을 최적화하는 과정입니다.
4. replan : agent 답변 판단
5. agent : 질문과 답변 전달
Q : step 2. 각 핵심 요소(검색, 생성, 통합)에 대한 자세한 내용을 설명합니다.
A : Question :각 핵심 요소(검색, 생성, 통합)에 대한 자세한 내용을 설명합니다.
Response :알겠습니다. RAG 개발의 핵심 요소인 검색, 생성, 통합에 대해 자세히 설명해 드리겠습니다.
**1. 검색(Retrieval)** 이란~~~
**2. 생성 (Generation)** 이란 ~~
**3. 통합 (Integration)** 이이란 ~~
6. replan : agent 답변 판단
A : RAG 개발의 전반적인 중요성을 강조하며 마무리합니다
7. agent : 질문과 답변 전달
Question :RAG 개발의 전반적인 중요성을 강조하며 마무리합니다.
Response :RAG(Retrieval-Augmented Generation) 개발은 방대한 정보 속에서 정확하고 신뢰할 수 있는 답변을 생성하는 데 필수적입니다. RAG는 검색과 생성을 결합하여 최신 정보를 반영하고 환각 현상을 줄여 사용자에게 더 나은 경험을 제공합니다. 따라서 RAG 기술의 지속적인 발전과 적용은 AI 기반 서비스의 미래 경쟁력을 좌우할 중요한 요소입니다.
8. replan : agent 답변 판단
추가로 궁금한 점이 있으시면 언제든지 질문해 주세요.
9. final_generate_node : 최종 답변
~~~
# 로그
https://smith.langchain.com/public/fc983b15-8de4-4f50-91fa-d30b08e24530/r
LangSmith
smith.langchain.com
# 핵심
- 그전까지는 create_tool_calling_agent 활용, 여기서부터 create_react_agent 활요
create_react_agent : reasoning 과정과 act 과정을 노출 시켜 디버깅 및 개발을 효율적 지원
- llm 이 도구를 사용하고나 BaseModel의 타입을 사용하는 부분에 있어서 llm 모델의 성능에 영향을 크게 미침
특히 with_structured_output에서 Act class 를 사용하는데
Act Class는 action 이라는 변수에 Response 객체와 Plan 객체만 사용 가능하다
llm 성능에 따라 Reponse, Plan 타입의 객체에 변수까지 정확하게 생성 가능하다
https://github.com/baaaaaaaaaaaaamtest/AI_application/blob/master/11.semi_project/6.practice.ipynb
AI_application/11.semi_project/6.practice.ipynb at master · baaaaaaaaaaaaamtest/AI_application
Contribute to baaaaaaaaaaaaamtest/AI_application development by creating an account on GitHub.
github.com