내일이면 서브 팀 프로젝트가 마무리되는 날이에요.
내일 최종 자료를 제출해야 하기 때문에, 발표 자료 준비 및 로직 마무리 단계를 가지는 날이에요.

부족한 점도 많았고, 모르는 개념도 많았지만 챙겨주셔서 너무 감사했던 팀 프로젝트였습니다. ☺️

10:00 ~ 12:10 아침 회의

14:10 ~ 16:00 실시간 화면 공유하며 해결해 나가는 작업

1. 회원 가입 시, 영화 선택 및 장르 끌고 오는 작업
2. jwt 토큰 코드 해결
3. 영화 최신화
4. 영화 벡터 검색 후, LLM으로 넘겨서 성격에 따라 추천 기능 구현
5. 회원 가입, 로그인&아웃 프런트 문제 해결

<변경 사항>
1. 프롬프트
2. 임베딩 시, title을 사용하고, 질문을 한글로 작성 시 영어로 번역되도록 설정

 

이렇게 오늘 해야 할 일을 공유했고, 주말 동안 구현해 왔던 걸 github를 통해서 merge도 했어요.

프런트 부분에서 회원 가입, 로그인, 로그아웃 기능 와중에 문제가 있어서 해결해야 합니다!

회의 7차를 끝으로, 제가 맡은 파트가 회원 가입 시 영화 25개 중 5개 선택하도록 기능을 구현하는 거였어요

생각해 보니까 그 25개의 영화를 어떤 기준으로 보여줄지, 기준이 없더라고요 🤔
그래서 담당 튜터 님께도 가서 자문을 구하고, 팀원분들과 선정 기준을 두고 논의를 했어요.

장자 1시간의 회의 끝에,
기준으로 삼을 CSV 파일이 완성되었어요!
이걸 토대로 구현을 시작하려 해요 😋

랜덤으로 100개 중에서 25개를 뽑아야 해서, 이거 관련해서도 공부해야 돼요!
냠미! 파이팅입니다 😋

비선호 장르에 있어서도 우연히 좋고 재밌는 영화가 있을 수도 있잖아요?
그거에 대해서 회의를 했어요.

그리고! 피드백도 함께 받은 상태입니다 ㅎㅎ

<피드백>
1. 비선호 장르를 굳이 필터링해야 하나요?
2. 하실 거면, 롤베이스를 추천한다. -> 아직 LLM에 다 맡기는 건 이른 듯, 가중치로 변동적으로 적용시킬 수 있다.

피드백이 끝난 후 역할을 분담했어요
사실,, 못 알아들은 용어가 다수여가지고 이해하느라 허덕였거든요?
조장님께 쪼르륵 가서 도와드릴 게 있는지 여쭤봤어요 👀

그래서,
회원 기능 중에! 영화 선택 25개를 띄우고 5개 선택하도록 하는 기능을 구현 맡게 되었습니다 😎
Axios 공부하러 드갑시다.

1. 영화 DB와 장르 DB를 SQLite로 이식
2. 챗봇 기능 완성을 위한 메모리 기능 코드 추가
3. 챗봇 기능을 장고에 이식
4. 장고 채널스에 비동기 통신으로 코드 구현하기
5. Axios를 통한 프런트엔드 작업

 

이렇게 하기로 했어요

저는 LLM에게 메모리 기능을 추가해 주는 업무를 담당받게 되었고,

코드 구현이 끝나자마자 조장 님께 코드 전달 후, 조장 님 코드를 화면 공유로 보면서 공부했어요 👀

논의 내용

오늘은 영화 DB 중에서도 비선호랑 선호 영화 & 장르를 어떻게 처리할지에 대해서 오래 대화를 나눴어요.
전처리를 하던 중에 가중치를 주면 선호 장르만! 나오는 걸 방지할 수 있다고 하더라고요.
그리고
아예! 전체 영화 DB에서 비선호 장르를 뺀 상태에서 영화 15개~20개를 추천해 주자는 내용으로 흘러갔어요.

마지막으로 채팅을 어떻게 구현할지에 대해서도 논의 중이었고, 청킹도 단위를 어떻게 해야 할지도 피드백 요청하기로 했어요.

피드백

<피드백>
1. 청킹 : 행 단위로 할 생각이었어요.
→ 행 단위나 글자 단위나 크게 중요한 건 아니지만, 전달할 때에 따라 달라짐 오버랩 사이즈도 그에 따라 달라짐.
→ 어떻게 전달할지에 따라서 사이즈 조정이 필요해요.
→ 행 단위가 낫다고 생각해요.

<오리지널 제목, 줄거리, 장르, 인기도>
→ 행 단위로 청킹 하는 게 결과가 잘 나와요.
→ 한 줄 안에 정리가 된다는 전제하에 청킹을 행 단위로 하는 게 낫다고 생각해요.

