일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- InfluxDB
- Algorithm
- frontend
- 스택/큐
- Stack
- 파이썬
- dfs
- 코딩테스트
- 알고리즘
- rag
- React
- OpenAI
- retriever
- javascript
- 프로그래머스
- MCP
- LLM
- heapq
- VectoreStore
- typescript
- 완전탐색
- python
- modbus
- queue
- javascirpt
- DP
- chroma
- AI
- Two Pointer
- Today
- Total
목록2025/09/07 (4)
DM Log
GPT의 한계 보완하는 방법GPT 같은 LLM은 놀라운 언어 능력을 가지고 있음, 하지만 치명적인 한계 존재최신 정보에 대한 업데이트 (학습 데이터 시점 제한)문서 전체를 한 번에 처리가 어려움 (컨텍스트 윈도우 제한)잘못된 정보 (환각, hallucinataion)를 생성하기도 함👉 한계를 극복하기 위해 등장한 방식이 검색 증강 생성 (RAG, Retrieval-Augmented Generation)RAG란?[RAG]Retrieval(검색) + Generation(생성)질문을 임베딩으로 변환벡터 DB에서 관련 문서 검색검색 문서를 프롬프트에 삽입LLM이 문서 기반 답변 생성RAG는 외부 지식 검색 결과를 LLM 입력에 주입하여 신뢰성 있는 답변을 생성하는 구조[기본 구조]사용자 질문 → [임베딩 변환..
LanChain 필요성LLM은 강력하지만, 한계 존재긴 문서 처리의 어려움외부 데이터베이스 / 검색엔진과 연결 불가능프롬프트 직접 설계 필요복잡한 워크플로 (검색 → 요약 → 답변 등)을 구현하기 번거러움👉 한계를 해결하고 LLM + 외부 데이터 + 다양한 기능을 연결하는 것이 LangChainLangChain 핵심 아이디어단순 LLM 호출을 넘어, 모듈화된 컴포넌트를 연결해 AI 애플리케이션을 빠르게 구축하도록 설계[핵심 아이디어]Chain: LLM과 여러 모듈을 연결한 파이프라인Agent: 도구(tool)를 선택 실행 가능하도록 하는 지능형 에이전트Memory: 대화나 상태를 저장하여 문맥 유지[주요 컴포넌트] LangChain의 핵심 구성 요소1. Document LoaderPDF, TXT, 웹페..
검색 시스템의 진화기존검색 시스템은 단어 일치에 의존LLM 시대에서 검색 시스템은 의미 기반 검색을 가능하게 하는 벡터 데이터베이스 기술 등장전통 DB vs 벡터 DB[전통 DB]키워드 기반 인덱싱 (역섹인, B-트리 등)정확히 같은 단어를 찾아서 검색SQL 기반 쿼리[벡터 DB]텍스트, 이미지, 오디오 등 비정형 데이터를 벡터(숫자 좌표)로 저장질의(query)도 벡터화 → 가장 가까운 벡터를 검색유사한 의미를 가진 데이터 검색 기능 👉 즉, 벡터 DB는 검색 키워드 ≠ 단순 문자열 → 검색 키워드 = 벡터(의미 표현) 벡터 DB[벡터 DB 동작 원리)문서 임베딩 생성 (예: OpenAI text-embedding-3-small)벡터 DB에 저장 (텍스트 + 임베딩 + metadata)사용자 질문..
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr[문제 간단 요약]꼭대기에서 시작해 바로 아래 왼쪽/오른쪽으로만 이동지나간 숫자의 합이 최대가 되는 경로의 합을 반환[문제 해결 방안]동적 프로그래밍 적용아래 행에서 위로 올라가며 각 칸에 만들 수 있는 최대 합을 누적바텀업 방식 사용 시 전체 원소를 한 번씩만 갱신[문제 해결 코드 - python]def solution(triangle): answer = 0 dp = [] for i in range(len(triangle)..