본문 바로가기

AI, 클라우드, 협업, 문서, 자동화16

간단한 RAG(Retrieval Augmented Generation) 기반 챗봇 서비스 아래의 Flask 애플리케이션 코드는 Qdrant 벡터 데이터베이스와 OpenAI API를 연동하여 간단한 RAG(Retrieval Augmented Generation) 기반 챗봇 서비스를 구현한 것입니다. 각 부분에 대한 상세 정리와 함께, 더 좋은 코드가 되기 위한 개선 사항 및 추가 코드를 정리합니다.1. 코드 전체 해설이 코드는 크게 세 가지 주요 구성 요소로 나뉩니다: Flask 웹 서버, Qdrant 벡터 데이터베이스 클라이언트, OpenAI API 클라이언트.1.1. 초기 설정 및 클라이언트 초기화from flask import Flask, request, jsonify # Flask 웹 프레임워크 관련 모듈from qdrant_client import QdrantClient # Qdran.. 2025. 7. 20.
벡터DB, Qdrant를 활용한 벡터 검색 워크플로우 정리 세 가지 Python 코드는 Qdrant 벡터 데이터베이스를 활용한 기본적인 벡터 검색 워크플로우를 보여줍니다. 각 코드가 어떤 역할을 하는지, 그리고 전체적인 흐름은 어떻게 되는지 상세히 정리합니다.전체 워크플로우 개요이 세 가지 코드는 다음과 같은 순서로 실행되어야 하며, 각기 다른 역할을 수행합니다.첫 번째 코드: Qdrant에 벡터를 저장할 **컬렉션(Collection)**을 생성합니다.두 번째 코드: OpenAI 임베딩 모델을 사용하여 텍스트를 벡터로 변환한 후, 이 벡터들을 생성된 컬렉션에 **삽입(Upsert)**합니다.세 번째 코드: 새로운 텍스트를 벡터로 변환한 후, 이 쿼리 벡터와 가장 유사한 벡터들을 컬렉션에서 **검색(Query)**합니다.이 과정은 RAG(Retrieval Aug.. 2025. 7. 20.
벡터DB, Qdrant 컬렉션 검색 코드 설명 Qdrant 컬렉션 검색을 위한, 파이썬 코드를 바탕으로 각 부분의 의미와 전체적인 동작 흐름을 상세히 설명합니다.1. 코드의 의미이 코드는 Qdrant 벡터 데이터베이스에 연결하여, 미리 정의된 test 컬렉션에서 특정 query_vector와 유사한 상위 2개의 포인트를 검색하고, 그 결과(ID, 벡터, 페이로드, 점수)를 출력하는 기능을 수행합니다.from qdrant_client import QdrantClient # Qdrant 서버와 통신하기 위한 클라이언트 라이브러리를 가져옵니다.from qdrant_client.models import Distance, VectorParams, PointStruct # Qdrant 모델 정의를 가져옵니다.# Distance: 벡터 간 거리 측정 방식 (예:.. 2025. 7. 20.
Qdrant 컬렉션에 포인트(Vector & Payload) 삽입 코드 설명 Python 코드는 Qdrant 컬렉션에 실제 데이터인 **포인트(Point)**를 삽입(Upsert)하는 예시입니다. 각 부분의 의미와 실행 방법, 그리고 올바른 결과를 상세히 설명합니다.1. 코드의 의미이 코드는 test라는 이름의 Qdrant 컬렉션에 두 개의 포인트(벡터와 페이로드)를 삽입하거나 업데이트합니다. upsert는 "Update"와 "Insert"의 합성어로, 해당 id를 가진 포인트가 이미 존재하면 업데이트하고, 없으면 새로 삽입합니다.from qdrant_client import QdrantClient # Qdrant 서버와 통신하기 위한 클라이언트 라이브러리를 가져옵니다.from qdrant_client.models import Distance, VectorParams, Point.. 2025. 7. 20.
Qdrant 벡터 데이터베이스에 새로운 컬렉션(Collection)을 생성하는 예시 아래 Python 코드는 Qdrant 벡터 데이터베이스에 새로운 컬렉션(Collection)을 생성하는 예시입니다. 각 부분의 의미와 실행 방법, 그리고 올바른 결과를 상세히 설명합니다.1. 코드의 의미이 코드는 Qdrant 클라이언트를 사용하여 test라는 이름의 새로운 컬렉션을 생성합니다. 이 컬렉션은 2차원(dimension) 벡터를 저장하며, 벡터 간의 유사도를 측정할 때 코사인 유사도(Cosine Distance) 방식을 사용하도록 설정됩니다.from qdrant_client import QdrantClient # Qdrant 서버와 통신하기 위한 클라이언트 라이브러리를 가져옵니다.from qdrant_client.models import Distance, VectorParams # Qdran.. 2025. 7. 20.
React 기본 사용법 React의 기본적인 동작 방식, React Router를 이용한 페이지 라우팅, 그리고 Redux Toolkit을 활용한 상태 관리 방법에 대해 상세히 설명합니다. 각 파일이 어떤 역할을 하는지 이해하시면 React 프로젝트의 구조와 흐름을 파악하는 데 도움이 될 것입니다.1. index.js 파일 : React 앱의 시작점index.js는 React 애플리케이션의 가장 첫 번째 진입점입니다. 웹 페이지의 HTML과 React 컴포넌트를 연결하고, 전역적으로 필요한 설정(라우터, 상태 관리 등)을 적용하는 역할을 합니다.import React from 'react'; // React 라이브러리를 가져옵니다. JSX 문법을 사용하기 위해 필수적입니다.import ReactDOM from 'react-do.. 2025. 7. 14.