2. 비선호 제외
방법 1-1 : 벡터 검색할 때 비선호 장르를 제외한 장르를 넣고 검색하는데, 이때 선호 장르에 가중치를 준다.
방법 1-2 : 프롬프트에서 선호 영화를 바탕으로 유사한 영화 추천한다.
방법 2-1 : 선호 내용들을 바탕으로 영화 15개 ~ 20개 추천받는다.
방법 2-2 : 비선호 내용을 필터링하여 추천한다.

→ 방법 1이 훨씬 좋아 보여요.
→ 추천 쪽에서 중요한 게 탐색&활용의 균형을 맞추는 것이 중요.
 탐색 :
→ 비선호 장르라도 조금씩 써보고 의외로 잘 맞으면 이것도 선호 장르에 반영시켜서 추천 퀄이 더 높아질 수 있음.
→ (== 맛있을 수도 있으니까 한 입 잡숴봐)
 단점 :
→ 사용자가 비선호 보고 화날 수도.
 활용 :
→ 기존 DB나 추천 시스템을 기반으로 최종적으로 방법 1이 우리의 프로젝트와 잘 맞을 것 같음.

3. 레디스 생각 중인데, 채팅을 구현하는 다른 효율적인 방법이 있는지 모르겠어요.
장고의 채널스 → 웹소캣 할 때도 쓸 수 있음
관리성을 봤을 땐 장고의 채널스가 맞다고 생각한다. → 장고 채널스를 권장함.
채널스만으로도 구현 가능한가요? → 이 정도 사이즈면 가능,, 하죠?

----------
<결론적으로 전하고 싶은 말은> → “옵션일 뿐, 여러분의 상황에 맞게끔 선택해 주세요”
DRF에 이식하는 것도 준비를 슬슬해야 함
배포 생각 ㄴ 하지 마세요
LLM RAG(LangChain), DRF(account, Chatting), 협업

어느 정도로 겹쳐서 공유를 해야 할지, 분업해야 할지 모르겠어요 (협업 시, 업무 배당)
→ 문서로 리뷰를 공유하는 게 활용적, 서로 얻어가는 게 있으면 좋겠다. (최종을 위해)

 

다행히 프로젝트 면에서 더 추가해야 하는 기술은 없었어요!

채널스랑 JS, LLM RAG 공부를 진행하면 돼요!

 

점점 알아가는 기술과 내용이 많아지는 느낌이 들어서 행복합니다 😋

내일 19(수) 10시까지 LangChain 공부해 오기로 했어요!

파이팅입니다!

오전

저희가 가진 영화 DB 속에 문제점이 발견되었어요
영화 한 개가 장르 한 가지만 가지는 게 아니라는 오류를요!
그래서 어떻게 해결해야 할지 논의한 끝에, LLM 프롬프트 엔지니어링을 이용해서 필터링하여 해결하자고 했어요

그래서
"회원 가입 시, 인기도 기반으로 상위 20개의 영화를 보여주고, 그 고른 영화를 선호 영화 DB에 저장하도록 하자!" 했지만

선호 장르 테이블보다는 비선호 장르 테이블을 만들어야겠단 결론이 나왔어요
그리고,
트러블 슈팅 중에서 영화를 미리 보여줄 때 포스터를 어떻게 보여줄지 상의해 보았어요
어떻게 구현해 내냐는 프런트 업무이기 때문에 GPT 형님한테 부탁드리기로 했고요 🤣
회원 가입 시, 안내 멘트가 나오고 체크 박스로 고르게끔 하자고 했어요!

마지막으로는
토요일에 구현했던 DRF 회원 가입 구현 코드를 공유함으로써 오전 회의는 끝났어요!

오늘의 역할 분담과 할 일 목록이에요 🤣
제가 DRF를 구현하다 보니까 뭔가,, 뭔가네요 🤣

팀 분위기가 정말 좋아서 스트레스 없이 잘 수행 중이에요!
오후 2시에 다시 모여서 회의 후, 컨펌받기로 했어요 

여기까지, 오전 회의 끝!


오후

 

하하하하하
16시부터 16시 50분까지 피드백받았어요

일단 제가 신경 써야 할 부분은 이 쪽인 거 같아요
자바 스크립트 공부를 해보아야 할 것 같네요 🤔
어차피 최종 프로젝트 때 써봐야 하는 것이기 때문에 해보려고요

아! 그리고
Django에서 기본적으로 password 관련해서 제공해 주는 로직이 있나 봐요
그거에 대해서 찾아보고 공부해봐야 할 것 같아요

 

피드백 후 해결방안 (빨간색 글자로 선정)

오늘의 회의록이에요!
영화 DB을 작성할 때 어떤 걸 써야 할지 질문을 드렸어요.

