-
[250613][TIL] SvelteKit 과 MongoDB인생살이/일과 삶 2025. 6. 13. 13:19
나는 회사 내에서 인하우스 LLM용 Open Chat Web을 관리/개발하고 있다.
이번에는 perplexity의 Space, GPT의 Project처럼 ‘문서, 프롬프트, URL’ 등 지식저장소를 만들어서 팀원간 공유할 수 있고 해당 저장소를 기반으로 LLM 응답을 제공하는 것이 목적이다.
여러 기술이 필요하겠지만!
우선은 Data Type부터 만들어서 DB에 CRUD하는 기능을 만든 후에
UI를 뚝딱뚝딱 만들고
검색과 데이터 추가 기능, 임베딩, RAG등을 순차적으로 적용해보려고 한다.
이번 페이지에서는 현재 Open Chat UI 의 구조와 DB 추가 방법에 대해 기술할 것이다.
1) Data Type 및 DB 생성
Src/lib/server/database.ts 에 collection 관련 내용이 구현되어있음.
MongoDB란?
Collection이란?
MongoDB에 새로운 컬렉션을 추가하는 방법
-> MongoDB는 NoSQL, 즉 스키마가 없는 데이터베이스이다. 새로운 컬렉션에 데이터를 삽입하면 자동으로 컬렉션이 생성된다.
따라서, 코드상에서 특정 타입에 맞는 객체는 inserOne() 또는 insetMany()로 삽입하면 바로 사용이 가능하다.
-> 1. Type 정의 2. getcollections()에 해당 Type 추가 3. 코드 상에서 insertOne()을 통해 Data 추가,
getcollections()
MongoDB 를 import 해와서 db.collection<타입>(“collection 이름”)으로 컬렉션을 반환함.
APIClient
API 사용흐름
* Elysia 사용하여 API 사용 부분을 정의하고,
Treaty라는 녀석을 사용하여 useAPIClient를 server단에서 활용하고 있는 구조!!
일단 중구난방으로 써놓고 주말에 고치기!'인생살이 > 일과 삶' 카테고리의 다른 글
사내 해커톤 후기 (1) 2025.06.19 FW 개발자 회고: 7년간의 성장과 깨달음 (0) 2025.04.27 나의 새 출발을 응원해! (0) 2025.04.25 [갭이어 준비] 갭이어 거주지 설정에 관하여 (0) 2025.03.26 [갭이어 준비] 시기는 언제가 좋을까? (1) 2025.03.26