Ollama + CrewAI + Medium을 활용한 한국 주식 분석 자동 포스팅 프로젝트1. 프로젝트 개요 및 환경 설정1.1 프로젝트 개요1.1.1 Ollama + CrewAI + Medium을 활용한 자동 포스팅 개념📌 개요이 프로젝트는 Ollama (로컬 LLM), CrewAI (에이전트 프레임워크), Medium API를 활용하여 한국 주식 시장 분석 글을 자동으로 작성하고 Medium에 게시하는 시스템을 구축하는 것이 목표입니다.기본적으로 주식 데이터 수집 → 데이터 분석 → AI 기반 보고서 생성 → Medium 자동 포스팅의 4단계 워크플로우를 통해 운영됩니다.🚀 프로젝트의 핵심 개념1️⃣ Ollama (로컬 AI 모델) 활용Ollama는 로컬에서 실행 가능한 **대형 언어 모델(LLM..
로컬 LLM + RAG 기반 AI 채팅봇 만들기8.2 추가 기능 및 향후 발전 방향이번 장에서는 프로젝트를 확장할 수 있는 추가 기능과 미래 발전 가능성을 살펴보겠습니다.현재 구축된 챗봇을 더 발전시키기 위해 성능 개선, AI 모델 업데이트, 새로운 기술 도입 등의 전략을 고민해 봅니다.1) 고급 검색 기능 추가 (강화된 RAG 적용)✅ ① 현재 RAG 검색 방식의 한계현재 FAISS 기반 벡터 검색 엔진을 활용하여 문서를 검색하지만,→ 정확도가 부족할 수 있으며 대량의 문서 검색 시 속도가 저하될 수 있음더 정교한 검색이 필요할 경우 하이브리드 검색 기법 적용 가능✅ ② 하이브리드 검색 (벡터 검색 + 키워드 검색 결합)벡터 검색(FAISS) + Elasticsearch 키워드 검색을 함께 사용하여 더..
로컬 LLM + RAG 기반 AI 채팅봇 만들기8.1 프로젝트 개발 과정 정리이번 장에서는 로컬 LLM과 RAG 기반 AI 챗봇 프로젝트의 개발 과정과 주요 기술을 정리합니다.또한, 프로젝트를 진행하면서 배운 점과 개선할 점을 정리하여향후 프로젝트 확장 및 최적화 방향을 고민해보겠습니다.1) 프로젝트 개요 및 목표✅ 프로젝트 목표클라우드가 아닌 로컬 환경에서 실행되는 LLM 기반 AI 챗봇 개발RAG(Retrieval-Augmented Generation) 기술을 활용한 검색 기반 보강 생성 적용WebSocket을 통한 실시간 채팅 지원PostgreSQL 및 FAISS를 활용한 대화 기록 및 벡터 검색 엔진 구축SvelteKit을 활용한 사용자 친화적인 UI 구현 및 배포✅ 주요 사용 기술 스택카테고리 ..
로컬 LLM + RAG 기반 AI 채팅봇 만들기7.3 시스템 확장 및 추가 기능 구현이제 기본적인 AI 챗봇 기능이 완성되었으므로,더 많은 사용자 환경에서 활용할 수 있도록 시스템을 확장하고 추가 기능을 구현하겠습니다.이번 단계에서는 다국어 지원, 추천 시스템, AI 챗봇 기능 확장 등을 다룹니다.1) 다국어 지원 (Multilingual AI 챗봇)✅ ① 다국어 번역 기능 추가LLM이 한 언어로만 응답하는 경우 다국어 환경에서는 불편함이 발생할 수 있습니다.이를 해결하기 위해 자동 번역 기능을 추가하여 다국어 대응합니다.📌 OpenAI의 GPT-4 번역 API 활용suspend fun translateText(text: String, targetLanguage: String): String { ..
로컬 LLM + RAG 기반 AI 채팅봇 만들기7.2 데이터베이스 성능 최적화이제 AI 챗봇의 데이터베이스 성능을 최적화하여 쿼리 실행 속도를 향상시키겠습니다.PostgreSQL을 기반으로 쿼리 성능 튜닝, 캐싱, 파티셔닝, 인덱스 최적화 등의 기법을 적용하여대규모 데이터 환경에서도 원활한 서비스를 제공할 수 있도록 최적화합니다.1) 데이터베이스 성능 저하 요인 분석✅ 데이터베이스 성능이 저하되는 주요 원인대량의 대화 기록 저장 및 조회 시 응답 속도 저하비효율적인 SQL 쿼리 및 잘못된 인덱스 설정동일한 요청이 반복적으로 발생하면서 불필요한 DB 부하 발생대화 기록이 지속적으로 증가하면서 테이블 크기 비대화2) 쿼리 성능 튜닝 (EXPLAIN ANALYZE 활용)✅ ① 느린 쿼리 분석PostgreSQL..
로컬 LLM + RAG 기반 AI 채팅봇 만들기7.1 API 응답 속도 개선이제 배포가 완료되었으므로, AI 챗봇의 응답 속도를 최적화하여 사용자 경험을 향상시키겠습니다.이번 단계에서는 LLM 모델 최적화 및 비동기 처리 최적화를 적용하여 API 성능을 개선하는 방법을 살펴봅니다.1) API 응답 속도를 저하시킬 수 있는 요소✅ 주요 성능 저하 요인LLM 모델 호출 지연 → Llama3 모델 응답 시간이 길어질 수 있음비효율적인 데이터베이스 쿼리 → 대화 기록을 조회할 때 성능 저하 가능비동기 처리 부족 → API 응답을 동기 방식으로 처리하면 대기 시간이 증가2) LLM 모델 최적화 (양자화 모델 활용)✅ ① 양자화(Quantization)란?LLM 모델을 경량화하여 메모리 사용량을 줄이고, 실행 속도..
로컬 LLM + RAG 기반 AI 채팅봇 만들기6.3 배포 후 점검 사항이제 Ktor 백엔드와 SvelteKit 프론트엔드를 배포 완료했습니다.이번 단계에서는 배포된 서비스의 정상 동작 여부를 확인하고, 모니터링 및 에러 대응 전략을 구축하겠습니다.1) 배포 후 확인해야 할 사항✅ ① 프론트엔드와 백엔드 연결 확인브라우저에서 배포된 프론트엔드 URL에 접속AI 챗봇과 대화 시도API 호출이 정상적으로 동작하는지 개발자 도구(DevTools)에서 확인fetch("https://backend-url.com/api/chat/send", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({..
로컬 LLM + RAG 기반 AI 채팅봇 만들기6.2 프론트엔드 배포 (Vercel)이제 SvelteKit으로 개발한 프론트엔드를 배포하여어디서나 AI 챗봇을 사용할 수 있도록 Vercel을 활용하여 배포하겠습니다.1) Vercel을 사용하는 이유✅ Vercel의 장점손쉬운 배포 → GitHub와 연동하여 자동 배포 가능서버리스(Serverless) 환경 지원 → API 호출만으로 백엔드와 통신 가능빠른 글로벌 배포 → CDN(Content Delivery Network) 적용2) Vercel 가입 및 환경 설정✅ ① Vercel 가입 및 프로젝트 생성Vercel 공식 사이트에 접속GitHub 계정과 연결"New Project" 버튼 클릭SvelteKit 프로젝트 선택 후 Import배포 설정 페이지에서..
로컬 LLM + RAG 기반 AI 채팅봇 만들기6.1 백엔드 Docker 컨테이너화 및 배포이제 Ktor 기반의 백엔드 서버를 Docker 컨테이너로 패키징하여 배포 가능하도록 설정합니다.Docker를 활용하면 환경에 관계없이 쉽게 배포하고, 운영 중인 서버를 일관성 있게 유지할 수 있습니다.1) Docker를 사용하는 이유✅ Docker 배포의 장점환경 일관성 유지 → 운영 체제(OS)와 관계없이 동일한 환경에서 실행 가능간편한 배포 → 컨테이너 이미지를 사용하면 배포가 용이확장성 향상 → 여러 컨테이너를 병렬 실행하여 성능 확장 가능2) Docker 설치 및 기본 설정✅ ① Docker 설치Windows / Mac: Docker 공식 사이트에서 설치Linux (Ubuntu):sudo apt updat..
로컬 LLM + RAG 기반 AI 채팅봇 만들기5.3 WebSocket 테스트 (웹 브라우저 콘솔 활용)이제 WebSocket을 활용하여 AI 챗봇과 실시간으로 메시지를 주고받는 기능이 정상적으로 동작하는지 테스트해야 합니다.이번 단계에서는 웹 브라우저 콘솔 및 Postman을 사용하여 WebSocket이 정상적으로 연결되고 메시지를 주고받을 수 있는지 검증하겠습니다.1) WebSocket 테스트의 중요성✅ WebSocket 테스트가 필요한 이유WebSocket 연결이 정상적으로 이루어지는지 확인사용자가 메시지를 입력했을 때, 서버에서 올바른 응답을 반환하는지 검증WebSocket이 다중 사용자 환경에서도 안정적으로 작동하는지 테스트서버가 WebSocket 연결을 안정적으로 유지하며, 비정상 종료 시 복..
- Total
- Today
- Yesterday
- 챗봇개발
- 관리자
- fastapi
- nodejs
- Docker
- LangChain
- llm
- 개발블로그
- Ktor
- kotlin
- Webpack
- 백엔드
- 페이지
- Next.js
- Project
- github
- nextJS
- Page
- 로컬LLM
- til
- Python
- 리액트
- REACT
- 웹개발
- babel
- rag
- AI챗봇
- 백엔드개발
- 프론트엔드
- PostgreSQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |