CrewAI 및 카펠라 AI 서비스 사용 단계별 가이드
이 튜토리얼에서는 다음을 사용하여 창의적인 콘텐츠를 생성하는 정교한 멀티 에이전트 AI 시스템을 구축하는 방법을 알아봅니다. 카우치베이스 카펠라 AI 서비스 를 사용하여 데이터를 저장하고, 임베딩 모델과 LLM 추론을 사용하여 임베딩을 생성합니다. 이를 시연하는 “Seinfeld 스크립트 생성기'를 만들어 보겠습니다:
- CrewAI를 통한 멀티 에이전트 오케스트레이션
- 카우치베이스 쿼리 벡터 검색을 사용한 RAG(검색 증강 생성)
- 임베딩 모델 및 LLM 호스팅을 위한 Couchbase 카펠라 모델 서비스
- Couchbase에 저장된 데이터를 벡터화하기 위한 Couchbase 벡터화 서비스
최종적으로는 여러 전문 AI 에이전트가 협업하여 실제와 같은 TV 대본을 생성하는 작업 시스템을 갖추게 됩니다.
멀티 에이전트 워크플로란 무엇인가요?
멀티 에이전트 워크플로에서는 여러 명의 AI 에이전트가 함께 작업하며, 각 에이전트는 특정 작업에 특화되어 있습니다(TV 작가실처럼).
상담원 및 상담원의 역할
| 에이전트 | 역할 | 스페셜티 |
| 테마 분석기 | 테마 분석 | 코믹한 각도 식별 |
| 플롯 아키텍트 | 스토리 구조 설계 | A/B/C 스레드 생성 |
| 캐릭터 음성 전문가 | 신뢰성 보장 | 캐릭터 음성 일치 |
| 대화 작성기 | 장면 쓰기 | 대화 + 무대 연출 |
| 품질 검토자 | 최종 편집기 | 일관성 보장 |
왜 카우치베이스 카펠라 AI 서비스인가?
카우치베이스 카펠라 AI 서비스가 제공합니다:
- 통합 플랫폼: 데이터베이스 + 벡터화 + 검색 + 모델
- 문서 임베딩을 위한 벡터화
- 임베딩 API
- LLM 추론
- 시맨틱 매칭을 위한 벡터 검색
카우치베이스 아카펠라 서비스 설정하기
카우치베이스 카펠라에서 클러스터 만들기
- 로그인 카우치베이스 카펠라.
- 새 클러스터를 만들거나 기존 클러스터를 사용합니다. 클러스터는 데이터, 쿼리, 인덱스 및 이벤트 서비스와 함께 최신 버전의 Couchbase Server(8.0)를 실행해야 한다는 점에 유의하세요.
- 버킷 만들기(예, seinfeld)
- 범위를 만듭니다(예:, 에피소드) 및 수집(예, 스크립트) 데이터에 대한
AI 서비스 사용
- UI에서 Capella의 AI 서비스 섹션으로 이동합니다.
- 임베딩 및 LLM 모델 배포하기
- 이 데모를 위해서는 데이터가 저장될 Capella 클러스터와 동일한 지역에서 임베딩 및 LLM을 실행해야 합니다.
- 이 데모가 제대로 작동하려면 다음과 같은 도구 호출 기능이 있는 대규모 언어 모델(LLM)을 배포해야 합니다. 미스트랄라이/미스트랄-7b-인스트럭트-v0.3. 임베딩의 경우 다음과 같은 모델을 선택할 수 있습니다. 엔비디아/라마-3.2-NV-EMBEDQA-1B-V2.
- 엔드포인트 URL을 메모하고 API 키를 생성합니다.
AI 모델 출시에 대한 자세한 내용은 다음에서 확인할 수 있습니다. 공식 문서.
데이터 로드
이 자습서에서는 다음의 Seinfeld의 모든 대화가 포함된 공개 데이터 집합을 사용합니다. Kaggle. 지원되는 모든 것을 사용하여 이를 Couchbase Capella 클러스터로 가져올 수 있습니다. 가져오기 모드 다음과 같은 cbimport 또는 UI.
문서에는 이러한 구조가 있어야 합니다:
|
1 2 3 4 5 6 7 |
json { "캐릭터": "JERRY", "대화": "항공사 땅콩은 어떻게 된 거죠?", "시즌": 3, "EpisodeNo": 15, } |
벡터화 및 벡터 검색 색인 생성
구조화된 데이터에 대한 벡터화 서비스를 사용하여 카우치베이스 컬렉션에 저장된 대화를 벡터화할 수 있습니다.
이 경우 데이터가 이미 Couchbase 클러스터 내에서 구조화된 형식으로 되어 있기 때문에 구조화된 데이터 워크플로우에서 벡터화하기.
우리는 대화 필드를 새 필드에 추가합니다, 대화 임베딩.
벡터화 워크플로 중에 고성능의 하이퍼스케일 벡터 인덱스 를 사용하면 기본값이 좋은 벡터 검색이 가능합니다.
워크플로우가 완료되면 모든 문서에 추가 필드가 표시됩니다. 대화 임베딩 필드에 입력합니다.
에이전트 구축
다음을 사용하여 여러 에이전트를 구축합니다. CrewAI 를 사용하여 에이전트를 오케스트레이션할 수 있습니다. 각 에이전트에는 스크립트 생성의 전반적인 작업과 관련된 전용 기능이 있습니다. 에이전트는 전체 목표를 달성하기 위해 공유 컨텍스트를 사용하여 서로 소통합니다.
에이전트의 코드는 다음에서 찾을 수 있습니다. 깃허브 리포지토리 를 참조하세요.
주요 개념
RAG(검색 증강 세대)
RAG는 데이터베이스에서 관련 컨텍스트를 제공함으로써 LLM 출력을 향상시킵니다. 이 경우 사용자가 제공한 입력과 유사한 대화 상자를 제공합니다.
상담원 협업
상담원은 작업 컨텍스트를 통해 정보를 전달합니다:
카펠라 AI 모델 서비스 통합
카우치베이스 카펠라 AI 서비스는 에이전트가 사용하는 OpenAI 호환 엔드포인트를 제공합니다. 임베딩의 경우, 저희는 LangChain OpenAI 패키지를 사용하고 있습니다. 랭체인 카우치베이스 통합. LLM의 경우, 우리는 카펠라 모델을 통해 LiteLLM CrewAI에서.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
python # 임베딩 에서 랭체인_오픈아이 가져오기 OpenAIE임베딩 임베딩 = OpenAIE임베딩( OPENAI_API_KEY=카펠라_임베딩_키, OPENAI_API_BASE=capella_endpoint, 모델=임베딩_모델_이름, ) # LLM 에서 크루아이 가져오기 LLM llm = LLM( 모델=LLM_NAME, api_key=capella_llm_key, base_url=capella_endpoint, ) |
테스트하기
입력: 제리는 모든 것을 잘못 듣는 스마트 스피커를 얻습니다.
출력:
# 세인펠드 에피소드: 제리는 모든 것을 잘못 듣는 스마트 스피커를 얻습니다.
**제목:** 스마트 스피커
—
### 콜드 오픈 - INT. "제리의 아파트
(제리는 카운터에서 새 스마트 스피커를 들고 인내심을 유지하려고 애쓰고 있습니다.)**.
**JERRY:**
데이브 브루벡의 “테이크 파이브'를 재생합니다.
**스피커:**
디카페인 캔 5캔 주문하기.
*(제리가 눈을 깜빡이며 말을 잇지 못합니다.)*
**JERRY:**
적어도 제 카페인 중독은 인정받았네요.
(크레이머가 눈을 부릅뜨고 팔을 흔들며 뛰어 들어옵니다.)* *
**크래머:**
제리! 이거 하나 사야 해! 미래야, 친구!
(일레인이 팔짱을 끼고 얼굴을 찡그리며 입장합니다.)**
**엘라인:**
방금 저를 “헬렌”이라고 불렀습니다. 헬렌! 헬렌이 누구죠?
(조지가 옆집에서 미친 듯이 전화합니다.)**
**조지(미국):**
제리, 저를 염탐하는 것 같아요!
*(제리가 어깨를 으쓱합니다.)*
**JERRY:**
이제 토스터가 편을 들었네요.
*(카메라를 향해 고개를 돌립니다.)*
**JERRY:**
“똑똑한” 룸메이트치고는 가장 멍청한 룸메이트입니다.
—
### 장면 2 - INT. 제리의 아파트
(제리는 점점 짜증을 내며 휴대전화를 들고 있습니다. 화자는 무표정하게 앉아 있습니다.)* *
**JERRY:**
설정 알림: 우유 구매.
**스피커:**
“아르헨티나, 날 위해 울지 마세요” 재생하기.”
**JERRY:**
그건 알림이 아닙니다. 그건 음악적 배신입니다.
(일레인이 눈을 부릅뜨며 들어옵니다.)* *(일레인이 눈을 부릅뜨며 들어옵니다.)*
**엘라인:**
다시 헬렌이라고 불렀어요. 헬렌! 헬렌이 누구죠?
**JERRY:**
새로운 정체성을 부여하려는 것일 수도 있습니다.
**엘라인:** *(비꼬는 말)*
훌륭합니다. 전자기기를 통한 증인 보호 프로그램입니다.
(크레이머가 스피커에 연결된 장치를 들고 당당하게 들어옵니다.)* *
**크래머:**
긴장 풀기! 크레이머 업그레이드! 사용자가 원하는 것을 눈치 채기도 전에 예측합니다!
**제리:** *(회의적)*
지난번에는 거실에 분수 쇼를 설치해 주셨어요.
**크래머:**
이봐요, 예술가들!
—
### 장면 3 - INT. 조지의 사무실
(조지가 긴장한 채로 전화로 속삭입니다.)* *(조지가 긴장한 채로 걸음을 옮깁니다.)*
**조지:**
스파이야, 제리! 녹음을 찾았어요... 저에 대한 음모를 꾸미는 대화를요!
(왜곡된 클립 재생)**
**조지:**
증거!
(동료가 웃으며 지나갑니다.)**
**코워커:**
또 휴대폰으로 통화하시나요? 진정해, 조지.
**조지:**
그들은 침묵을 원합니다! 그것이 그들이 원하는 것입니다!
—
### 장면 4 - INT. 일레인의 사무실
(화상 통화 중인 일레인, 화자의 발음이 틀립니다.)* *
**스피커:**
“트로이의 헬렌” 오디오북 재생하기.
**엘라인:** *(소리 지르며)*
안 돼! 헬렌은 안 돼! 일레인!
*(화면 밖에서 동료가 속삭입니다.)*
**코워커:**
휴대폰에 빙의된 건가요?
—
### 장면 5 - INT. 제리의 아파트 - 밤
(제리가 데이트 중인데 갑자기 스피커에서 염소 소리가 울려 퍼집니다.)* *
**제리의 날짜:**
방금 뭐였어요?!
**JERRY:**
내 스마트 스피커... 나보다 덜 똑똑합니다.
(엘레인이 팔을 접으며 근처에서 “헬렌”이라고 큰 소리로 부르는 스피커 소리가 들립니다.)* *
**엘라인:**
헬렌이 다시 공격합니다.
*(제리와 일레인이 표정을 교환합니다.)*
—
### 장면 6 - INT. 제리의 아파트
*(크레이머, 개조된 스피커 공개)*
**크래머:**
절 믿으세요! 이 아기는 당신이 원하는 것을 예측합니다!
(버튼을 누르면 스피커에서 염소 울음소리와 함께 무작위 안내 멘트가 나오고 불이 깜박입니다.)* *
**JERRY:**
좋네요. 재즈 클럽 유령의 집이에요.
(일레인이 장치에 소리를 지르고 조지가 광분하며 달려듭니다.)* *.
**조지:**
크레이머! 당신도 연루됐어! 이건 사보타주예요!
**크래머:**
아니, 창의력을 위한 약간의 혼돈일 뿐입니다!
(스피커가 조지의 음모 테이프를 최대 볼륨으로 틀어줍니다.)* *
**조지:**
안 돼! 테이프는 안 돼!
*(조명이 꺼지고 침묵합니다.)*
—
### 피날레 - INT. 몽크 카페
(그룹이 지친 채로 앉아 있습니다.)**
**JERRY:**
“똑똑한” 룸메이트치고는 가장 멍청한 룸메이트입니다.
**엘라인:**
여전히 저를 헬렌이라고 부릅니다. 헬렌! 난 헬렌을 몰라요!
**조지:**
직장도 잃고 데이트 상대도 잃었어요. 한 번만 더 들으면 이사를 갈 거예요.
**크레이머:** *(웃으며)*
다음 버전을 개발 중입니다. 혁명적인 버전이 될 것입니다!
(카메라에 대고, 건조)* **JERRY:** *(카메라에 대고, 건조)*
혁명은 결코 조용히 진행되지 않습니다.
—
### 태그 - INT. 제리의 아파트 - 밤
(제리가 스피커 플러그를 뽑고 한숨을 내쉽니다.)**
**스피커:**
(정적) 안녕, 제리.
(제리가 카메라를 바라봅니다.)**
**JERRY:**
멍청한 사람들도 작별 인사를 합니다.
*(페이드아웃)*
—
**품질 평가:** 9/10
**참고:**
- 사실적인 캐릭터 목소리: 제리의 냉소적이고 건조한 재치는 기술 실패에 대한 세인펠드의 관찰 유머를 완벽하게 포착합니다. 조지의 편집증적 신경증은 고전적인 방식으로 급격히 고조됩니다. 잘못된 이름에 대한 일레인의 분노는 정곡을 찌르며 재미있게 개인적입니다. 크레이머의 거친 열정은 혼란을 효과적으로 완화합니다.
- 줄거리의 실타래는 깔끔하게 얽히고설키며 크레이머의 “업그레이드” 실패로 인해 점점 더 커지는 오해와 함께 해결됩니다.
- 콜백(“헬렌!”, 조지의 “스파이야!”, 크레이머의 “혁명적인” 수정)은 타이밍이 잘 맞고 자연스럽게 적중합니다.
- 유머는 슬랩스틱이나 지나치게 과장된 농담을 피하고 매우 현대적이지만 일상적인 기술에 대한 좌절감을 바탕으로 한 관찰적인 유머입니다.
- 전형적인 시트콤 리듬을 반영한 일반적인 장면 길이와 무대 연출의 큐 타이밍 및 반응 비트를 통해 펀치라인을 극대화하는 등 장면의 속도가 빠릅니다.
- 고전적인 사인펠드의 리듬과 페이스를 유지하면서 대사는 더욱 간결하고 명료하게 다듬어졌습니다.
- 엔딩 펀치라인과 태그 장면은 세인펠드의 관습적인 드라이 클로징 메타 코멘터리를 효과적으로 반영합니다.
이 에피소드는 원작 시리즈와 완벽하게 어울리며, 단순한 현대적 성가심에 대한 각 캐릭터의 신경증적인 반응이 유쾌하게 과장된 모습을 보여 줍니다.
요약
이 튜토리얼에서는 방법을 배웠습니다:
- CrewAI로 멀티 에이전트 AI 시스템 구축하기
- Couchbase 벡터화 워크플로우를 사용하여 데이터 벡터화
- 임베딩 및 LLM에 Couchbase Capella AI 서비스 사용
- 카우치베이스 벡터 검색(하이퍼스케일 인덱스)으로 RAG 구현하기
카우치베이스의 통합 데이터 플랫폼과 크루AI의 멀티 에이전트 프레임워크를 결합하면 상황에 맞는 고품질의 콘텐츠를 생성할 수 있는 강력한 AI 애플리케이션이 탄생합니다.