반응형

분류 전체보기 77

RAG에 대하여, 벡터 데이터베이스

🚀 벡터 데이터베이스(Vector Database) 쉽게 이해하기🧐 벡터? 스칼라? 벡터 데이터베이스?처음 "벡터"라는 단어를 들으면 물리에서 배운 크기와 방향을 가진 물리량이 떠오를 수도 있다. 그렇다면 우리가 다루는 "벡터 데이터베이스"도 그런 개념일까? 처음엔 나도 그렇게 생각했다. 벡터와 스칼라를 떠올리며, 데이터에도 방향성이 존재하는 건가? 라는 생각을 했지만, 여기서 말하는 벡터는 그런 의미가 아니다.벡터 데이터베이스(Vector Database)는 데이터를 벡터(숫자의 집합)로 변환하여 저장하고 검색하는 새로운 방식의 데이터베이스다. 기존의 관계형 데이터베이스(RDB)나 NoSQL과는 다르게, 키워드가 아닌 의미 기반 검색(Semantic Search)을 가능하게 한다.하지만 이렇게 말하..

Study/기타 2025.02.01

RAG 기반 AI 서버 구축: 기초지식 다지기

RAG 기반 AI 서버 구축: 도구들과 기초지식 다지기앞서 포스팅한 내용을 생각하며 기초지식을 다져보도록 하자.🚀 1. 목표 앞서 이야기했듯이 AI 서버 구축을 진행할 것이다. 일반 서버 내부에 AI 서버를 함께 구축하면 의존성이 증가하고, 모듈화가 어렵고, 하나의 서버 장애가 모든 시스템에 영향을 미치는 문제가 발생할 가능성이 크다. 이를 방지하고 책임 분리를 명확히 하기 위해 별도의 AI 서버를 구축하는 방향을 선택했다.🏗️ 2. 구축할 아키텍처 (일반 서버: FastAPI) ───> (AI 서버: FastAPI + vLLM + RAG) ├── LLM ├── 벡터DB ├── ..

Study/기타 2025.02.01

App 개발자의 우당탕탕 AI서버 만들기

앱 개발자에서 AI서버를 만들려고 마음먹은 이유AI 기술이 너무나도 빠르게 발전하면서, 내가 현실 세계에서 어떤 자세를 취해야 하는지 고민하게 되었다. 평생 Flutter 앱 개발만으로 먹고살기는 어렵다는 걸 진작에 알고 있었다. 실제로 나보다 10~20살 많은 개발자들을 보면, 하나의 프레임워크로만 일을 지속한 경우는 거의 없었다. 그렇다면 나는 어떤 기술을 함께 익혀야 할까? 그 고민이 시작이었다.결국, 이 세상에서 개발자로 살아남기 위해 가장 중요한 것은 실력뿐만 아니라 그 기술의 수요라고 생각했다. 앞으로 AI 기술의 수요는 꾸준할 것이고, 앱 개발은 특정 플랫폼의 프로그램을 만드는 데 필수적인 기반 기술이 될 것이라 판단했다. 그렇다면 AI를 활용하는 방법을 익혀야 한다.그러던 와중 DeepSe..

Study/기타 2025.02.01

새로운 AI DeepSeek에 대하여

안녕하세요! 설 연휴 잘 보내고 계시나요? 🙂설 연휴 동안 엄청난 핫 이슈, DeepSeek R1의 등장으로 꽤나 시끌시끌했는데요, 그 내용을 바탕으로 제가 알기 쉽게 정리해봤습니다!DeepSeek란? 새로운 AI 모델의 등장AI 챗봇 하면 가장 먼저 떠오르는 것은 아마도 OpenAI의 ChatGPT일 것입니다. 하지만 최근 DeepSeek이라는 새로운 AI 모델이 등장하며 많은 주목을 받고 있습니다. DeepSeek은 ChatGPT와 마찬가지로 대화를 할 수 있는 AI이지만, 학습 방식과 활용 방식에서 차이를 보입니다.DeepSeek이 화제가 된 이유 중 하나는 미국의 대중국 AI 제재에도 불구하고 높은 성능을 보여주었다는 점입니다. 미국은 AI 러닝에 필수적인 엔비디아(NVIDIA) GPU의 중국 ..

Study/기타 2025.01.30

Flutter의 Clean Architecture 클린아키텍처, 각 Layer에 대하여

앞서 배웠던 내용으로 Flutter에 Clean architecture를 적용해 보도록 하자. 드디어 Layer별 어떤 폴더들을 가지게되는지 설명하게 되었다.앞서 설명한 OOP(객체 지향 프로그래밍)과 SOLID원칙을 기초로 하여 구현을 하는 게 목표이다. 하나하나씩 살펴보자.Domain LayerDomain Layer는 애플리케이션의 비즈니스 로직을 담고 있는 계층이다. 이 계층은 프레임워크에 독립적이며, 순수한 Dart 코드로 작성되며, 테스트가 용이하고, 다른 기술 스택으로 교체할 때도 영향을 최소화하도록 한다.EntitiesUse CasesRepositories(Interfaces)Domain Layer에서는 위 3가지 요소들이 포함이 되어있다.하나하나씩 살펴보도록 하자.EntitiesEntiti..

