본 글은 Retrieval-Augmented Generation에 대한 개념을 적용한 웹 데모 생성을 위한 베이스라인 글 입니다.
해당 프로젝트는 llama_cpp, milvus, gradio, docker를 사용합니다.
구현하고자 하는 프로젝트의 컨셉입니다. 먼저, 유저는 Gradio에 접속하여 질문을 입력합니다. 질문은 BGE-M3 모델을 통해 임베딩되고, milvus DB 내부의 문서 중 가장 관련 높은 문서를 찾습니다. 이후 질문과 문서를 LLM에 입력하여 응답을 받아 유저에게 전달합니다.
이 과정에서 구현해야하는 3가지 서버는 gradio, milvus, llama_cpp(llama3)입니다.
베이스라인에서 gradio, milvus는 PC-1, llama3는 PC-2에 구축되며, 두 PC은 같은 망에 속합니다.
- PC1에 docker compose로 milvus 서버 구축
- milvus server에 collection 생성
- 원본 텍스트를 임베딩하여 DB에 적재(with bge-m3)
- PC2에 docker container 생성
- llama-cpp 서버를 위한 가상환경 구축(with conda)
- llama-cpp 서버 구축 및 fastapi swagger로 구동 확인
- PC1에 docker container 생성
- milvus, llama-cpp 서버 간 연결 확인
- gradio 서버 구축
** Window 환경에서 구축 / Docker desktop 사용
LLM with RAG - LLM server (0) | 2024.05.08 |
---|---|
LLM with RAG - milvus server (0) | 2024.05.07 |
BERT (0) | 2023.01.09 |
Transformer (0) | 2023.01.06 |
Tokenization (0) | 2023.01.04 |
댓글 영역