반응형

Study/기타 13

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

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

Clean Architecture 클린아키텍처, Flutter 폴더구조에 대하여[3부]

이번에는 클린아키텍처를 잡을 때 폴더구조에 대해서 알아보도록 하자. Flutter를 가지고 설명을 해보도록 하겠다. 목차 들어가기에 앞서. Layout First Feature First 1. 들어가기에 앞서. Flutter를 시작하고 여러 토이프로젝트를 하게 되면 느끼는 점이 다들 있겠지만 그중 공통적으로 느끼게 될 것 중 하나가 "굉장히 자유로운 아키텍처 선택" 일 것이다. 하지만 가끔 우리는 자유로운 것은 힘들 때가 많다. 예를 들어 코드컨벤션(Code Convention) 이 등장한 이유도 그중 하나일 것이다. 코드컨벤션이란 내가 작성한 코드를 다른사람들도 쉽게 이해할 수 있게 가독성 있는 코드를 작성하는 법에 대한 규칙이다. 코드컨벤션란 단어는 다소 생소할 수 있지만, 아주 친숙한 것이다. 코드..

Study/기타 2024.02.25

Clean Architecture 클린아키텍처, Domain에 대하여 [2부]

1부에선 Clean Architecture의 창시자, Uncle bob의 블로그를 최대한 번역하여 설명하는 내용으로 포스팅 하였다. 이번 포스팅에서는 Clean Architecture와 DDD 그리고 Domain에 대해서 알아보자. DDD, TDD 그걸 왜 알아야해? 우선 Clean architecture를 보다가 갑자기 DDD와 Domain 알아보자고 해서 놀라신 분들을 위해 먼저 "왜" 알아야하는지 설명부터 하는게 맞을거같아 설명을 해드리겠다. Domain과 DDD이란, Domain : 비즈니스 도메인이라고도 불리며, 소프트웨어가 해결하거나 다루려는 현실 세계의 문제 영역을 나타낸다. 예를들어, 은행 애플리케이션에서 도메인은 고객, 계좌, 거래와 같은 금융 분야의 주제를 포함할 수 있다. DDD(D..

Study/기타 2024.01.09

Clean Architecture 클린아키텍처에 대하여 [1부]

내가 사이드잡을 시작하면서 Flutter의 Clean Architecture를 지키며 코딩을 하기위해 공부를 한 것을 정리해보도록 하겠다. 가급적이면 처음부터 쭉 읽어도 모든 내용들이 이해되도록 작성해보도록 하겠다. 최대한 교차검증으로 오류도 최소화해서 작성해보도록 하겠다. 1. Clean Architecture란 우선 Clean architecture란 무엇일까? Uncle bob, Robert C. Martin이란 사람의 블로그에서 처음 등장한 것으로, 프로젝트 전반에 관련된 구조이다. 우선 그 내용은 아래 링크를 참고하길 바란다. (주의 : MVVM, MVC같은 것들은 프로젝트 전반이 아니라 UI와 비즈니스로직에 관련된 내용이다.) http://blog.cleancoder.com/uncle-bob/..

Study/기타 2024.01.08
반응형