📌 참고사항conda 환경으로 작성되었습니다.BAAI/bge-m3 모델 사용1. 환경설정conda create -n searchEngine python=3.10 -yconda activate searchEngineconda install pytorch torchvision torchaudio cpuonly -c pytorchpip install sentence-transformers==2.7.0pip install transformers==4.41.2pip install faiss-cpupip install pandas numpypip install fastapi uvicorn 2. embedding.pyfrom sentence_transformers import SentenceTransformermo..
1. 검색엔진 흐름도DB : 텍스트 파일, CSV, SQLite 등인덱스 : 검색을 빠르게 하기 위한 구조검색 API : 입력 쿼리를 받아서 문서 조회 및 랭킹 구현결과 반환 : 문서나 데이터로 출력 2. 프로젝트 구조 설계 3. 사용 기술단계내용기술1DB에서 문서 불러오기Python, SQLite/CSV2임베딩 생성BAAI/bge-m3 모델 사용하여 단어끼리 유사한 벡터로 변환시키도록 함3벡터 유사도 검색FAISS4API 서버FastAPI5벡터 데이터베이스faiss.index6실제 정보metadata.json
1. 행렬미분스칼라, 벡터, 행렬에 대한 미분을 포함하며 그레디언트 행렬 또는 야코비안 행렬로 표현됨머신러닝에서는 선형 회귀, 로지스틱 회귀, 신경망의 역전파등의 활용2. 경사 하강법에 활용import torch# 데이터 정의 (입력 X, 정답 y)# 입력 데이터X = torch.tensor([[1.0], [2.0], [3.0]], requires_grad=False)# 실제 값 (y = 2x)y = torch.tensor([[2.0], [4.0], [6.0]], requires_grad=False)# 가중치 초기화 (학습할 값)w = torch.tensor([[1.0]], requires_grad=True) # 초기값 w = 1.0# 학습률 설정lr = 0.1 for epoch in range(10..
1. 선형대수머신러닝 모델은 데이터를 숫자로 표현하는데 보통 벡터(vector) 와 행렬(matrix) 로 표현할때 선형대수를 사용 ✅ 개념스칼라 - 0차원 텐서 ([2], [3])벡터 - 1차원 텐서 ([2,3])행렬(매트릭스) - 2차원 텐서 ([[2,3],[4,5]])텐서 - n차원 배열로 구성된 데이터노름(norm) - 벡터나 행렬의 크기를 측정하는 방법📌 norm대표적으로 L1노름, L2노름, 무한 노름이 있으며 L1노름은 벡터의 각 원소의 절댓값을 모두 더한 값으로 희소성을 강조하는 데 사용돼서 Lasso 회귀 같은 모델에서 많이 활용됨import numpy as npx = np.array([3, -4, 2])L1_norm = np.linalg.norm(x, ord=1) # L1 노름 계산p..
1. Pandas1) 데이터 조작, 정제, 분석, 시각화 등을 위한 다양한 기능을 제공, 데이터를 전처리하고 탐색하는 데 많이 사용2) 시리즈(Series)와 데이터프레임(DataFrame)이라는 자료형을 이용하여 데이터를 처리📌 Series, DataFrameSeries : 1차원 배열과 같은 구조, 인덱스(index)와 값(value)으로 구성됨 DataFrame : 2차원 테이블 형태의 구조, 여러 개의 Series가 모여서 만들어짐 ✅ Pandas 생성import pandas as pd# 생성s = pd.Series([10, 20, 30, 40, 50], index=["A", "B", "C", "D", "E"])"""A 10B 20C 30D 40E 50dtype: in..
1. Numpy파이썬에서 과학적 계산을 위한 기본 패키지로, 다차원 배열과 행렬을 다루는 데 특화됨📌 Numpy 정리1. 다차원 배열(ndarray) 지원 : 리스트보다 빠르고 효율적인 연산 가능 2. 벡터 연산 및 브로드캐스팅 지원 : 반복문 없이도 배열 단위 연산 가능 3. 선형대수 연산 기능 제공 : 행렬 곱셈, 역행렬, 고유값 분해 등 4. 통계 및 수학 연산 지원 : 평균, 표준편차, 합계 등의 빠른 계산 가능5. np.ndarray : NumPy에서 제공하는 다차원 배열 객체 ✅ Numpy 함수import numpy as np// 배열 생성np.array([1, 2, 3])// 범위 내 정수 배열 생성np.arange(2) # [0, 1, 2]np.arange(3, 5) # [3, 4]np..