<< [[2025-01-15|Before]] | [[2025-01-17|Next]] >> ## Goal - `CrewAI`를 이용해 관련 문서, 관련 이미지를 정보를 바탕으로 사용자의 질문에 도움의 되는 보충 내용 만들기 - `home.py`의 기능들을 `Utiles module`로 이동하기 ## TODO > [!TODO] TODO > - [v] crewAI 경로 Output 오류 수정하기 > - [v] 관련 문서 Refine Crew 구현하기 > - [v] 관련 이미지 Refine Crew 구현하기 > - [v] home.py에 있는 함수를 Utiles.py로 이동시키기 > - [-] 문서 요약 기능 구현하기 ## Issue/Solution #### Issue 1 > [!blank] > >> [!warning]+ Problem >>`fileSelct Crew`의 Path 결과가 올바르지 않는 경우가 발생했다. >>잘 되다가 왜 갑자기 이러한 오류가 발생했는지는 모르겠지만, `docPathSearch Crew`와 `ImgPathSearch Crew`의 결과는 올바르지만 **fileSelct Crew**가 해당 경로들을 받고 선택하는 과정에서 오류가 발생한 것 같다. > >> [!summary]+ Solution >> `fileSelct Crew`의 끝의 파일 이름과 `docPathSearch Crew`와 `ImgPathSearch Crew`의 경로의 파일 이름을 비교하여 수동으로 파일 경로를 얻도록 수정하였다. >> 따로 전처리 과정이 생김으로 인해 `CrewAI`의 결과값이 안 좋더라도 일정한 결과를 얻을 수 있었다. 따라서 비용의 절감을 위해 `CrewAI`의 `LLM`을 **gpt-4o** 대신 **gpt-3.5-turbo**을 사용도록 바꾸었다. #### Issue 2 > [!blank] > >> [!warning]+ Problem >>질문에 대한 결과 값을 받을 때 관련 문서와 관련 이미지를 사용할지 결정하는 옵션 UI를 구현하였었다. >>해당 옵션의 ON/OFF에 따라 사용하는 `CrewAI`가 달라져야 하며 최종 결과 값 역시 바뀌어야 한다. > >> [!summary]+ Solution >>최종 결과 값이 옵션에 따라 업데이트 되어야 하기 때문에 `Refine` 기능을 이용하는 것이 좋다고 생각했다. >>하지만 `Refine LECL Chain`을 사용하게 되면 연산 시간이 너무 길어지는 문제가 발생한다 따라서 **Custom Refine**을 만들고 `CrewAI`에 접목 시켜 결과 값이 빠르고 정확하게 나오도록 구현하였다. ## Reference - [[Refine LCEL Chain]] ## Git commit contents - [fix : 관련 문서와 이미지를 가져오는 과정에서 경로가 이상한 경우 수정](https://github.com/Donghyeon-Shin/DocumentSecretary/commit/4e5644e4e037ff30bd61fd45aa63f8e0fb7427b5 "fix : 관련 문서와 이미지를 가져오는 과정에서 경로가 이상한 경우 수정") - [build : 관련 문서 Refine Crew 구현](https://github.com/Donghyeon-Shin/DocumentSecretary/commit/ca835fddac3965e97855c085de518aaeb9ce8c3f "build : 관련 문서 Refine Crew 구현") - [build : 관련 이미지 Refine Crew 구현](https://github.com/Donghyeon-Shin/DocumentSecretary/commit/4a5bfbbab9b8fe681fba74e65329626ecefdb152 "build : 관련 이미지 Refine Crew 구현") - [refactor : home.py의 crew run 함수를 Utiles로 이동](https://github.com/Donghyeon-Shin/DocumentSecretary/commit/29ba2519478dc7292041dd33176e95d5e15280da "refactor : home.py의 crew run 함수를 Utiles로 이동") ## What should I do more - `Quiz` 기능 구현하기 - `Crew Module`의 기능들을 `Utiles module`로 이동하기