Capella iQ 레퍼런스 아키텍처
빠르게 진화하는 인공지능(AI) 환경에서 고급 데이터베이스 솔루션과 제너레이티브 AI 모델의 통합은 중요한 진전을 의미합니다. 이 블로그에서는 Capella iQ의 아키텍처는 자연어 쿼리 프롬프트를 이해하여 SQL++ 쿼리를 생성하고 다양한 Couchbase 클라이언트 SDK 언어로 코드를 생성하는 Couchbase NoSQL 데이터베이스를 사용하는 생성형 AI(Gen AI) 애플리케이션입니다. Capella IQ는 개발자가 즉시 생산성을 높일 수 있도록 Capella Workbench 및 인기 있는 IDE에 내장된 코딩 어시스턴트입니다. 튜토리얼 보기 방법에 대해 iQ로 더 빠르게 작업.
아키텍처 개요
아래 제공된 다이어그램에 표시된 아키텍처는 애플리케이션 개발자를 위한 제너레이티브 AI 솔루션인 Capella iQ를 제공하기 위해 다양한 구성 요소를 원활하게 통합하는 견고한 파이프라인을 보여줍니다. iQ의 주요 목표 중 하나는 자연어 이해(NLU) 및 자연어 생성(NLG)을 위한 강력한 AI 모델을 효율적인 데이터 처리 및 검색을 위해 SQL++ 및 SDK를 활용하여 Couchbase NoSQL 데이터베이스의 강점과 통합하는 것입니다. 다이어그램의 향후 iQ 섹션은 다음 버전의 iQ에서 제공될 예정입니다.
아키텍처의 주요 구성 요소
1. 데이터 파이프라인
데이터 파이프라인은 모든 AI 기반 애플리케이션의 생명선입니다. 데이터 파이프라인은 다양한 소스에서 데이터를 수집하고 처리할 수 있도록 준비하는 역할을 담당합니다. 이 아키텍처에서 데이터 파이프라인은 데이터를 여러 스토리지 시스템으로 전송하여 시스템이 관련 정보로 지속적으로 업데이트되도록 합니다. 이러한 지속적인 데이터 흐름은 AI 모델 결과의 정확성과 관련성을 유지하는 데 매우 중요합니다.
외부 Couchbase Gen AI 애플리케이션의 경우, 이 모듈은 데이터를 직접 가져오거나 다음을 사용하여 다른 소스에서 스트리밍할 수 있습니다. 커넥터 또는 카우치베이스 애널리틱스 수집 서비스. Capella iQ의 경우, 데이터가 이미 Couchbase에 존재하므로 추가 파이프라인이 필요하지 않습니다.
2. 스토리지 솔루션
이 아키텍처는 다양한 유형의 데이터를 효율적으로 처리하기 위해 여러 스토리지 솔루션을 활용합니다:
A) 문서 DB(카우치베이스 키-값, 쿼리): 이 구성 요소는 문서를 유연한 스키마에 저장하여 키-값 조회와 복잡한 쿼리를 효율적으로 수행할 수 있도록 합니다. Couchbase는 이러한 기능을 짧은 지연 시간으로 제공하는 데 탁월합니다. 이 데이터베이스는 빠른 읽기 및 쓰기 작업이 필요한 반정형 또는 유연한 스키마 데이터에 이상적입니다.
B) 오브젝트 스토리지(AWS S3/GCP/Azure): 오브젝트 파일, 이미지, 동영상을 저장하는 데 사용되는 오브젝트 스토어와 같은 S3는 대량의 비정형 데이터를 처리할 수 있는 확장 가능하고 비용 효율적인 솔루션을 제공합니다. 이 구성 요소는 기존 데이터베이스 스키마에 잘 맞지 않는 미디어 파일 및 기타 대용량 개체를 저장하는 데 필수적입니다.
C) 벡터 DB(카우치베이스 전체 텍스트 검색): 이 데이터베이스는 벡터 검색 및 유사도 검색에 최적화되어 있어 임베딩 및 기타 벡터 표현을 기반으로 고급 검색을 수행할 수 있습니다. 이는 콘텐츠 자체만큼이나 콘텐츠의 의미를 이해하는 것이 중요한 시맨틱 검색 기능이 필요한 애플리케이션에 특히 중요합니다.
Capella iQ의 경우, 고객 데이터는 이미 Couchbase Capella 클러스터 문서 DB에 저장되어 있습니다. iQ 자체에서 다른 특별한 활동이 필요하지 않습니다.
외부 Gen AI 애플리케이션의 경우, 위의 데이터 파이프라인 모듈을 사용하여 데이터와 벡터를 Couchbase 클러스터에 저장하고 FTS를 통해 벡터를 검색할 수 있습니다.
3. 오케스트레이터 및 임베딩
오케스트레이터는 시스템 내에서 데이터의 흐름과 작업을 관리합니다. 오케스트레이터는 텍스트 데이터를 AI 모델이 처리할 수 있는 숫자 벡터로 변환하는 데 중요한 임베딩을 처리합니다. 임베딩은 단어, 구문, 심지어 전체 문서를 의미론적 의미를 파악하는 방식으로 표현할 수 있게 해주는 최신 AI 시스템의 핵심 구성 요소입니다.
iQ와 관련하여 UI 컴포넌트는 대화형 상호작용, 컨텍스트 프롬프트 구축, 그리고 iQ 백엔드 프록시와의 상호작용이 이루어지는 전반적인 애플리케이션 워크플로 오케스트레이터이며, 이는 차례로 LLM과 통신합니다. 현재 iQ에서는 유사성 검색이 없고 개인 데이터가 LLM에 전달되지 않기 때문에 임베딩이 생성되지 않습니다. 향후에는 프라이빗 LLM 임베딩에서 iQ 임베딩을 생성할 계획입니다.
Couchbase 기반의 외부 Gen AI 애플리케이션은 문서에 대한 오프라인 임베딩 생성뿐만 아니라 워크플로 오케스트레이션을 수행하여 문서 변이 중에 벡터 인덱싱이 자동으로 이루어질 수 있도록 합니다.
4. 컨텍스트 및 프롬프트 빌더
다음은 LLM과 대화할 수 있도록 문맥 프롬프트 구축을 준비하는 데 도움이 되는 두 가지 중요한 하위 모듈입니다.
RAG/컨텍스트 빌더
이 구성 요소는 검색 증강 생성(RAG) 기술을 사용하여 쿼리에 대한 관련 컨텍스트를 수집합니다. RAG는 개인 및/또는 외부 정보를 응답 생성 프로세스에 통합하여 AI 모델이 정확한 응답을 생성할 수 있도록 관련 정보에 액세스할 수 있도록 함으로써 생성형 AI의 기능을 향상시킵니다. 이는 동적이고 상황에 맞는 도메인별 응답이 필요한 애플리케이션에 특히 유용합니다. Capella iQ에서 컨텍스트에는 사용자가 선택한 범위와 해당 컬렉션에서 파생되는 스키마 추론이 포함됩니다.
프롬프트 빌더
AI 모델에 입력되는 프롬프트를 구성하여 입력 형식이 최적의 성능을 위한 모델의 요구 사항에 부합하는지 확인합니다. 프롬프트 빌더는 사용자의 원시 입력을 가져와 AI 모델이 효과적으로 이해하고 처리할 수 있는 구조화된 형식으로 변환합니다.
현재 iQ에서 유연한 스키마 추론은 사용자가 선택한 버킷, 범위 및 컬렉션에서 파생되며 실제 민감한 데이터나 비공개 데이터는 LLM으로 전송되지 않습니다. 현재 iQ 구현에는 RAG가 없습니다. 향후 iQ에서는 프라이빗 호스팅 LLM을 사용해 데이터에 대한 자동 임베딩 생성과 함께 카우치베이스 데이터 벡터 인덱싱을 수행할 계획입니다.
외부 Couchbase 기반 Gen AI 애플리케이션의 경우, 이 모듈은 사용자 프롬프트에 대한 임베딩 생성을 자동으로 수행한 다음 Couchbase에서 유사도 또는 벡터 검색으로 RAG를 수행하고 마지막으로 LLM에 전송할 준비가 된 컨텍스트 프롬프트를 준비할 수 있습니다.
5. 민감한 데이터 필터
이 필터는 데이터 개인정보 보호 규정을 준수하기 위해 데이터에서 민감한 정보가 있는지 면밀히 조사하여 부적절하게 처리되거나 저장되는 것을 방지합니다. 이 구성 요소는 개인 정보 또는 민감한 정보를 처리하는 애플리케이션에 매우 중요한데, 사용자 개인정보를 보호하고 GDPR 및 CCPA와 같은 규정을 준수하는 데 도움이 되기 때문입니다.
현재 iQ의 경우, 개인 데이터나 민감한 데이터는 LLM으로 전송되지 않고 스키마 추론만 전송됩니다. 향후 iQ에서는 프라이빗 데이터를 데이터 플레인 VPC 내의 프라이빗 호스팅 LLM으로 전송할 계획입니다.
외부 Gen AI 애플리케이션에서는 민감한 데이터를 퍼블릭 LLM으로 보내기 전에 필터링해야 하며, 비공개 데이터는 프라이빗 호스팅 또는 엔터프라이즈 LLM으로 직접 보낼 수 있습니다.
6. LLM 백엔드 프록시: 모델 상호 작용의 핵심
LLM 백엔드 프록시는 생성형 AI 애플리케이션의 아키텍처에서 중추적인 구성 요소입니다. 대규모 언어 모델(LLM)과의 모든 상호 작용이 라우팅되는 중앙 허브 역할을 하며 효율적인 커뮤니케이션, 적절한 모델 선택, 운영 제약 조건 준수를 보장합니다. 그 기능과 중요성에 대해 자세히 알아보세요.
LLM 백엔드 프록시의 책임
모델 선택
동적 모델 선택
LLM 백엔드 프록시는 쿼리 복잡성, 사용자 기본 설정, 모델 가용성 및 성능 메트릭과 같은 기준에 따라 각 작업에 적합한 언어 모델을 동적으로 선택합니다. 예를 들어 단순한 사실 쿼리는 경량 모델로 라우팅하고, 미묘한 이해가 필요한 복잡한 쿼리는 GPT-4 Turbo와 같은 고급 모델이나 Llama 3과 같은 전문화된 비공개 LLM으로 라우팅할 수 있습니다.
컨텍스트 인식 선택
프록시는 사용자 쿼리의 컨텍스트를 평가하고 특정 도메인에 맞게 미세 조정되거나 특수화된 모델을 선택하여 응답이 정확하고 컨텍스트와 관련이 있도록 보장합니다.
중재
콘텐츠 관리
프록시는 LLM에서 생성된 모든 응답이 사전 정의된 가이드라인과 윤리 기준을 준수하도록 보장합니다. 콘텐츠 필터링을 수행하여 유해하거나 불쾌감을 주거나 부적절한 콘텐츠의 생성을 방지하며, 이는 사용자 대면 애플리케이션의 신뢰와 안전을 유지하는 데 매우 중요한 역할을 합니다.
컨텍스트 제한
프록시는 LLM에 제공되는 입력 컨텍스트가 모델의 최대 토큰 한도를 초과하지 않도록 하여 성능을 최적화하고 오류나 중요한 정보의 잘림을 방지함으로써 컨텍스트 제한을 적용합니다.
요금 제한
스로틀링 요청
LLM 백엔드 프록시는 속도 제한을 구현하여 LLM으로 전송되는 요청의 흐름을 제어합니다. 이를 통해 시스템 리소스를 효율적으로 관리하고 모델 과부하를 방지하여 부하가 많은 상황에서도 응답성을 보장할 수 있습니다.
사용자별 한도
프록시는 시스템 남용이나 오용을 방지하기 위해 토큰 및 통화 제한 등 사용자별로 요금 제한을 적용할 수 있습니다. 예를 들어, 사용자는 공정한 사용을 위해 분당 특정 통화 수로 제한될 수 있습니다.
로깅 및 모니터링
포괄적인 로깅
프록시는 쿼리 매개변수, 응답 시간 및 발생한 오류를 포함하여 LLM과의 모든 상호 작용에 대한 자세한 로그를 유지합니다. 이러한 로그는 문제 해결, 감사 및 시스템 안정성 향상에 필수적입니다.
실시간 모니터링
프록시는 시스템 성능을 실시간으로 모니터링하여 관리자가 응답 시간, 쿼리 볼륨, 모델 활용도 등의 주요 지표를 추적할 수 있도록 지원하므로 사전 예방적 관리와 신속한 문제 해결이 용이합니다.
메트릭 및 애널리틱스와의 통합
서비스 메트릭
프록시는 LLM에서 오류 및 상태 코드에 대한 데이터를 수집하고 집계하여 모델 효율성, 정확성 및 리소스 소비에 대한 인사이트를 제공합니다. 이러한 지표는 지속적인 최적화와 서비스 안정성을 개선하는 데 매우 중요합니다.
사용자 상호작용 분석
프록시는 사용자 상호작용과 피드백을 추적하여 사용자 행동과 선호도를 파악하는 데 도움을 줍니다. 이 데이터는 모델 응답을 개선하고 전반적인 사용자 경험을 향상하는 데 사용할 수 있습니다.
7. 공개 및 비공개 LLM
현재 iQ 시스템은 Gen AI 작업을 수행하기 위해 널리 사용되는 퍼블릭 LLM(예: GPT-4 Turbo, Claude 3)을 통합하고 있습니다. 향후 iQ의 계획은 특정 사용 사례에 가장 적합한 모델을 유연하게 선택할 수 있도록 프라이빗 호스팅 LLM(예: Llama 3, )을 통합하는 것입니다.
퍼블릭 LLM은 강력한 기능을 제공하며 범용 애플리케이션에 이상적인 반면, 프라이빗 LLM은 특정 작업에 맞게 맞춤 설정하고 미세 조정할 수 있어 특수 애플리케이션에 더 나은 제어와 잠재적으로 더 나은 성능을 제공할 수 있습니다.
8. 중재 및 속도 제한
중재 및 컨텍스트 창 제한
이 구성 요소는 AI가 생성한 콘텐츠가 사전 정의된 가이드라인을 준수하고 문맥에 따른 창 제한을 벗어나지 않도록 합니다. 현재 iQ 구현에서는 유해하거나 부적절한 응답의 생성을 방지하기 위해 중재 검사가 시행되고 있지만, 현재 생성된 콘텐츠에는 추가적인 중재 조치가 적용되지 않습니다. LLM의 컨텍스트 창을 초과하는 것과 관련된 오류를 방지하기 위해 콘텐츠는 처음부터 모델의 컨텍스트 크기에 맞게 트리밍됩니다. 향후 iQ 버전에서는 이 컴포넌트가 캐싱, 피드백 관리, LLM 생성 콘텐츠의 샌드박스 스타일 실행과 같은 작업도 처리할 수 있습니다. 외부 생성 AI 애플리케이션에서 이 모듈은 유사한 조정 기능을 제공하여 안전한 콘텐츠 생성 프로세스를 보장할 수 있습니다.
속도 제한기
속도 제한기는 요청의 흐름을 관리하여 시스템 과부하를 방지하고 원활하고 신속한 운영을 보장합니다. 요청 수를 제어하여 과부하 상태에서도 성능과 안정성을 유지하는 데 도움이 됩니다. 사용자당 분당 통화 수, 사용자당 하루에 사용하는 토큰 수, 테넌트 수준에서 한 달 동안 사용한 토큰 수 등 여러 수준에서 속도 제한이 적용됩니다.
9. 메트릭 및 로깅
메트릭
메트릭은 시스템의 효율성과 효과를 모니터링하고 최적화하기 위해 수집됩니다. 메트릭은 시스템 성능에 대한 귀중한 인사이트를 제공하여 지속적인 개선과 최적화를 가능하게 합니다. SRE 관리 시스템에는 메트릭 데이터를 수집하고 차트를 통해 시각화하기 위한 전용 대시보드가 포함되어 있습니다.
로깅
로그는 문제 해결, 감사, 시스템 안정성 향상을 위해 유지됩니다. 로깅은 문제를 진단하고 시스템 동작을 추적하며 책임과 투명성을 보장하는 데 매우 중요합니다.
문서 및 벡터 스토리지에 Couchbase를 사용할 때의 이점
카우치베이스의 NoSQL 데이터베이스와 벡터 DB 기능은 이 아키텍처에서 몇 가지 이점을 제공합니다:
확장성: 수평적 확장을 지원하여 대량의 데이터를 손쉽게 처리합니다. 이는 방대한 양의 데이터를 실시간으로 처리해야 하는 AI 애플리케이션에 특히 중요합니다.
유연성: 다양한 데이터 모델(키-값, 문서) 및 복잡한 쿼리를 지원합니다. Couchbase는 유연성이 뛰어나 다양한 데이터 유형과 구조를 처리할 수 있어 역동적이고 진화하는 AI 애플리케이션에 이상적입니다.
성능: 실시간 AI 애플리케이션에 필수적인 짧은 지연 시간과 높은 처리량을 제공합니다. 카우치베이스의 성능은 시스템이 부하가 많은 상황에서도 빠르고 반응이 빠른 상호작용을 제공할 수 있도록 보장합니다.
AI 모델과 통합: AI 모델과 원활하게 통합되고 복잡한 쿼리를 처리할 수 있는 Couchbase는 제너레이티브 AI 애플리케이션을 위한 강력한 백엔드 솔루션입니다. 전체 텍스트 검색 및 벡터 검색을 지원하므로 고급 검색을 수행하고 정확한 결과를 제공하는 시스템의 기능이 향상됩니다.
Gen AI 구축 단계 요약
생성형 AI 애플리케이션의 워크플로는 사용자 인터페이스(CP-UI)에서 NLU 쿼리 입력으로 시작하여 아래의 일반적인 단계에 따라 콘텐츠 생성으로 끝납니다:
-
- 프롬프트 빌딩: 초기 NLU 쿼리는 프롬프트 빌더를 통해 구조화된 프롬프트로 변환됩니다. 이 단계에는 사용자 입력을 구문 분석하고 AI 모델이 효과적으로 이해하고 처리할 수 있는 형식을 구성하는 작업이 포함됩니다.
- 컨텍스트 구축: RAG/컨텍스트 빌더를 사용하여 관련 컨텍스트를 수집합니다. 이 단계에서는 쿼리와 관련된 외부 정보를 검색하여 정확하고 맥락에 적합한 답변을 생성하는 AI 모델의 능력을 향상시킵니다.
- 민감한 데이터 필터링: 프롬프트 및 컨텍스트 데이터에 민감한 정보가 없는지 확인합니다. 이 단계는 사용자 개인정보 보호 및 데이터 보호 규정 준수를 유지하는 데 매우 중요합니다. 다음으로, 필요한 모든 컨텍스트 페이로드를 사용하여 LLM 백엔드 프록시 REST 엔드포인트와 상호 작용합니다.
- 모델 선택 및 프록시: LLM 백엔드 프록시는 쿼리에 따라 적절한 모델을 선택하고 프롬프트를 전달합니다. 이 단계에서는 모델 기능, 성능 및 특정 사용 사례 요구 사항과 같은 요소를 고려하여 작업에 가장 적합한 모델을 선택합니다.
- 중재 및 요금 제한: 쿼리는 규정 준수 및 성능을 보장하기 위해 조정되고 속도가 제한됩니다. 이 단계에서는 콘텐츠의 적절성을 확인하고 과도한 요청으로 인해 시스템이 과부하가 걸리지 않도록 합니다.
- 응답 생성: 선택한 LLM이 응답을 생성한 다음 백엔드 프록시로 다시 스트리밍됩니다. 이 단계에는 프롬프트와 컨텍스트를 처리하여 사용자의 쿼리를 해결하는 자연어 응답을 생성하는 작업이 포함됩니다.
- 응답 빌딩: 처리된 응답은 사용자를 위해 구조화되고 형식이 지정됩니다. 이 단계에서는 AI가 생성한 원시 응답을 사용자가 이해하고 사용하기 쉬운 형식으로 변환하는 작업이 포함됩니다.
- 응답 전달: 최종 NLG 응답은 CP-UI를 통해 사용자에게 전달됩니다. 이 단계에서는 사용자에게 명확하고 사용자 친화적인 방식으로 응답을 표시합니다.
결론
Couchbase 데이터베이스와 생성형 AI 애플리케이션 아키텍처를 통합하면 최신 AI 요구 사항을 충족하는 강력한 솔루션을 제공합니다. 이 아키텍처는 Couchbase의 유연성과 확장성을 활용할 뿐만 아니라 강력한 데이터 처리, 효율적인 처리, 정확한 응답 생성을 보장합니다. 이 아키텍처를 채택함으로써 개발자는 오늘날의 동적 학습 데이터 환경의 요구 사항을 충족하는 고급 AI 애플리케이션을 구축할 수 있습니다.
카우치베이스의 강력한 데이터베이스 기능과 생성형 AI 모델의 고급 기능이 결합되어 혁신적이고 효율적인 AI 애플리케이션을 구축할 수 있는 탄탄한 기반을 제공합니다. 고객 지원 봇, 콘텐츠 생성기, 시맨틱 검색 또는 고급 데이터 분석 도구를 개발하든, 이 아키텍처는 경쟁이 치열한 AI 환경에서 성공하는 데 필요한 유연성, 성능 및 확장성을 제공합니다.
다음 단계
애플리케이션을 혁신할 수 있는 Couchbase와 제너레이티브 AI의 잠재력을 살펴보세요. 이 강력한 아키텍처의 강점을 활용하면 탁월한 성능, 정확성, 사용자 만족도를 제공하는 AI 기반 솔루션을 구축할 수 있습니다. 개발자, 데이터 과학자, 비즈니스 리더 등 누구에게나 Couchbase와 제너레이티브 AI의 통합은 혁신을 주도하고 목표를 달성하는 데 필요한 도구와 기능을 제공합니다.
이 아키텍처를 도입하여 차세대 AI 애플리케이션 구축을 위한 첫걸음을 내딛으세요. Couchbase의 NoSQL 및 벡터 데이터베이스의 강력한 성능과 생성형 AI 모델의 고급 기능을 활용하여 오늘날의 동적인 데이터 환경의 요구 사항을 충족하는 솔루션을 만들어 보세요. 이를 통해 새로운 기회를 창출하고 운영 효율성을 개선하며 사용자에게 탁월한 가치를 제공할 수 있습니다.
참조
감사
Capella iQ 팀(Keshav M, Steve Y, Dhinu S, Kamini J, Ravi K, Rob A, Piotr N, Elliot, Eben H, Sriram R, Nimiya J, Shaazin S, Bo-Chun, Sean C, Tyler M)에게 감사의 인사를 전합니다. 추가 리뷰를 도와주고 좋은 독자 경험을 만들어준 Mohan V에게 특별히 감사드립니다. 직간접적으로 도움을 주신 다른 분들께도 감사드립니다!