<< [[2025-01-10|Before]] | [[2025-01-12|Next]] >>
## Goal
- 질문을 받고 불러온 파일 내용을 바탕으로 결과 값을 반환하기
## TODO
> [!TODO] TODO
> - [v] `CrewAI`의 결과 Path를 `Json` 형태로 받아 해당 Path의 문서 값 받아오기
> - [v] 핵심 문서 Refine LCEL Chain 구현하기
> - [v] 관련 문서 Refine LCEL Chain 구현하기
## Issue/Solution
#### Issue 1
> [!blank]
>
>> [!warning]+ Problem
>> 핵심 문서, 관련 문서, 관련 이미지에 대한 모든 정보를 한 번에 넣어 `LLM`에게 답을 요구하면 그만큼 **Input token**이 많아지기 때문에 비용도 많이 나오고 **context window**을 넘어갈 경우 오류가 발생하게 된다.
>
>> [!summary]+ Solution
>> `text splitter`을 이용하여 `Stuff LCEL Chain`처럼 문서 정보를 넣을 수도 있지만, 정보 문서 특성 상, 여러 개념들이 여러 곳에서 등장하기 때문에 `Refine Chain`을 이용하는 것이 더 효과적이다.
>> 또한 `Refine Chain`을 이용하게 되면 필요한 만큼 질문을 계속해서 업데이트 해 나갈 수 있다는 장점이 있다. 따라서 질문에 대한 답을 도출할 때는 **Refine Chain**을 사용하는게 좋아 보인다.
## Reference
- [[Retrieval#Transform|Text splitter]]
- [[Stuff LCEL Chain]]
- [[Refine LCEL Chain]]
- [OpenAI model Info](https://platform.openai.com/docs/models)
## Git commit contents
- [build : Refine LCEL Chain으로 question에 대한 답 도출하기](https://github.com/Donghyeon-Shin/DocumentSecretary/commit/84e262b1e1b06e49bab10aa9fa41646a8437293f "build : Refine LCEL Chain으로 question에 대한 답 도출하기")
- [docs : package list 수정(Unstructured, tesseract, Unstructured[img] 설치)](https://github.com/Donghyeon-Shin/DocumentSecretary/commit/ba4ae818ec6d985217dccc5f5392a2ba745ba26d "docs : package list 수정(Unstructured, tesseract, Unstructured[img] 설치)")
## What should I do more
- Image Refine LCEL Chain 구현하기
- Streamlit 환경 설정하기