본문 바로가기

GraphRAG: RAG에 지식그래프 더하기 (논문 Review - From Local to Global: A GraphRAG Approach 최근(이라기에는 꽤 오래 전부터) RAG라는 용어가 빈번하게 들려오기 시작했는데, 알고 보니 업무에서 진행하고 있던 지식그래프 검색과 어느 정도 연관되어 있었다 👀 LLM이 더 대답을 잘 하기 위하여 문서로부터 정보를 검색하는 RAG에서, 더 나아가 지식그래프와 결합하여 더욱 정확한 정보를 얻는 GraphRAG가 화두되고 있다. Microsoft에서 올해 초(2024년 4월) 이와 연관된 논문 및 python 패키지를 공개하여 이에 대해 살펴보고자 한다. RAG(Retrieval Augmented Generation)란?LLM을 사용하다 보면 종종 잘못된 정보를 진실처럼 답변하는 환각 현상을 경험해봤을 것이다. 이러한 hallucination 문제를 해결하고자 제기된 RAG는 외부 지식 출처로부터 정보를..
[글또] 10기를 시작하며 (2024년 미리 돌아보기 + 마무리 준비) 글또 마지막 기수 10기가 시작되었다!👏이번에는 기술 중심 위주로 글을 써보려고 해서 시작 다짐글을 패스하려고 했으나..무작정 글들을 쓰려고 보니 중심이 잘 잡히지 않는다는 생각이 들어 작성하게 되었다. (역시 시작 매듭은 중요하다..!)글또가 시작된 10월을 기점으로 미리 2024년을 돌아보고, 남은 한 해를 어떻게 잘 보낼 수 있을지 action items를 정리해보고자 한다.2024년 (미리) 돌아보기사실 이번 해는 고민과 어려운 점들이 많아지는, 인생 곡선 기울기가 급격히 하강하는 성장통을 겪는 시기였다.굵직하게는 아래 3가지로 구분지어 볼 수 있을 것 같다.휴직작년 말, 스스로 커리어 방향과 미래의 삶에 대한 재정비를 해보고자 1-4월에 휴직을 결심하게 되었다.(휴직 관련 글: https://..
[Python] 파이썬 웹 프레임워크 입맛대로 골라보기 (Django, Flask, FastAPI 비교) 업무를 진행하다보면 좀 더 효율적으로 빠르게 작업하거나 결과를 확인할 수 있는 툴을 만들고자 하는 니즈가 자주 있었다. 그 덕분에 백엔드 개발자가 아님에도 불구하고 웹 프레임워크를 경험할 일이 꽤나 빈번하게 발생했다. 주로 demo를 만들어야 할 때는 Django를, 간단한 기능을 만들 때는 Flask를 사용하게 되었는데, 최근 FastAPI도 많이 사용되는 것을 보고 한번 써봤더니 가장 쉽게 구축할 수 있었다. 이왕 이렇게 다양하게 쓰게 된다면, 각각 어떤 장단점이 있는건지 제대로 알고 필요에 따라 적절하게 선택해서 사용해 봐야겠다는 생각이 들었다. 따라서 이번 글에서는 아래 순서대로 Python 웹 프레임워크들에 대해 살펴보고자 한다. (1) 대표 프레임워크(Django, Flask, FastAPI)..
[udemy - Apache Spark와 Python으로 빅데이터 다루기] Spark란? 해당 글은 글또 커뮤니티를 통해 제공 받은 udemy 강의 를 기반으로 작성되었습니다. 데이터 엔지니어라면 한번쯤은 들어보고 다뤄 봤을 기술인 Spark 💫 하지만 정작 Spark에 대한 정의를 설명해보라고 하면 익숙한 만큼 표현하기 어렵게 느껴진다. 이번 글에서는 Spark란 무엇인지, 어떤 식으로 구성되어 있는지 기초적인 부분을 다뤄보고자 한다. Spark란 무엇인가? Spark의 공식 이름은 Apache Spark로, 아파치 소프트웨어 재단에서 운영하고 있다. 공식 사이트(https://spark.apache.org)에 들어가 보면 아래와 같이 Spark를 정의하고 있다. Apache Spark™ is a multi-language engine for executing data engineering..
[CPython 파헤치기] 사실 Python은 C로 구성되어 있다 - CPython 구성 요소 살펴보기 해당 글은 도서 CPython 파헤치기 1-4장을 기반으로 작성되었습니다. Python은 아래 2023년 stack overflow survey의 결과에서도 보여주고 있듯이 많은 개발자들에게 사랑받고 있는 언어 중 하나이다. 실제로 업무에서나 다른 개발 작업을 할 때 내가 가장 주 언어로 사용하고 있는 것이 Python인데, 정작 이렇게 많이 사용하고 있으면서 내부 구조를 어떻게 구성되어 있는지 알지 못해 매번 궁금했었다. 그래서 이번 글에서는 CPython 파헤치기 관련 첫번째 글로, C로 구성되어 있는 Python의 전반적인 내부 구조와 문법에 대해 살펴보고자 한다. C로 구성되어 있는 Python 우리가 일반적으로 이용하고 있는, 공식 사이트 python.org에서 다운로드 받는 python은 C로..
[Review] 자료구조/알고리즘 코드트리로 이겨내기 - 코드트리 1달 체험기 이번 글에서는 약 1달 동안 코딩테스트 학습 플랫폼 '코드트리'를 이용해본 후기를 담아보고자 한다. 매번 기본기가 부족하다는 생각에 CS 기초 지식과 함께 알고리즘 공부를 하고 싶었는데, 백준이나 leetcode로 문제를 풀기에는 너무 시험을 준비하는 것 같기도 하고, 개념은 익히지 않은 채 실전에 돌입하는 느낌이었다. 그렇다고 개념을 위해 강의를 듣기만 한다면 직접 다뤄보지 않게 되면서 쉽게 체득되지 않을 것 같았다. 어떻게 알고리즘 공부를 하면 좋을지 고민하던 찰나에 글또를 통해 좋은 기회를 제공 받아 코드트리라는 플랫폼을 체험해볼 수 있게 되었다. 코드트리란? 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표..
[회고] 한걸음 쉬어가기 - 휴직을 결심하다 벌써 일을 잠깐 쉬기 시작한 지도 한달이 거의 다 되어간다. 이전부터 쉬는 것과 관련해서 꼭 한번 글을 써야겠다고 생각했지만, 지금까지 중에 가장 많이 망설여지고 고민이 많이 되었던 글이다. 이런 얘기를 공개적으로 쓸 필요가 있을까, 너무 나의 개인적인 이야기가 들어가는 것은 아닐까 등등.. 하지만 정말 소중하게 잡은 기회이기도 했고, 지금이 아니면 남길 수 없는 이야기일 수 있겠다는 생각이 들었다. 그리고 나중에라도 비슷한 고민을 하는 한 분에게라도 이 글로 도움을 드릴 수 있거나 영감을 얻게 해드릴 수 있지 않을까 하는 생각에 결국 이렇게 마음을 다잡고 글을 쓰게 되었다. 처음 쉬는 것을 결정하고 주변 사람들에게 이야기했을 때, “왜? 뭐 때문에 쉬려고? 쉬면서는 뭐하고 지내게?” 라는 질문을 가장 ..
[OSSCA] python-mysql-replication - 오픈소스는 어떻게 테스트를 진행하고 있을까? 개발을 하다보면 기능 구현에 집중하느라 정작 테스트 확인은 간과하게 되는 경우가 많았다. 이 정도면 괜찮겠지..! 하고 넘기면 며칠 뒤의 나에게 고통을 선사하게 되는 악순환을 겪게 되었다. 특히 오픈소스는 누구나 기여할 수 있다는 부분으로 인해 테스트가 더 중요하게 여겨질 것이라고 생각이 들었다. 그래서 이번 글에서는 python-mysql-replication 오픈소스에서 어떻게 테스트를 구현했는지 살펴보고자 한다. 또한 2023 오픈소스 컨트리뷰션을 통해 기존 테스트 구현 방식을 직접 개선한 부분에 대해서도 담아볼 예정이다. 지난 글 다시 보기 python-mysql-replication - 개념 이해하기 python-mysql-replication - RandEvent 구현하기 python-mysq..