Study/기타 2024.06.20

22. [Flutter] 상태 관리(Riverpod)를 이용하여 비동기 관리하기

이번에는 Flutter의 riverpod을 이용하여 비동기관리에 대해서 설명하도록 하겠다.https://riverpod.dev/ko/ Riverpod어디서나 공유 상태 선언하기 더 이상 main.dart과 UI 파일 사이를 오갈 필요가 없습니다. 공유 상태의 코드를 별도의 패키지에 넣든, 필요한 위젯 바로 옆에 넣든, 테스트 가능성을 잃지 않고 적절riverpod.dev우선 공식자료는 다음과 같다. Riverpod이란?우선 들어가기에 앞서 riverpod이 무엇인지 알아보도록 하자.https://github.com/rrousselGit rrousselGit - OverviewFlutter enthusiast. You'll find me on stackoverflow. Or as a speaker in F..

Study/Dart,Flutter 2024.06.20

제주도 SK렌터카 인도 연석에 휠 부딪침 사고 후기

이번에 시간이 생겨서 제주도로 여행 갔다가 도로 연석에 휠을 갈아먹은 사고가 났고, 나랑 같은 처지에 있었던 사람들에게 도움이 되고자 작성하게 되었다.불안한 마음에 이 글을 보시는 분들을 위해 결론부터 말씀드리자면, SK제주렌터카 완전자차로 사고났을때 주행에 문제가 되지 않는다면 괜찮다.로 생각이 된다. 제주렌터카 예약전 뚜벅이로 다니기는 조금 힘들겠다는 생각이 들어서 렌터카에서 대여해서 다니기로 했다. 렌터카를 선택하는 데에 있어 선택지가 참 많았다.대기업 렌터카 + 완전자차대기업 렌터카 + 일반중소기업 렌터카 + 슈퍼자차중소기업 렌터카 + 완전자차중소기업 렌터카 + 일반이렇게 5가지 선택지가 있었다. 보통 제주 중소기업 업체에서 저렴하다고 광고하고 후기도 많이 작성되어 있어서 조금 혹 했었다. 하지만..

Daily/여행 2024.06.09

머신러닝에 대한 배경지식 공부[1부]

회사에서 머신러닝에 대해서 프로젝트를 진행하고있다. 정확하게는 Scen Text Recognition을 진행하고있는데, 그 단계 이전에 Object Detection이 필요해서 먼저 Object Detection에 대해서 알아보도록 하자. 라고 하기전에 우선 머신러닝에 대한 모든 기본지식부터 알아본내용들을 아주 간단하게 정리했다. 머신러닝이 뭘까 우선 나는 시작부터 "머신러닝"이라는 것에 대한 정의부터 시작했다. 무엇이 머신러닝일까 흔히 사용하는 "딥러닝" 그리고 "AI"는 어떤 차이점이 있는지 찾아보았다. 그리고 위의 이미지로 한번에 정리되었다. 그렇지만 조금 더 찾아보았다 결국 머신러닝은 사람이 특징점 추출(Feature Extraction)과 분류(Classification)을 직접해야 모델을 만들..

Clean Architecture 클린아키텍처, 객체지향 디자인 5원칙 SOLID[5부]

이번에는 객체지향 디자인 5원칙에 대해서 알아보도록 하자. 원래 포스팅의 순서는 Folder구조를 잡고, 각 폴더 안에 들어가는 파일 class들의 예시를 보여주려고 했다. 하지만 객체지향 디자인 5원칙을 설명하지 않고는 작성하기가 힘들다 생각이 되어 이것부터 먼저 포스팅을 하도록 하겠다. SOLID란 무엇인가. SOLID는 위의 이미지로 유추할 수 있듯이, 5개의 원칙에서 앞에 한 글자씩 따온 것이다. Robert C Martin(Uncle Bob)이 제시한 객체지향설계에 대한 원칙을 5원칙으로 정리를 한 것이다. Uncle Bob, 익숙한 이름일 것이다. Clean Architecture를 제안한 아키텍처이다. 클린아키텍처는 헥사고날(hexagonal) 아키텍처라고 하기도하고 포트와 어댑터(Port..

Study/기타 2024.03.23

Clean Architecture 클린아키텍처, 객체와객체지향 프로그래밍[4부]

이번에는 객체와 객체지향 프로그래밍에 대해 알아보도록 하자. 원래 포스팅의 순서는 Folder구조를 잡고, 각 폴더안에 들어가는 파일 class들의 예시를 보여주려고 했다. 하지만 객체지향 디자인 5원칙을 설명하지 않고는 작성하기가 힘들고, 객체지향프로그래밍에 대해서 설명이 부족하면 객체지향 디자인 5원칙이 작성하기 힘들다. 우선 객체와 객체지향 프로그래밍에 대해서 알아보도록 하자. 객체, 객체지향 프로그래밍이란 객체(Object)라는 것은 클래스(Class)에서 정의한 것을 토대로 메모리에 할당된 것으로 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미하며, 변수 자료 구조, 함수 또는 메소드가 될 수 있다. 좀더 쉽게 설명을 해보자. 객체지향 프로그레밍에서 객체(Object)는 데..

Study/기타 2024.03.20
반응형