생성 AI(GenAI)

CodeLab: 카우치베이스 아카펠라 모델 서비스와 LangChain으로 RAG 애플리케이션 구축하기

이 튜토리얼에서는 다음을 구축하는 방법을 알아봅니다. 검색 증강 생성(RAG) 애플리케이션을 사용하여 카우치베이스 AI 서비스 를 사용하여 데이터를 저장하고, 임베딩 모델을 사용하여 임베딩을 생성하고, LLM 추론을 수행합니다. RAG 시스템을 만들어 보겠습니다:

  1. 에서 뉴스 기사를 수집합니다. BBC 뉴스 데이터 세트.
  2. 를 사용하여 벡터 임베딩을 생성합니다. NVIDIA NeMo 리트리버 카펠라 모델 서비스를 통한 모델.
  3. 이러한 벡터를 다음 위치에 저장하고 인덱싱합니다. 카우치베이스 카펠라.
  4. 시맨틱 검색을 수행하여 관련 컨텍스트를 검색합니다.
  5. 를 사용하여 답변을 생성합니다. 미스트랄-7B LLM은 카펠라에서 호스팅됩니다.

이 코드랩의 노트북 소스 코드를 찾을 수 있습니다. 여기.

왜 카우치베이스 AI 서비스인가?

카우치베이스 AI 서비스가 제공합니다:

  • LLM 추론 및 임베딩 API: 외부 API 키나 인프라를 관리할 필요 없이 Capella를 통해 인기 있는 LLM(예: Llama 3)과 임베딩 모델에 직접 액세스할 수 있습니다.
  • 통합 플랫폼: 데이터베이스, 벡터화, 검색, 모델을 한 곳에서 활용하세요.
  • 통합 벡터 검색: 밀리초 단위의 지연 시간으로 JSON 데이터에서 직접 시맨틱 검색을 수행하세요.

Couchbase AI 서비스 설정

아카펠라에서 클러스터 만들기

  1. 로그인 카우치베이스 카펠라.
  2. 새 클러스터를 만들거나 기존 클러스터를 사용합니다. 클러스터는 데이터, 쿼리, 인덱스 및 이벤트 서비스를 포함하는 최신 버전의 Couchbase Server 8.0을 실행해야 한다는 점에 유의하세요.
  3. 버킷을 만듭니다.
  4. 데이터의 범위와 컬렉션을 만듭니다.

AI 서비스 사용

  1. UI에서 Capella의 AI 서비스 섹션으로 이동합니다.
  2. 임베딩 및 LLM 모델을 배포합니다.
    • 이 데모를 위해서는 데이터가 저장될 Capella 클러스터와 동일한 지역에서 임베딩 및 LLM을 실행해야 합니다.
    • 이 데모가 제대로 작동하려면 다음과 같은 도구 호출 기능이 있는 LLM을 배포해야 합니다. 미스트랄라이/미스트랄-7b-인스트럭트-v0.3. 임베딩의 경우 다음과 같은 모델을 선택할 수 있습니다. 엔비디아/라마-3.2-NV-EMBEDQA-1B-V2.
  3. 엔드포인트 URL을 적어두고 API 키를 생성합니다.

AI 모델 출시에 대한 자세한 내용은 다음을 참조하세요. 공식 문서.

전제 조건

시작하기 전에 Python 3.10 이상이 설치되어 있는지 확인하세요.

1단계: 종속성 설치

Couchbase SDK, LangChain 통합, 데이터 세트 라이브러리가 필요합니다.

2단계: 구성 및 연결

먼저 Couchbase 클러스터에 연결합니다. 또한 Capella 모델 서비스에 대한 엔드포인트를 구성해야 합니다.

참고: Capella 모델 서비스는 OpenAI API 형식과 호환되므로 표준을 사용할 수 있습니다. 랑체인-오픈아이 라이브러리를 Capella 엔드포인트로 가리키면 됩니다.

3단계: 데이터베이스 구조 설정

뉴스 데이터를 저장할 버킷, 범위, 컬렉션이 있는지 확인해야 합니다.

4단계: 카우치베이스 벡터 검색 인덱스 불러오기

시맨틱 검색은 사용자의 쿼리를 기반으로 관련 문서를 효율적으로 검색할 수 있는 방법이 필요합니다. 바로 이 부분에서 이전에 전체 텍스트 검색(FTS) 서비스로 알려진 Couchbase Vector Search가 활약합니다. 이 단계에서는 인덱스의 구조화 방법을 지정하는 JSON 파일에서 벡터 검색 인덱스 정의를 로드합니다. 여기에는 인덱싱할 필드, 벡터의 차원, 그리고 검색 엔진이 벡터 유사성을 기반으로 쿼리를 처리하는 방법을 결정하는 기타 매개변수가 포함됩니다.

5단계: AI 모델 초기화

임베딩 모델을 초기화하는 방법은 다음과 같습니다. OpenAIE임베딩 하지만 카펠라를 가리킵니다. 카우치베이스 AI 서비스는 에이전트가 사용하는 OpenAI 호환 엔드포인트를 제공합니다. 임베딩의 경우, LangChain Couchbase 통합과 함께 사용되는 LangChain OpenAI 패키지를 사용하고 있습니다.

6단계: 데이터 수집

BBC 뉴스 데이터 세트를 로드하여 Couchbase에 수집합니다. 그리고 카우치베이스검색벡터스토어 는 정의된 모델을 사용하여 임베딩을 생성하고 저장하는 작업을 자동으로 처리합니다.

7단계: RAG 체인 구축

이제 RAG 파이프라인을 생성합니다. LLM을 초기화하고(다시 카펠라를 가리킴) 이를 벡터 스토어 리트리버에 연결합니다.

8단계: 쿼리 실행

RAG를 테스트해 보겠습니다.

출력 예시:

답변: 펩 과르디올라 감독은 맨체스터 시티의 최근 성적에 대해 우려와 좌절감을 표명했습니다. 그는 “나는 충분하지 않다. 나는 감독이다... 나는 해결책을 찾아야 한다.”라고 말했습니다. 그는 팀의 수비 문제와 자신감 부족을 인정했습니다.

결론

이 튜토리얼에서는 방법을 배웠습니다:

  1. Couchbase를 사용하여 데이터를 벡터화합니다.
  2. 임베딩 및 LLM에 Couchbase AI 서비스를 사용하세요.
  3. 카우치베이스 벡터 검색으로 RAG를 구현하세요.

Couchbase의 통합 데이터베이스 플랫폼은 상황에 맞는 고품질의 콘텐츠를 생성할 수 있는 강력한 AI 애플리케이션을 만듭니다.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 로랑 도귄

Laurent는 파리에 사는 괴짜 금속공학도입니다. 주로 Java로 코드를 작성하고 AsciiDoc으로 구조화된 텍스트를 작성하며 데이터, 리액티브 프로그래밍 및 기타 유행어에 대해 자주 이야기합니다. 또한 Clever Cloud와 Nuxeo의 개발자 옹호자로 활동하며 해당 커뮤니티가 더 크고 강력하게 성장할 수 있도록 자신의 시간과 전문성을 바쳤습니다. 현재 Couchbase에서 개발자 관계를 운영하고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.