반응형

AI 15

Project: 온 세상이 주식이야 - AI 관련 기능 개발 Intro & MVP 구현

현재 계획 중에 있는 AI 관련 기능 개발은 아래와 같이 진행될 예정이다.MVP AI 기능데이터 전처리기본 AI AgentAPI 서버 전환1차 API 서버 최적화Github: FastAPI Best Practice비동기 처리 2차 AI 기능 고도화데이터 전처리 -> LLM for Data Preprocessing or ChatGPT 파인튜닝기본 AI Agent -> Multi AI AgentAPI 서버 전환 -> Fail Over, Exception Handling, Web socket구현 계획 선정 동기위와 같은 구현 계획을 선정하는 데에 있어서 한 가지의 현실과 그로 인한 수요가 크게 작용했다. 먼저 현실이다.흔히 말하는 SaaS(Software as a Service)에서의 AI 개발은 현재 불가능..

AI/Projects 2025.02.14

Project: 온 세상이 주식이야 - Chrome Extension 개발 Intro & MVP

현재 계획 중에 있는 Chrome Extension 개발은 아래와 같이 진행될 예정이다.MVP Chrome Extension 개발Chrome Extension TutorialsChrome Extension - Page Data 수집Chrome Extension to AI & Spring Backend Server수집된 데이터 AI Server로 전송 및 결과 수신반환된 결과에 대한 사용자 선택 Spring Backend Server 전송 및 메인 서비스 페이지로의 이동(Challenge) Chrome Extension 실시간 종목 호가 조회반환된 결과에 따른 실시간 종목을 '더 보기'와 같은 버튼을 통해 조회인증과 백엔드 서버와의 통신을 기준으로 구현 계획을 구성하였다. 그리고 이번 포스팅에서는 Chro..

AI/Projects 2025.02.12

Project: 온 세상이 주식이야 - 구현계획

'온 세상이 주식이야'(온세주)의 핵심은 모의주식거래 시스템이다. 그리고 AI 기능은 해당 시스템에 접근하기 위한 하나의 수단이다. AI 기능의 역할은 아래와 같다. 사용자의 현재 웹페이지의 정보를 바탕으로 평가, 분석하여 유사한 주식종목을 반환한다. 반환된 종목의 경우 사용자의 선택에 따라 저장될 수 있고 저장된 주식은 온세주 웹사이트에서 모의 매매가 가능하다.  해당 기능을 만들기 위해서 아래와 같이 AI 기능 구현을 위한 구성을 아래와 같이 세분화 했다.Chrome Extension - Frontend온세주의 Chrome Extension은 AI 기능의 Frontend로 아래의 기능을 담당한다. 현재 화면의 정보를 AI Server로 전달하고AI Server에서 반환된 정보를 Service Serv..

AI/Projects 2025.02.11

Project: 온 세상이 주식이야 - Intro

기존에 진행해 왔던 프로젝트에서의 AI Application들의 특징을 정리해 봤을 때 의도한 기능으로서 잘 작동하는 반면 Fail Over, Exception Handling과 같은 기본적이 부분들에서 부족함이 있었다. 물론 최적화와 고도화를 진행한 프로젝트도 있었으나 실제로 적용하는 대에는 어려움이 있었다. 그래서 이번 프로젝트를 통해서 기존 프로젝트에서의 AI 기능들에서 챙기지 못했던 부분들에 대한 보완을 진행할 예정이다. 먼저 '온 세상이 주식이야'의 시작은 아래와 같다. 인터넷은 정보의 바다라고 한다. 하지만 실제로 대부분의 사용자는 자신이 찾으려고 하는 내용만을 확인하지 관련된 혹은 관련될 수 있는 내용에 대해서는 다들 지나치는 경향이 있다. 그래서 사용자가 사용하는 웹페이지에 대한 정보를 바..

AI/Projects 2025.02.10

Project Joing: 결국은 데이터 수집

현재까지 Project Joing에서 구현된 기능은 간단하다.기획안과 Youtube 채널을 간단하게 평가하고 평가에 대한 이유와 해당하는 부분에 대한 피드백을 생성해 낸다. 그리고 이번 프로젝트에서작동 로직의 특별함 보다는 구현을 하게된 동기와 과정에 대해 좀 더 집중했다.  하지만 평가 말고도 추천 시스템이 현재 있고 또한 기획안에 대한 추가기능으로 인해 결국 데이터를 가져오고 가져온 데이터를 바탕으로 새로운 데이터를 만들기로 결정 했다. 그래서 먼저 Youtube Data AI를 통해 영상과 채널에 대한 데이터를 수집하고 수집한 데이터를 가공하여서 추천과 새로운 기능에 사용 할 수 있도록 이어 나갈 예정이다. 그리고 이와 더불어 저번처럼 Python 코드만으로 수집과정을 구성하는게 아닌 추가적으로 n..

