📌 오류 제목 파이썬 코드에서 async를 적용했지만 실제 서비스에서는 비동기 작업이 적용되지 않은 건 📍 발생 환경 OS: Ubuntu 22.04Python 3.10.12, langchain 0.3.12, FastAPI 0.115.6, uvicorn 0.34.0 💥 오류 내용 비즈니스 로직에 해당하는 파이썬 코드들을 모두 async 비동기 처리했으나,실제 서비스에서는 여러 창을 띄우고 실험했더니 적용되지 않은 현상을 발견비동기 처리가 되지않고 이전 작업을 모두 마쳐야 다음 작업이 실행되는 것으로 확인함때문에 사용자는 앞단의 처리가 모두 완료될 때까지 대기해야 하는 문제 사항 발생정확히 따지자면 오류는 아니고 컴퓨터에 대한 이해가 부족해서 발생한 문제 😓 🔍 문제 원인 분석 비즈니스 로직은 ..

한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다.(작년에 이어 올해도 서평단으로 선정되었습니다..!)도서 선택 이유회사에서 RAG(Retrieval Augmented Generation)를 밑바닥부터 개발했습니다. 약 3개월 정도의 기간동안 빠르게 기획하고 문서를 구축하고 back에서 구동시킬 RAG 파이프라인을 만들었는데요. 일단 알고 있는 RAG 지식을 총동원하여 만들어 놓긴 했지만, 더 발전시키기 위해서는 LLM을 잘 이해하고 써야겠다는 생각이 들었습니다. 한번 LLM을 활용한 서비스를 만들고 나니, 다른 활용 방안은 또 뭐가 있을지, 실무에서 생성AI가 필요한 구석이 어디가 있을지 고민하기도 했구요. 이 책이 그런 고민에 도움이 될 것으로 생각해서 올해 서평단 첫 도서로 선정했..

한빛미디어 ‘나는리뷰어다2024’ 서평단으로서 선정한 여섯 번째 도서는 입니다. 저는 AI 업무를 하면서 4년 넘게 파이썬을 사용하고 있습니다. 주로 데이터 사이언스, 분석을 위한 도구로서 사용해왔는데요. 최근에는 AI 서비스를 만들면서 보다 파이썬을 잘 알아야겠다는 필요성을 느꼈습니다. 백엔드 언어로 사용하기 위한 비동기라던지, 클래스를 잘 만들고 다룰 수 있는 방법 같은 것 말이죠. 마침 나는 리뷰어다 12월 이벤트를 통해 파이썬의 다양한 기능들을 소개하는 이 도서를 지원받을 수 있었습니다. 파이썬으로 데이터 사이언스를 위해 코딩을 하는 일을 넘어서, 다른 컴퓨터 언어처럼 여러 기능 구현을 위해 알면 좋을 개념들, 파이썬 신규 버전에서 추가된 기능들 등등을 소개하고 있었고, 업무에 큰 도움이 될 ..

들어가며 RAG 시스템을 사용하며 그 구조에 대해 알고는 있었습니다. 심지어 이 시스템의 성능을 높이려면 어떤 요소를 추가하며 고도화해야하는지도 구상했습니다. 다만 제가 직접 밑단에서부터 구축해본 경험은 없더라구요. 만들어진 시스템을 통해 데이터를 구축하고, API를 사용해 검색과 생성 결과를 얻어본 적은 있지만 파이썬을 사용해 좀 더 기본적인 바탕을 익혀보고자 강의를 수강하였습니다. https://www.inflearn.com/course/%EC%9E%85%EB%AC%B8%EC%9E%90%EB%A5%BC%EC%9C%84%ED%95%9C-%EB%9E%AD%EC%B2%B4%EC%9D%B8-%EA%B8%B0%EC%B4%88/dashboard [지금 무료]입문자를 위한 LangChain 기초 강의 | 판다스 ..

들어가며 저는 책을 읽고나면 인상적이어서 기억하고 싶은 부분을 남겨놓곤 합니다. 그런 부분들은 단편적으로 기록하기도 하지만, 잘 모으고 연결해서 하나의 글로 완성하고 싶은 바람도 있습니다. 평론가들이 시나 소설을 읽고 남긴 평론들을 보면 어떤 주제와 의견을 갖고 그 작품의 내용을 잘 편집해놨더라고요. 평론급으로 독후감을 쓰겠다는 건 아니지만.. 그래도 내가 인상적이었던 부분들과 말하고 싶은 내용을 자연스럽게 연결하는 글의 초안을 작성하거나 제안해주면 좋겠다는 마음으로 독후감 챗봇 만들기를 해보았습니다. HuggingChat Assistants 소개 챗봇 만들기를 위해 사용한 플랫폼은 허깅페이스의 HuggingChat입니다. 여기서는 Assistants라고 하여 사용자가 직접 챗봇을 만들 수 있는 서비..

