본문 바로가기

랭체인

랭체인 | 빅뱅이론 쉘든 캐릭터 페르소나를 가진 챗봇 만들기 월요일에 각 팀에서 만든 QA엔진과 챗봇을 발표하는 시간이 있었다. 우리 팀은 QA 엔진을 만들었는데, 다른 팀 발표를 보니 챗봇 만드는 것도 너무 재밌어보였다! 나도 한번 해봐야지 하고 어제 하루종일 붙잡고 있었다. 내가 좋아했던 미드 빅뱅이론에 쉘든이라는 캐릭터를 가지고 챗봇을 만들어 보는 중.. 아직 확실하게 완성된 건 아닌데 일단 물어보면 그럴듯하게 답변이 나오는 것 같아서 깃허브에 ipynb 파일 그대로 냅다 올려놨다. 정리는 아직 못했다.ㅠ 사실 챗 히스토리 부분?이 아직 잘 이해가 안가서 정리가 안됐기도하고. 빅뱅이론이 워낙 인기있었던 미국 드라마라 전체 스크립트를 쉽게 찾을 수 있었다. https://bigbangtrans.wordpress.com/ Big Bang Theory Transc.. 더보기
Github에 소스코드 올리기 | api-key는 환경변수로 설정 혼자 실습할 때에는 API key를 직접 코드 안에 넣는 방식으로 했는데, 깃허브에 올리거나 외부에 공개할 때에는 API 키를 노출하면 안되기 때문에 환경변수에 저장시키는 방식으로 코드를 바꿨다. 그리고 Openai 버전으로 바꿔서 깃허브에 올려봤는데, 자질구레한 실수들이 있어서 기록 1) llm.py 안에 api key를 넣었는데 OPENAI_API_KEY 를 계속 OPEN_API_KEY로 잘못 써서 인식을 못해서 계속 오류남. 이걸 모르고 계속 헛짓거리를.. ^^ from langchain_openai import ChatOpenAIimport getpassimport osdef get_api_key(): if "OPENAI_API_KEY" not in os.environ: api_.. 더보기
8/12 QA Engine 개발 Day2 | LangChain을 이용한 App 개발 PJT 오늘의 프로젝트 기록각자 어느 부분을 맡을 것인지 얘기했다. 나는 벡터 스토어 부분을 맡기로 했고, 그 부분을 포함해서 랭체인을 다시 공부하면서 코드를 연습했다. 첨부터 끝까지 한번 쭉 짜보긴 했는데 어째 성능이 좀 애매..? 처음이니까 다 그런거지!  목표: 올림픽 스포츠 규정에 관한 PDF를 참조하여 질문에 답변하는 QA 엔진 개발 RAG QA엔진을 만드는 과정은 대략적으로 이렇다.1. 데이터 로드 : 데이터베이스가 될 것2. 분할 : 데이터베이스를 청킹청킹 잘라준다.3. 임베딩과 벡터스토어에 저장 : 숫자로 바꿔서 저장해준다. 4. 리트리버 만들기 : 질문과 연관된 정보를 찾아올 아이5. 프롬프트 만들기 : 사용자의 질문과 DB에서 찾은 정보를 조합해서 프롬프트로! 6. 제너레이터 : 실제로 말을 .. 더보기