<피드백>
1. 회원 DB, 영화 DB는 SQLite3을 쓰라고 하셨어요
2. 그리고 벡터 DB는 FAISS를 추천해주셨어요
3. 또한 영화 DB가 되는 게 총 80만 개나 돼서 너무 많다고 줄이라 하셨고요
4. 팀 단위로 깃 연습 하라고 하셨고요
5. 꼭 완성 못 해도 되니까 얻어가는 게 있었으면 좋겠다고 말씀하셨어요
5.1. 이번 프로젝트에서 팀 협업(GitHub)과 LLM, RAG가 중요하니까 많이 얻어갔으면 좋겠다 하셨어요!

오늘은 SA을 여기까지 완성했어요!

추후 더 추가해야 할 것 같아요
오늘 SA 특강이 있어서 들었는데, 추가사항이 많아 보여요!

트러블슈팅을 얼른 추가해서 사용하고 싶어요
스스로와 팀원들의 성장을 볼 수 있는 거라니!! 너무 재밌을 거 같아요 🤩

내일(15일 토요일) 팀원분들과 같이 데이터 임베딩 해볼 예정이에요!
저는 DRF을 담당하게 되었어요 🤪
파이팅! 마감날이 26일 수요일이에요! 부지런히 해봅시다~!

어제 정했던 "만 개의 레시피" 데이터를 분석을 해보았어요
근데,, 저희는 타겟 고객이 "자취생, 1인 가구"였단 말이죠?

<만 개의 레시피 문제점>
1. 조리 과정이 대표적인 행위만 적혀있고 상세 과정은 없음
   → 예) 계란국 : 끓이기.
2. 밥 뿐만 아니라 디저트, 술안주, 김치 담그기 등 불필요한 카테고리가 많음
3. 신뢰성이 없음
    → 요리사가 써준 게 아니라 일반인들이 요리 난이도를 매김
4. 자취생"만" 타겟하여 만든 자료가 아님

이러한 문제들이 있어서 주제를 확 바꾸었어요
DB를 쉽게 찾을 수 있는 영화 쪽으로 방향을 틀었답니다.

 

 

그러고,
피드백 받으러 튜터님 방으로 찾아갔습니다.

저희는 괜찮은 아이디어인지를 확인받은 후, Okay 하시면 시작할 목적으로 피드백받았어요!
아이디어 괜찮다고 하시고, 이전보다 더 좋은 프로젝트가 될 것 같다고 해주셨어요 😆

 

 

오전 피드백을 받은 후 FlowChart를 재수정하였어요

근데,,
흐름만 보면 이해는 하긴 했지만, 여기서 쓰이는 용어나 기술은 하나도 모르겠더라고요
공부해야죠 어쩌겠어요 🤪

오후

오후까지 이어졌던 팀 회의였어요!

잦은 피드백을 받으며 서서히 간결화되고, 복잡한 기능들은 단순한 기능들을 뼈대로 삼아서 수정하였습니다!
아마 기획 단계의 최종 FlowChart가 되지 않을까 싶네요!

 

이렇게 정리를 해두고 2차 회의는 마무리되었어요 😋

 

화면을 공유하면서 의견을 나누었는데, 나눈 대화들은 무형적이라서 흩어져 버리잖아요 그래서 적기 시작했어요

 

대충 정리하다 보니까 이렇게 되더라고요 🤔

오후에는 플로우차트를 완성 후 피드백 받으러 갔습니다!

오후

 

팀원분들이랑 다같이 작성하여 완성한 FlowChart였어요
사실,, 저는 한 게 없었어요 🥺
아는 게 없다보니까 발언권을 가지게 되더라도 수그리게 되더라고요

그래도
제가 모르는 게 뭔지 알게 돼서 공부하면 될 것 같아요
한 번 포기하기 시작하면 놓아야 할 것들도 끊임없이 늘어나기 때문에, 팀원분들 귀찮게 굴려고요 🤣
그래도 팀원분들께서도 계속 확인해주시면서 챙겨주셔서 감사했어요 🥺 

 

저는 제 부족한 점을 알거든요

피드백을 다 받은 후에 기억에 잘 안 남아요,,
그래서 실시간 피드백을 받을 때 받아적으면서 마무리 분위기일 때 튜터님께 한 번 더 확인하는 시간을 가져요

비록,,
제가 모르는 단어들이 난무해서 질문해보진 못 했지만요,, 😭
나중에 따로 튜터님께 찾아가서, 제가 못 알아들었던 단어들 말씀드리고 필요한 개념인지 확인받은 후 공부 진행 할 거예요
(LangChain, FewShot, multi agent)

마무리

이렇게 1차 회의 및 피드백이 끝났구요

피드백을 들은 후에 찾아뒀던 "만 개의 레시피" 데이터를 내일 다시 분석해 보기로 했어요

아이디어 자체는 재미는 없지만 괜찮다고 하셨어요 😁

 

내일도 파이팅입니다.

 

팀원분들이랑 오랜 시간 가지면서 회의를 나눠서 너무 즐거웠어요

저도 얼른 개인 공부를 부지런히 해서 대화에 끼고 싶어요

 

🐾Recent posts