| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- CI/CD
- rag
- frontend
- monorepo
- heapq
- build
- typescript
- Two Pointer
- ansible
- OpenAI
- javascript
- AI
- dfs
- DP
- BFS
- React
- 스택/큐
- 파이썬
- 알고리즘
- modbus
- javascirpt
- turbo
- jenkins
- 프로그래머스
- docker
- python
- queue
- LLM
- Algorithm
- VectoreStore
- Today
- Total
목록LLM (10)
DM Log
서론PDF Q&A 서비스의 백엔드 핵심 구조를 구현LangChain을 이용해 RAG(Retrieval-Augmented Generation) 을 구성하고, IDE용 MCP 서버와 웹용 FastAPI 서버 두 가지 형태로 동시에 제공즉, IDE(CURSOR, Claude 등)에서도, React 프론트엔드에서도 동일한 모델과 벡터스토어를 사용하는 통합 AI 백엔드 구조 설계벡엔드 디렉토리 구조backend/└── pdf_server/ ├── mcp_server.py # MCP 프로토콜 서버 (IDE용) ├── api_server.py # FastAPI REST 서버 (웹용) └── app.py # 두 서버 동시 실행 (thre..
환경 설정1. 사용 버전Node.js: v22.17.1Python: 3.13.7Python은 가상환경(venv)을 사용해 프로젝트별 독립 환경을 구성할 예정이고, Node.js는 Vite + React 기반 프론트엔드 빌드2. 프로젝트 구조 설계모노레포(Monorepo) 방식을 채택하여 AI 모듈을 독립된 앱으로 구성하고, 공통 패키지를 공유하여 유지보수성을 높일 예정ai-projects/ ├─ frontend/ # 프론트엔드 (Turborepo 관리) │ ├─ apps/ # 개별 프론트엔드 프로젝트 │ │ ├─ pdf/ # PDF 전용 프론트 (/pdf) │ │ └─ ... │ ├─ packages/ ..
다중 PDF에서 답변 받기 여러 PDF를 동시에 다루는 RAG 구조를 생성, 질문과 관련 잇는 파일을 우선순위로 정하여 답변하는 방법 실[구현 전략]1. 여러 PDF를 로딩 → 분할 → 임베딩 → Chroma에 저장2. 각 문서에 source 메타데이터(파일명)을 붙임3. 사용자 질문 → 관련 문서 검색 → 파일별 점수 집계4. 관련성 높은 파일 우선순위 반환5. 선택된 파일만을 기반으로 QA 실행다중 PDF RAG 서버 구축[코드 예시]1. 여러 PDF 로드 및 벡터 스토어 생성import osfrom langchain_community.vectorstores import Chromafrom langchain_community.document_loaders import PyPDFLoaderfrom l..
PDF 문서에서 답변 받기 PDF 문서를 기반으로 질문에 답변하는 RAG 서버 구축사내 문서 / 연구 자료 / 메뉴얼 같은 PDF 파일을 AI 질의 응답 시스템에 활용 가능환경 준비1. 필수 라이브러리 설치pip install langchain langchain-community langchain-openai chromadb pypdf mcp 2. OpeanAI API Key 설정export OPENAI_API_KEY="your_api_key_here" # macOS/Linuxsetx OPENAI_API_KEY "your_api_key_here" # Windows PowerShell 또는 코드 상단에import osos.environ["OPENAI_API_KEY"] = "your_api_key..
AI 도구 - IDE 연결 표준 AI 모델을 활용 시 단순 프롬프트 입력 → 답변 출력으로 끝나는 경우는 많지 않음IDE(Coding 환경), 지식 베이스, 외부 API 등과 연결하여 실질적 업무 도구 활용MCP는 AI 모델과 외부 애플리케이션(IDE, 도구, 데이터 소스)을 표준화된 방식으로 연결해 주는 프로토콜MCP 란?Model Context Protocol의 약자AI모델이 외부 도구(tool)를 호출하거나, 데이터 소스에 접근할 수 있도록 해주는 규격대표 지원 사례:Cursor IDE → MCP 서버를 연결해 맞춤형 개발 도구 사용Claude → MCP 도구를 통해 특정 데이터베이스 / 문서 검색 가능👉 MCP는 LLM + 외부 세계 연결을 위한 표준 인터페이스 FastMCP 소개MCP 서버를 ..
벡터DB를 활용한 문서 검색 실습Chroma를 이용해 문서를 벡터화하고, 검색하는 실습 진행Chroma는 설치가 간편하고 LangChain에서 기본적으로 지원하기 때문에, RAG 실습환경 세팅 1. 필수 라이브러리 설치pip install langchain langchain-community langchain-openai chromadb 2. OpenAI API Key 설정export OPENAI_API_KEY="your_api_key_here" # macOS/Linuxsetx OPENAI_API_KEY "your_api_key_here" # Windows PowerShell 또는 코드 상단import osos.environ["OPENAI_API_KEY"] = "your_api_key_her..
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)사용자 질문..