들어가며 RAG 프로세스를 구상하던 중이었습니다. 사용자가 작성한 질문에서 A'라고 물어봤는데, 이거를 A로 단어를 바꾸어서 검색할 수 없나? A는 미리 정해놓은 범위 내에서 찾게 하고 싶은데 어떻게 바꿀 수 있을까..? 문제 상황은, 서비스 사용자들이 A를 A' 또는 A''라고 쓰기도 하고, AB라고 작성하기도 한다는 것입니다. 실제로 검색 대상인 문서에는 A라고 명확하게 정의된 데 반해, 사용자들은 각자 편하게 부르고 싶은 대로 작성하기도 하고 오타로 인해 잘못 작성하기도 한다는 것이죠. 사용자마다 가지각색으로 작성된 단어들을 표준화된 단어로 변경해주기 위해서는 사전 검색이 필요했습니다. 다만 사용자들이 어떤 식으로 작성할지를 구상해서 미리 모아두는 것이 실제로는 어렵죠. 때문에 어떤 단어가 ..

한빛미디어 ‘나는리뷰어다2024’ 서평단으로서 선정한 다섯 번째 도서는 입니다. 도서 선정 이유 직장인에게 자주 언급되는 밸런스 게임이 있습니다. 바로 "일을 너무 잘하지만 4가지 없는 팀원 vs 일 못하지만 정말 착한 팀원" 입니다. 옛날에는 "당연히 회사에 일하러 왔는데 성격 좀 별로여도 일 잘하는 게 중요하지!!" 라고 생각했습니다. 요즘에는 생각이 조금 바뀌어서, 조직 생활에서 성격이 좋지 않아 커뮤니케이션이 어렵다면 그또한 실력 부족으로 취급해야 하는 것이 아닐까? 라고 생각합니다. 두 경우 모두 별로지만.. 최근 소통할 일이 많아지다 보니, 4가지 없는 것은 단체 생활에서는 일 못하는 것이나 마찬가지라는 생각도 들더라고요. 일을 잘 하니 당장 눈 앞에서 뭔가 만들어지긴 하겠지만, 장기적인 관..

들어가며 최근 RAG PoC를 수행하며.. 질문에 대해 직접 평가도 수행해보고 있습니다. 자동화를 시키지 않고 직접 질문을 이해하고, 검색 결과와 생성 결과를 확인하며 평가했는데요. 평가를 하며 얻은 생각들을 정리해보고자 포스트를 작성하였습니다. 자동화를 하지 않은 이유는 사람이 직접 확인하고 단계마다 평가해야, 어떤 지점에서 오류가 발생하는지 구체적으로 확인하고 분석할 수 있기 때문이었습니다. 평가를 자동화한다면 어떻게 해야하는지.. 모호한 부분도 있었구요. g-eval을 쓰라고들 하지만,, 분석가라면 응당 직접 평가도 수행해야 개선점을 찾을 수 있지 않을까?? 하여 평가도 나름 진심으로 임했네요. (물론 문제 수가 너무 많다면 LLM에게 시켜야겠지만요ㅠㅠ) 평가 항목과 내용 수작업으로 하는 성능 평가..

한빛미디어 ‘나는리뷰어다2024’ 서평단으로서 선정한 네 번째 도서는 입니다. 이번에도 종이책 무게를 느끼지 않으면서 어디서든 가볍게 보기 위해 전자책으로 신청했습니다. 지난번과는 다르게 목차가 잘 나와있어서 좋았습니다. 그리고 전자책이라 그런지 이미지의 화질이 더 선명한 느낌..? 종이책 버전을 직접 보지 않아서 비교는 어렵지만.. 이미지가 많은 이번 도서는 전자책으로 보는 것이 더 유리하고, 자신의 PPT와 전자책을 동시에 띄워놓고 내용을 확인하며 적용하기에 적합하겠다고 생각했습니다. 도서 선정 이유직장인이 된지 4년.. 여전히 PPT가 어려워서 선정했습니다..^^ 개요에는 어떤 내용을, 실험 과정은 어떤 프로세스를 어떻게 보여줘야 되는지와 같이 어느 정도 유형화된 장표들은 갖고 있지만 흰 배경만 ..

들어가며 최근 RAG 성능을 개선해야 하는 실험을 진행했습니다. 도메인 지식과 무관하게 빠르게 적용할 수 있는 기술을 알아보다 rerank를 알게 되었는데요. rerank는 말그대로 검색 결과를 다시(re-) 재정렬하는 사상을 갖고 있습니다. 질문과 답변 쌍을 갖고 있고 rerank를 위한 모델만 있으면 쉽고 빠르게 적용할 수 있어 바로 채택해 실험해보았습니다. 본 포스트에서는 rerank에 대해 간단하게 알아보겠습니다! [사전지식] LLM, RAG, Retrieval, Rank Rerank 도입 배경 사용자가 문장을 작성해 검색을 한다고 할 때 이 문장을 "질의(query)"라고 합니다. 검색 프로세스는 질의와 사전에 등록된 데이터를 비교하여 가장 유사한 데이터를 제공합니다. 질의와 데이터(문서, ..