AI/Projects 2024.11.09

Project: HowAbout - Outro: 회고

Project:HowAbout - Intro에 구현하기로 한 기능을 다 구현하지는 못했으나 4주간의  MVP를 달성했다. 그리고 이 포스트는 4주간의 과정에 대한 회고다. 먼저 처음에 예상했던 구성 사용하기로 한 기술스택들과 실제로 만들어지고 사용된 내용에 대해서 확인해 보자. 프로젝트 구현 전 예상 Software Architecture 예상 기술스택PlatformHuggingfaceFramework: RAGLangChainFramework: APIFastAPIEmbedding ModelKoBart, KcBert, KoBertVector DBFaiss, Chroma, PineconeLLMchatGPT 3.5 Turbo 프로젝트 구현 후 실제로 만들어진 Software Architecture 실제로 사용..

AI/Projects 2024.09.25

도대체 FAISS 그리고 Vector Store는 뭘까?

FAISS는 Facebook에서 만든 Facebook AI Similarity Search로 검색에 있어 단순히 Vector 기반 검색이 가능하게 데이터를 전환해 주는 라이브러리라고 생각하면 된다. 그리고 Vector Store의 경우 LangChain의 설명에 따르면 정규화되지 않는 데이터를 저장하고 저장된 데이터 안에서 검색을 돕도록 만들어진 Inteface다 그래서 간단한 Interface의 사용법은 아래와 같다.  vectorstore = MyVectorStore()retriever = vectorstore.as_retriever() 물론 사용하는 Vector Store에 따라 사용방식과 데이터 저장 방식이 다르다. 사용 방식보다 Vector Store에 대하 설명만 진행하겠다. 자세한 사용방식은..

RAG 구현 Step-by-Step Vector DB 구현 - 2: Faiss with LangChain

RAG 구현 Step-by-Step: Intro 가상환경 설정 및 MVP 구현Dataset과 Vector DB 구현Dataset 확보Vector DB 구현Embedding & Searching 구현Generation 구현이전의 포스트에 이어 이제는 Faiss를 활용해 Vector Store를 구현했다. 그리고 여기서 먼저 말하고 싶은게 있다. 절대로 ChatGPT를 써서는 안된다. ChatGPT의 경우 구현에 대한 클루와 인사이트를 줄 수 있으나 디테일한 부분에 있어서는 공식문서가 더 확실하다. 그리고 ChatGPT가 정확하다면 모델을 파인튜닝하거나 지금과 같이 RAG 방식을 구현한다는게 의미가 없을 것이다.  FAISS의 구체적인 부분에 있어 아래의 포스트를 참고하면 좋다. 1. 도대체 LangChai..

AI/Gen AI 2024.09.17

RAG 구현 Step-by-Step Vector DB 구현 - 1: Implementation Outline

RAG 구현 Step-by-Step: Intro가상환경 설정 및 MVP 구현Dataset과 Vector DB 구현Dataset 확보Vector DB 구현Embedding & Searching 구현Generation  구현 위의 내용을 바탕으로 현재 크롤러가 잘 작동하고 있는 상황이고 크롤러가 현재 열심히 크롤링을 하고 있다. (인간이 미안해) 현재 크롤러가 크롤링한 내용의 경우 간단한 json의 형태로 저장되고 있다. 그리고 json의 저장된 내용을 Vector DB에 담기 위해서는 아래와 같은 순서로 json을 변환해 주어야 한다.Json을 토큰화를 진행한다.전환된 토큰을 바탕으로 Embedding을 활용해 백터화를 진행한다.백터화된 값을 저장한다.이렇게 간단한 로직을 바탕으로 진행하면 되나 고민해 봐..

AI/Gen AI 2024.09.16

RAG 구현 Step-by-Step Dataset 확보: Selenium을 활용한 Crawler

RAG 구현 Step-by-Step: Intro가상환경 설정 및 MVP 구현Dataset과 Vector DB 구현Dataset 확보Vector DB 구현Embedding & Searching 구현Generation  구현데이터셋의 확보를 위해서 Selenium 크롤러를 구현했다. Beautifulsoup 대신 Seleinum을 사용한 이유는 간단히 자동화와 현재 같이 팀프로젝트를 진행하고 있는 팀원들도 쉽게 사용할 수 있도록 만들기 위해서 였다.  그래서 아래의 기능을 하는 크롤러를 만들었다.서울기준 각 행정구와 행정동의 음식점, 카페, 그리고 가볼만한곳을 검색한다.행정구 행정동의 검색된 장소들을 크롤링해온다.마지막으로 크롤링된 내용을 json으로 전환하여 저장한다. 행정구와 행정동의 카테고리별 장소들을..

AI/Gen AI 2024.09.02
반응형