본문 바로가기

개발30

LLM 채팅 데이터 저장을 위한 DB 리서치 챗봇의 데이터를 저장하는데 있어서 필요한 일반적인 RDB가 아닌 DB인 NoSQL DB들이 무엇이 있나 찾아보았다. 단순히 LLM이 아닌 실시간 채팅 서비스의 경우 어떻게 처리하는지 참조가 될까 싶어서 몇가지를 추가했다. WebSocket이나 유저 간의 실시간 채팅이 핵심인듯하다. RDBMS에서는 ACID를, NoSQL에서는 CAP를 알아두면 좋을것 같다. 리서치를 해보니 Redis + MongoDB 혹은 Redis과 RDB의 조합이 적절한것 같다. NoSQL DB 채팅 영구저장 - RDB vs NoSQL 블로그: 링크 IBM NoSQL 데이터베이스란 무엇인가요?: 링크 Google Cloud NoSQL 데이터베이스란 무엇인가요?: 링크 MongoDB NoSQL이란 무엇인가요?: 링크 OKKY RD.. 2025. 5. 29.
Anaconda로 이해해보는 Docker 여러가지 Docker의 설명을 봐도 큰 개념만 어렴풋이 다가오지 명확하게 이해가 되지 않아서 ChatGPT한테 Anaconda랑 비교해 달라고 요청해봤다. Anaconda는 가상환경으로 독립된 혹은 격리된 파이썬 패키지들의 모음이라 이미 이해하고 있기 때문이다. ChatGPT의 답변은 아래와 같다. ChatGPT의 답변 Docker와 Anaconda는 모두 개발 환경을 격리하고 관리하는 도구지만, 용도와 범위, 철학이 다릅니다. 아래에서 비교해 설명해드릴게요.🐳 Docker vs 🐍 Anaconda항목 Docker Anaconda목적시스템 전체 수준의 컨테이너 기반 환경 격리Python/R 기반의 패키지 및 가상 환경 관리격리 수준OS 수준의 완전한 격리 (컨테이너)Python/R 가상 환경 수.. 2025. 5. 27.
LLM 기반 추천 시스템 백엔드 - LLM 추천 파트 추천에 대한 기능 중에서는 특정 유저에 대한 추천의 생성과 등록된 추천을 불러는 것의 두 가지 기능이 있다. 여기서는 추천의 생성 및 DB 등록만 알아본다. POST로 추천 생성 @app.post('/api/recommend')async def create_recommend(user_id: UserId, db: AsyncSession = Depends(get_async_db)): return await recommend_func(user_id, db) 아래는 llm_recommend.py에 있는 함수들이다. 우선 LLM을 활용한 추천을 위한 프롬프트를 준비한다.그 다음 프롬프트에 유저가 이전에 높은 별점을 매긴 영화 정보를 삽입한다.현재 서비스하고 있는, 다시 말해서 DB에 있는 영화로 한정하기 위.. 2025. 4. 25.
LLM 기반 추천 시스템 백엔드 미들웨어 우선 CORS를 통해서 프론트엔드와의 연결을 허용한다.from fastapi import FastAPI# FastAPI 시작 app = FastAPI()origins = [ "http://localhost:5173", # Vite 개발 서버 "http://127.0.0.1:5173", # 다른 로컬 주소 "https://your-production-frontend.com" # 배포 환경에서는 실제 도메인]app.add_middleware( CORSMiddleware, #allow_origins=["*"], # 모든 도메인 허용 allow_origins=origins, allow_credentials=True, allow_methods=["*"].. 2025. 4. 25.
LLM 기반 추천 시스템 프론트엔드 Home.tsx Home 화면// pages/Home.tsx import React, { useState, useEffect } from "react";import SearchBar from "../components/SearchBar";import MovieCard from "../components/MovieCard";import UserSearchBar from "../components/UserSearchBar";import { useNavigate } from 'react-router-dom';import styles from './Home.module.css'const API_URL = import.meta.env.VITE_API_URL;interface Movie { movieId: .. 2025. 4. 25.
LLM 기반 추천 시스템 구축을 통한 코드 공부 개인 프로젝트 (링크)로 백엔드랑 프론트엔드를 구성하고 LLM API를 통해서 LLM을 통한 추천을 구축해보았다. 사용 데이터는 SQLAlchemy (블로그 링크)를 알아볼 때 사용했던 MovieLens 1m이다. 디자인은 모두 배제했다. Home 화면영화에 별점을 매기기 위한 카드 영화 제목 검색 결과 유저 2에 대한 추천 영화 불러오기 결과 사용 기술은 다음과 같다. FrontendTypescriptReactViteBackendFastAPIDatabaseSQLAlchemySqliteLLMGemini API 구체적인 내용들을 구성 요소별로 간단하게 코멘트를 남기고자 한다. 백엔드: 링크프론트엔드: 링크LLM 파트: 링크 2025. 4. 25.