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를 제공합니다.
- 언어 모델: 로컬(기기 내) 또는 서버 기반의 open-prompt API가 있는 LLM 모델입니다. 이 API는 LanguageModel 인터페이스를 기반으로 합니다.
- 텍스트 임베딩 모델: 시맨틱 검색을 위해 구조화된 텍스트와 비정형 텍스트를 임베딩 벡터로 변환합니다. 이 API는 Embedder 인터페이스를 기반으로 합니다.
- 벡터 저장소: 벡터 저장소는 데이터 청크에서 파생된 임베딩과 메타데이터를 보유합니다. 유사한 청크 또는 정확한 일치를 가져오기 위해 쿼리할 수 있습니다. 이 API는 VectorStore 인터페이스를 기반으로 합니다.
- 시맨틱 메모리: 쿼리가 주어질 때 상위 k개 관련 청크를 검색하는 시맨틱 검색기 역할을 합니다. 이 API는 SemanticMemory 인터페이스를 기반으로 합니다.
- 텍스트 청크 처리: 색인 생성을 용이하게 하기 위해 사용자 데이터를 더 작은 단위로 분할합니다. 이 API는 TextChunker 인터페이스를 기반으로 합니다.
SDK는 단일 파이프라인에 여러 RAG 구성요소를 결합하는 체인을 제공합니다. 체이닝을 사용하여 검색 및 쿼리 모델을 조정할 수 있습니다. 이 API는 Chain 인터페이스를 기반으로 합니다. 시작하려면 검색 및 추론 체인 또는 검색 체인을 사용해 보세요.