목록2025/02 (5)
hmk run dev

LangChain과 Pinecone으로 구현하는 RAG 패턴 LangChain과 Pinecone을 사용하여 RAG 패턴을 구현하는 방법에 대해 알아보겠습니다. RAG는 대규모 언어 모델(LLM)의 응답을 더욱 정확하고 신뢰성 있게 만들어주는 핵심 패턴입니다.1. 데이터 준비 및 임베딩 단계 먼저 데이터를 벡터 형태로 변환하여 저장하는 과정이 필요합니다.이 단계에서는: OpenAI의 임베딩 모델을 초기화하여 텍스트를 벡터로 변환할 준비를 합니다 Pinecone 벡터 스토어를 설정하여 벡터화된 데이터를 저장할 공간을 마련합니다 # OpenAI의 임베딩 모델 초기화embeddings = OpenAIEmbeddings(openai_api_key=os.getenv("OPENAI_API_KEY"))# Pine..

Pod: 쿠버네티스에서 가장 작은 실행 단위쿠버네티스에서 Pod는 애플리케이션을 실행하는 가장 작은 단위입니다. 하지만 여기서 중요한 점은 Pod 하나에는 하나 이상의 컨테이너가 있을 수 있다는 것입니다. 마치 하나의 집 안에 여러 사람이 살 수 있는 것처럼, Pod 안에 여러 개의 컨테이너가 함께 살 수 있습니다.일상적인 예시로 이해하기생각해보세요, 집을 하나 짓는다고 했을 때, 이 집 안에 여러 명의 사람들이 함께 살 수 있습니다. 집을 짓는 것이 Pod이고, 그 안에서 함께 사는 사람들이 바로 컨테이너라고 할 수 있습니다. 집을 하나 짓는 데 있어 Pod는 여러 개의 컨테이너가 함께 묶여서 동작하는 공간인 셈이죠.Pod의 구조Pod는 컨테이너들의 집합입니다. 일반적으로 Pod에는 하나의 컨테이너만 ..

쿠버네티스 아키텍처: 마스터 노드와 워커 노드 관리 방식쿠버네티스(Kubernetes)는 애플리케이션을 자동으로 관리하고 조정하는 시스템입니다. 큰 기업에서 수백, 수천 대의 서버를 관리할 때, 사람 손으로 하나하나 모든 것을 조정하는 것은 매우 어려운 일이죠. 그래서 쿠버네티스가 등장하여, 여러 서버를 효율적으로 관리하고 애플리케이션을 원활하게 실행할 수 있도록 도와줍니다.여기서 중요한 역할을 하는 두 가지가 마스터 노드(Master Node)와 워커 노드(Worker Node)입니다. 이를 쉽게 이해할 수 있도록, 마치 회사의 부서와 비슷한 구조로 설명해 보겠습니다.마스터 노드(Master Node): 회사의 관리자마스터 노드는 쿠버네티스의 중앙 관리 시스템입니다. 마치 회사에서 모든 일을 결정하는 ..

컨테이너와 오케스트레이션: 쉽게 이해하기1. 컨테이너란 무엇인가?컨테이너를 도시락에 비유하면?컨테이너는 애플리케이션을 실행하는 가벼운 가상화 기술이다. 쉽게 말해 "애플리케이션을 실행할 수 있는 도시락" 같은 개념이다.도시락(컨테이너) 안에는 음식(애플리케이션)과 필수 도구(라이브러리, 종속성 등)가 함께 들어 있다.도시락을 어디서든 꺼내면 똑같은 환경에서 바로 먹을 수 있다.컨테이너도 마찬가지로, 어떤 서버에서 실행하든 동일한 환경을 유지한다.기존 방식과의 차이점구분전통적인 VM(가상 머신)컨테이너실행 속도무겁고 느림가볍고 빠름리소스 사용OS별로 많은 리소스 필요최소한의 리소스 사용이식성환경마다 설정이 다름어디서든 같은 환경 유지대표적인 컨테이너 기술Docker: 가장 많이 사용되는 컨테이너 플랫폼Po..

최근 대형 언어 모델(LLM, Large Language Model)의 발전으로 AI를 활용한 애플리케이션 개발이 활발해지고 있습니다. 하지만 단순히 OpenAI API를 호출하는 것만으로는 복잡한 애플리케이션을 만들기 어렵죠.LangChain은 이런 문제를 해결하기 위해 만들어진 프레임워크로, 언어 모델을 다양한 데이터와 연결하고, 에이전트를 통해 복잡한 작업을 수행할 수 있도록 도와줍니다. 이번 글에서는 LangChain의 주요 개념과 아키텍처, 그리고 Python 코드 예제를 소개하겠습니다. 1️⃣ LangChain이란?LangChain은 대형 언어 모델을 활용한 AI 애플리케이션을 쉽게 개발할 수 있도록 지원하는 프레임워크입니다.단순한 텍스트 생성뿐만 아니라 문서 검색, API 호출, 데이터 분..