생성형 AI 시작하기

이 페이지에서는 앱에 생성형 AI 기능을 구현하는데 도움을 줍니다. 생성형 AI와 관련된 Firestore의 기능과 통합을 설명합니다.

Cloud Firestore를 사용한 벡터 검색 빠른 시작

제품 추천 및 챗봇과 같은 사용 사례를 위한 혁신적인 AI 기반 솔루션 개발에는 벡터 유사성 검색, 줄여서 벡터 검색이 필요한 경우가 많습니다. 데이터를 다른 벡터 검색 솔루션에 복사할 필요 없이 운영을 간소화하고 효율적으로 Firestore 데이터에 대한 벡터 검색을 수행할 수 있습니다.

Cloud Firestore 벡터 검색의 핵심 워크플로는 4단계로 구성됩니다.

블로그 게시물에서 벡터 검색 제대로 이해하기

벡터 임베딩 생성

벡터 검색을 활용하는 첫 번째 단계는 벡터 임베딩을 생성하는 것입니다. 임베딩은 나타내는 항목 간의 시맨틱 또는 구문적 유사성을 캡처하는 텍스트, 이미지, 동영상과 같은 여러 종류의 데이터 표현입니다. 임베딩은 Vertex AI Text Embeddings API와 같은 서비스를 사용하여 계산할 수 있습니다.

Firestore에 임베딩 저장

임베딩이 생성되면 지원되는 SDK 중 하나를 사용하여 Firestore에 임베딩을 저장할 수 있습니다. 이 작업은 NodeJS SDK에서 다음과 같이 표시됩니다.

const db = new Firestore();
let collectionRef = db.collection("beans");
await collectionRef.add({
  name: "Kahawa coffee beans",
  type: "arabica",
  description: "Information about the Kahawa coffee beans.",
  embedding_field: FieldValue.vector([0.1, 0.3, ..., 0.2]), // a vector with 768 dimensions
});

벡터 색인 만들기

다음 단계는 벡터 임베딩이 저장되는 Firestore KNN 벡터 색인을 만드는 것입니다. 프리뷰 출시 중에는 gcloud 명령줄 도구를 사용하여 색인을 생성해야 합니다.

모든 벡터 임베딩을 추가하고 벡터 색인을 만들었으면 검색을 실행할 준비가 되었습니다. 그런 다음 컬렉션 참조에 대해 find_nearest 호출을 활용하여 저장된 임베딩을 비교할 쿼리 벡터 임베딩을 전달하고 활용하려는 거리 함수를 지정합니다.

블로그 게시물에서 워크플로와 더 많은 사용 사례를 다시 살펴보세요.

요약: 벡터 임베딩을 저장하고 쿼리합니다.

사용 사례: 이 기능은 다른 도구 및 기능에서 사용됩니다.

벡터 검색 가이드 참조

솔루션: Firebase를 사용한 벡터 검색 확장 프로그램

요약: Firebase 확장 프로그램을 사용하여 벡터 검색 기능으로 Firestore 문서를 자동으로 삽입하고 쿼리합니다.

사용 사례: Firebase 프로젝트에서 자동 벡터 검색을 수행합니다.

확장 프로그램 설명 검토

솔루션: LangChain 통합

요약: Firestore를 LangChain의 벡터 저장소, 문서 로더 또는 채팅 메시지 기록 소스로 사용합니다.

사용 사례: 생성형 AI 애플리케이션 또는 검색 증강 생성(RAG) 워크플로를 빌드합니다.

LangChain 가이드 참조

솔루션: Genkit

요약: Firebase Genkit는 프로덕션에 즉시 사용 가능한 AI 기반 앱 빌드, 배포, 모니터링을 지원하는 오픈소스 프레임워크입니다.

사용 사례: Genkit 및 Cloud Firestore를 사용하여 커스텀 콘텐츠를 생성하고, 시맨틱 검색을 사용하며, 구조화되지 않은 입력을 처리하고, 비즈니스 데이터를 바탕으로 질문에 답하는 등 다양한 작업을 수행할 수 있는 앱을 만듭니다.

Firebase Genkit 문서 참조