AI Edge RAG SDK는 LLM 추론 API를 사용하여 검색 증강 생성 (RAG) 파이프라인을 구성하는 기본 구성요소를 제공합니다. RAG 파이프라인은 업데이트된 정보, 민감한 정보 또는 도메인별 정보를 포함할 수 있는 사용자 제공 데이터에 대한 액세스 권한을 LLM에 제공합니다. RAG의 정보 검색 기능이 추가됨에 따라 LLM은 특정 사용 사례에 대해 더 정확하고 맥락을 인식하는 응답을 생성할 수 있습니다.
AI Edge RAG SDK는 Android에서 사용할 수 있으며 완전히 기기에서 실행할 수 있습니다. RAG를 사용하여 샘플 애플리케이션의 기본 구현을 안내하는 Android 가이드에 따라 SDK 사용을 시작하세요.
RAG 파이프라인
AI Edge RAG SDK로 RAG 파이프라인을 설정하는 데는 다음과 같은 주요 단계가 포함됩니다.
- 데이터 가져오기: LLM이 출력을 생성할 때 사용할 텍스트 데이터를 제공합니다.
- 데이터 분할 및 색인 생성: 데이터베이스에서 색인을 생성할 수 있도록 데이터를 작은 청크로 나눕니다.
- 임베딩 생성: 임베더를 사용하여 청크를 벡터화하여 벡터 데이터베이스에 저장합니다.
- 정보 검색: 사용자 프롬프트를 해결하기 위해 관련 정보를 식별하고 검색하는 방법을 정의합니다. 지정된 프롬프트의 경우 검색 구성요소가 벡터 데이터베이스를 검색하여 관련 정보를 식별합니다.
- LLM으로 텍스트 생성: 대규모 언어 모델을 사용하여 벡터 데이터베이스에서 검색된 정보를 기반으로 출력 텍스트를 생성합니다.
주요 모듈
AI Edge RAG SDK는 RAG 파이프라인을 위한 다음과 같은 주요 모듈과 API를 제공합니다.
- 언어 모델: 로컬 (기기 내) 또는 서버 기반의 오픈 프롬프트 API가 있는 LLM 모델입니다. API는 LanguageModel 인터페이스를 기반으로 합니다.
- 텍스트 임베딩 모델: 시맨틱 검색을 위해 구조화된 텍스트와 구조화되지 않은 텍스트를 임베딩 벡터로 변환합니다. API는 Embedder 인터페이스를 기반으로 합니다.
- 벡터 저장소: 벡터 저장소는 데이터 청크에서 파생된 임베딩과 메타데이터 를 보유합니다. 유사한 청크 또는 정확한 일치를 가져오기 위해 쿼리할 수 있습니다. API는 VectorStore 인터페이스를 기반으로 합니다.
- 시맨틱 메모리: 쿼리가 주어지면 상위 k개의 관련 청크를 검색하기 위한 시맨틱 검색기로 사용됩니다. API는 SemanticMemory 인터페이스를 기반으로 합니다.
- 텍스트 청크: 색인을 생성하기 위해 사용자 데이터를 더 작은 조각으로 분할합니다. API는 TextChunker 인터페이스를 기반으로 합니다.
SDK는 단일 파이프라인에서 여러 RAG 구성요소를 결합하는 체인을 제공합니다. 체인을 사용하여 검색 및 쿼리 모델을 오케스트레이션할 수 있습니다. API 는 Chain 인터페이스를 기반으로 합니다. 시작하려면 검색 및 추론 체인 또는 검색 체인을 사용해 보세요.