안녕하십니까 여러분! 이번에는 16주차 회고로 돌아왔습니다!
이번 주차의 경우 3일 동안만 미니프로젝트를 진행하고 남은 2일은 쉬게 되었습니다. 그래서 아주 기분 좋게 마무리했던 기억이 있네요. 이번 미니프로젝트에서는 에이블 스쿨 QA 챗봇을 만드는 프로젝트였습니다.
전체적인 구조는 웹을 통해 QA 챗봇을 이용하는 프로젝트를 만드는 것이었는데, 2일 동안은 챗봇을 만들고 하루는 aws를 이용해 배포를 하는법, 다음주에 예정된 4일은 웹을 만드는 느낌의 일정이었습니다.
챗봇을 만드는 과정에서는 랭체인(LangChain)이라는 기술을 활용하여 사용자의 질문에 적절한 답변을 제공하는 기능을 구현했습니다.
참고로 gpt api 키는 에이블스쿨에서 지원해줬습니다~!
특정 질문을 넣었을 때 답변을 해주는 모델을 구축해보았습니다.
강사님이 주신 예시처럼 에이블 스쿨 관련 질문을 넣으면 답변하는 형식으로 만들었습니다.
사용 모델은 gpt-3.5-turbo를 사용하였고, gpt-4를 사용할 경우 결제해놓은 리소스가 금방 소진되어 실습을 못할 수 있으니 나중에 해보라는 강사님의 신신당부가 있었습니다.
먼저 Chroma라는 Vector DB를 이용해 그 안에 있는 내용을 LLM 모델이 학습하여 대답할 수 있도록 했습니다. 이를 통해 사용자가 입력한 질문에 대해 더욱 정확하고 관련성 높은 답변을 제공할 수 있었습니다.
VectorDB란 벡터 데이터베이스로, 텍스트, 이미지, 오디오 등과 같은 데이터의 특징을 벡터 형태로 변환하여 저장하고 검색하는 시스템입니다.
이러한 벡터 데이터베이스는 유사한 특징을 가진 데이터를 빠르게 검색할 수 있도록 도와주며, 특히 자연어 처리와 같은 분야에서 매우 유용하다고 합니다.
이를 통해 챗봇은 사용자의 질문에 대해 더 정확하고 관련성 높은 답변을 제공할 수 있게 됩니다.
Chroma는 고성능 벡터 데이터베이스로, 대규모 데이터를 빠르게 저장하고 검색하는 데 최적화되어 있습니다.
특히 텍스트, 이미지, 오디오 등과 같은 데이터의 특징을 벡터 형태로 변환하여 저장할 수 있습니다.
Chroma를 사용하면 유사한 특징을 가진 데이터를 빠르게 검색할 수 있어 자연어 처리, 추천 시스템 등 다양한 분야에서 활용될 수 있다고 합니다.
생각보다 랭체인을 이용하니까 코드가 어렵지 않고 효율적으로 작성할 수 있어서 조원들과 크롤링을 이용한 데이터 수집이나 다음 주에 있을 홈페이지를 꾸미는 것을 더 해보자라는 의견이 있었습니다. 또한, 어떻게 하면 더 챗봇이 대답을 제대로 할 수 있을까? 아니면 UI/UX적으로 어떻게 하면 사용자가 더 눈에 잘 들어오고 이용할 때 어려움이 없을까에 대한 고민을 많이 했던 것 같습니다.
AWS 관련해서는 저번 회고글과 크게 다를 것이 없어서 따로 이야기하지 않겠습니다.
7차 미니프로젝트조가 원래는 그대로 진행한다고 빅프로젝트 설명회에서 이야기했었는데, 7차 미프조 사람들과 어떤 식으로 빅프로젝트를 할 것인지 이야기를 나누었습니다.
그런데 저희 반에서 취업한 사람들이 꽤 있어서 바뀌지 않을까 생각했는데, 역시나 바뀌더라고요! 전국적으로도 저희 반과 같은 상황이 많지 않았을까 생각합니다.
결론적으로 7차 미니프로젝트조와 빅프로젝트조는 완전히 바뀌었습니다!