
이미 LLM 서비스를 유료로 이용 중이라면, 로컬 LLM보다 로컬 임베딩(Embeddings) 및 리랭커(Rerankers)를 실행하는 것이
요약
유료 LLM 서비스를 이용하더라도 임베딩과 리랭커 모델은 여전히 API 비용이 발생하므로, 이를 로컬에서 실행하여 효율적인 RAG 시스템을 구축하는 방법을 제안합니다. GBrain이라는 관리 계층을 통해 Markdown 기반의 메모리 시스템을 구축하고, MCP 인터페이스를 활용해 컨텍스트를 공유하는 워크플로우를 설명합니다.
핵심 포인트
- 임베딩 및 리랭커 모델의 로컬 실행을 통한 API 비용 절감
- GBrain을 활용한 Markdown 기반의 LLM 메모리 시스템 구축
- 임베딩과 리랭킹 결합을 통한 검색 정확도 향상
- MCP 인터페이스를 통한 다양한 LLM 클라이언트 간 컨텍스트 공유
https://preview.redd.it/v0xtn3jdu9ch1.png?width=2047&format=png&auto=webp&s=628a6a541fe5f097d0f771ae0ba3b7f44126198f https://preview.redd.it/vjxiucsdu9ch1.png?width=2047&format=png&auto=webp&s=74f7a18a5a30276e206e2bfb5a0c529826ce86e4 이 게시물은 원래 한국어로 작성되었으며, ChatGPT를 사용하여 다듬고 영어로 번역되었습니다. 저는 Tesla P40에서 llama.cpp를 로컬로 실행하고 있지만, 이미 ChatGPT Pro를 유료로 사용하고 있는 사람으로서 Qwen 3.6 27B나 Gemma 4 31B와 같은 로컬 LLM을 계속 실행해야 할 실질적인 이유를 점차 잃어가고 있었습니다. API와 유사한 워크플로우를 통해 OpenAI 모델에 접근해야 한다면, 보통 Codex OAuth를 사용하는 것으로 충분하기 때문입니다. 하지만 그때 저는 임베딩(Embedding) 모델과 리랭커(Reranker) 모델은 Codex를 통해 동일한 방식으로 접근할 수 있는 것이 아니라는 사실을 깨달았습니다. 이는 로컬 AI를 단순히 취미나 재미가 아닌, 실제로 생산성을 향상시킬 수 있는 도구인 'LLM을 위한 메모리 MCP'로서 사용할 수 있는 더 실질적인 이유를 제공해 주었습니다. Codex 앱을 사용하면 ChatGPT Pro 환경에서 GPT 기반 모델은 거의 무제한으로 사용할 수 있지만, 임베딩 및 리랭커 모델은 여전히 거의 항상 유료 API 사용을 요구합니다. 그래서 로컬 LLM을 실행하는 것에 집중하는 대신, Qwen3 Embedding 4B와 Qwen3 Reranker 4B를 로컬에서 사용하여 GBrain을 통해 LLM 메모리 시스템을 구축하기로 결정했습니다. 기술 스택은 대략 llama.cpp, PostgreSQL, pgvector, S3 API를 위한 Ceph, 그리고 메모리를 Markdown 파일로 저장하기 위한 GitLab으로 구성됩니다. 워크플로우는 다음과 같습니다: 제가 Codex, ChatGPT Web 또는 다른 클라이언트를 사용할 때, 제가 명시적으로 기억해달라고 요청한 것이나 시스템이 중요하다고 판단하는 모든 것은 MCP 인터페이스를 통해 Markdown 파일 형태로 GBrain에 저장됩니다. 그런 다음 GBrain은 해당 파일들을 인덱싱하고, 임베딩(Embeddings)을 생성하며, LLM을 사용하여 각 Markdown 기반 메모리에서 사실(facts)을 추출합니다. 나중에 MCP를 통해 메모리 조회 요청이 들어오면, GBrain은 먼저 임베딩 모델을 사용하여 잠재적으로 관련 있는 메모리들을 검색(retrieve)합니다. 그 다음 리랭커(Reranker) 모델을 사용하여 결과를 가장 관련성이 높은 메모리로 좁힌 후 반환합니다.
저는 이 방식이 단순히 메모리를 일반 Markdown 파일로 저장하는 것보다 더 낫다고 생각합니다. GBrain과 같은 관리 계층(management layer)을 상위에 배치함으로써, 시스템은 LLM이 파일 전체를 소비하도록 강제하는 대신 Markdown 문서에서 간결한 사실(facts)을 추출할 수 있습니다. 또한 임베딩(embeddings)과 리랭킹(reranking)을 함께 사용하여 실제로 관련이 있는 정보만을 표면화할 수 있기 때문에 검색(retrieval)이 훨씬 더 정확해집니다. 이 방식이 저에게 유용한 또 다른 이유는 제가 Codex와 ChatGPT Web을 모두 사용하기 때문입니다. 만약 GBrain을 ChatGPT Web에 앱으로 연결한다면, 일반적인 웹 스타일의 검색과 함께 MCP 요청이 발생할 수 있습니다. 이는 Codex에서 수행한 작업과 ChatGPT Web에서의 대화 사이의 컨텍스트(context)를 저의 수동 개입을 훨씬 줄이면서도 훨씬 쉽게 공유할 수 있게 해줍니다. 전반적으로, 현재 저의 인상은 만약 당신이 이미 Codex, ChatGPT 또는 Claude와 같은 서비스를 유료로 이용하고 있다면, 로컬 LLM을 실행하는 것이 항상 로컬 하드웨어를 가장 생산적으로 사용하는 방법은 아닐 수도 있다는 것입니다. 대신, 임베딩 모델(embedding models)이나 리랭커(rerankers)와 같이 해당 서비스들이 편리하게 제공하지 않는 모델들을 실행하는 것이 더 합리적일 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기