카우치베이스 카펠라가 AI 서비스용 비공개 미리 보기! 체크 아웃 이 블로그 에서 이러한 서비스가 어떻게 클라우드 네이티브의 확장 가능한 AI 애플리케이션과 AI 에이전트를 구축하는 프로세스를 간소화하는지에 대한 개요를 확인하세요.
이 블로그에서는 모델 서비스 - 개인 언어 모델과 임베딩 모델을 안전하고 대규모로 배포할 수 있는 Capella의 기능입니다. 이 서비스를 사용하면 추론이 데이터에 가깝게 실행되어 성능과 규정 준수를 개선할 수 있습니다.
카펠라 모델 서비스를 사용하는 이유는 무엇인가요?
많은 기업이 AI 에이전트를 개발할 때 보안 및 규정 준수 문제에 직면합니다. 다음과 같은 규정으로 인해 GDPR 및 개인 정보 보호기업은 개방형 언어 모델을 사용하거나 내부 네트워크 외부에 데이터를 저장할 수 없는 경우가 많습니다. 이로 인해 AI 기반 솔루션을 탐색할 수 있는 능력이 제한됩니다.
그리고 카펠라 모델 서비스 는 고객의 클러스터와 동일한 내부 네트워크 내에 비공개 언어 모델을 배포하는 데 따르는 운영상의 복잡성을 간소화하여 이 문제를 해결합니다.
이를 통해 보장합니다:
-
- 추론에 사용되는 데이터 운영 클러스터의 가상 네트워크 경계를 벗어나지 않습니다.
- 짧은 지연 시간 추론 최소한의 네트워크 오버헤드로 인해
- 규정 준수 엔터프라이즈 데이터 보안 정책
아카펠라 모델 서비스의 주요 기능
-
- 안전한 모델 배포 - 안전한 샌드박스 환경에서 모델 실행
- OpenAI 호환 API 및 SDK 지원 - Langchain과 같은 OpenAI 호환 라이브러리 및 프레임워크로 Capella 호스팅 모델을 쉽게 호출할 수 있습니다.
- 성능 향상 - 효율성을 위한 캐싱 및 일괄 처리 부가 가치 제공 기능 포함
- 중재 도구 - 콘텐츠 관리 및 키워드 필터링 기능 제공
시작하기: Capella에서 모델 배포 및 사용
간단한 튜토리얼을 통해 Capella에서 모델을 배포하고 기본 AI 작업에 사용하는 방법을 살펴보세요.
학습 내용
-
- 카펠라에 언어 모델 배포
- 다음 모델 사용 채팅 완료
- 탐색하기 부가 가치 기능
전제 조건
시작하기 전에 다음 사항을 확인하세요:
- 비공개 미리 보기에 가입하고 조직을 위한 AI 서비스를 사용 설정했습니다. 여기에서 가입하세요!
- 조직 소유자 역할 언어 모델 관리 권한
- 멀티 AZ 운영 클러스터 (성능 향상을 위해 권장됨)
- 샘플 버킷 캐싱 및 일괄 처리와 같은 부가 가치 기능을 활용하기 위해
1단계: 언어 모델 배포
학습 목표: Capella에서 개인 언어 모델을 배포하고 키 설정을 구성하는 방법을 알아보세요.
다음으로 이동합니다. AI 서비스 를 클릭하고 모델 서비스 를 클릭하여 계속 진행합니다.
모델 구성 선택
-
- 선택 운영 클러스터 모델에 대한
- 정의 컴퓨팅 크기 조정 을 클릭하고 기초 모델
아래로 스크롤하면 여러 가지를 선택할 수 있는 옵션이 표시됩니다. 부가 가치 서비스 Capella에서 제공합니다.
각 섹션의 의미를 이해해 보겠습니다.
캐싱
캐싱을 사용하면 LLM 응답을 효율적으로 저장하고 검색할 수 있어 비용을 절감하고 응답 시간을 개선할 수 있습니다. 대화형, 표준, 시맨틱 캐싱 중에서 선택할 수 있습니다.
캐싱을 사용하면 LLM에 대한 호출을 줄임으로써 비용을 절감하고 검색 속도를 높일 수 있습니다. 또한 캐싱을 사용하여 챗봇 세션 내에 대화를 저장하여 향상된 대화 경험을 위한 컨텍스트를 제공할 수도 있습니다.
캐시 스토리지 및 캐싱 전략 선택
버킷, 범위 및 컬렉션 필드에서 빠른 검색을 위해 추론 응답이 캐시될 클러스터의 지정된 버킷을 선택합니다.
그런 다음 캐싱 전략을 선택하여 '대화형', '표준' 및 '시맨틱' 캐싱을 포함합니다.
시맨틱 캐싱의 경우, 모델 서비스인 임베딩 모델 활용 - 를 사용하면 동일한 클러스터에 대한 임베딩 모델을 미리 만들거나 이 화면에서 즉석에서 생성하는 것이 유용합니다.
여기서는 시맨틱 캐싱을 위해 사전 배포된 임베딩 모델을 선택했습니다.
가드레일
가드레일은 Llama-3 가드 모델을 활용하여 사용자 프롬프트와 모델 응답 모두에 대한 콘텐츠 검토 기능을 제공합니다. 다양한 AI 애플리케이션 요구 사항에 맞게 사용자 지정 가능한 중재 템플릿을 사용할 수 있습니다.
지금은 기본 구성을 유지하면서 앞으로 나아갈 것입니다.
키워드 필터링
키워드 필터링을 사용하면 프롬프트 및 응답에서 제거할 키워드를 최대 10개까지 지정할 수 있습니다. 예를 들어 '기밀' 또는 '기밀'과 같은 용어를 필터링하면 민감한 정보가 응답에 포함되는 것을 방지할 수 있습니다.
일괄 처리
일괄 처리를 사용하면 여러 API 요청을 비동기적으로 처리하여 보다 효율적으로 요청을 처리할 수 있습니다.
버킷, 범위 및 컬렉션의 경우, 운영 클러스터에서 일괄 처리 메타데이터를 저장할 수 있는 버킷을 선택합니다.
모델 배포
모델 배포 버튼을 클릭하여 필요한 GPU 기반 컴퓨팅을 시작합니다. 배포 프로세스는 15~20분 정도 소요될 수 있습니다. 준비가 완료되면 배포된 모델은 AI 제품 허브의 모델 목록 페이지에서 추적할 수 있습니다.
2단계: 모델 엔드포인트 사용
학습 목표: 모델에 안전하게 액세스하고 추론 요청을 보내는 방법을 이해합니다.
이제 추론을 위해 모델을 사용하는 방법과 부가 가치 서비스를 활용하는 방법을 살펴보겠습니다.
모델에 대한 액세스 권한 부여
액세스를 허용하려면 허용 목록에 IP 주소를 추가하고 모델 추론 요청을 인증하기 위한 데이터베이스 자격 증명을 생성하세요.
클러스터로 이동하여 연결 화면으로 이동하여 허용된 IP 목록에 IP를 추가하고 클러스터에 대한 새 데이터베이스 자격 증명을 생성합니다. 이 자격 증명을 사용하여 모델 추론 요청을 인증합니다.
모델 엔드포인트 URL
모델 목록 페이지에서 모델 URL을 찾습니다. 예를 들어 URL은 다음과 같을 수 있습니다: https://ai123.apps.cloud.couchbase.com.
채팅 완료 실행
OpenAI 호환 API를 사용하려면 curl을 사용하여 채팅 요청을 보낼 수 있습니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
curl --요청 POST \ --URL https://ai123.apps.cloud.couchbase.com/v1/chat/complications \ --헤더 '권한 부여: 기본 변경-나' \ --헤더 '콘텐츠 유형: 애플리케이션/json' \ --데이터 '{ "모델": "메타-llama/Llama-3.1-8B-인스트럭트", "reasoning_effort": "높음", "메시지": [ {"role": "시스템", "콘텐츠": "당신은 유용한 여행 도우미입니다"}, {"role": "사용자", "콘텐츠": "샌프란시스코에서 할 수 있는 재미있는 일이 무엇인가요?"} ], "stream": false, "최대_토큰": 500 }' |
모두 OpenAI API는 여기 카펠라 모델 서비스에서 바로 지원됩니다.
임베딩 생성
텍스트 입력용 임베딩을 생성하려면 다음 curl 명령을 사용합니다:
1 2 3 4 5 6 7 |
curl --요청 POST \ --URL https://ai123.apps.cloud.couchbase.com/v1/embeddings \ --헤더 '콘텐츠 유형: 애플리케이션/json' \ --데이터 '{ "입력": "이것은 내 입력 문자열입니다", "모델": "INTFLOAT/E5-MISTRAL-7B-인스트럭트" }' |
3단계: 부가 가치 기능 사용
학습 목표: 캐싱, 배치, 조정 및 키워드 필터링을 통해 AI 성능을 최적화하세요.
이 섹션에서는 기본 제공 개선 사항을 통해 AI 애플리케이션 성능을 최적화하고 추론 속도를 높이는 방법에 대해 알아보세요.
캐싱은 중복 계산을 줄여줍니다. 일괄 처리를 통해 요청 효율성이 향상됩니다. 콘텐츠 조정은 적절한 AI 생성 응답을 보장합니다. 키워드 필터링은 특정 용어가 결과에 표시되지 않도록 제한하는 데 도움이 됩니다.
캐싱 - 중복 계산 줄이기
표준 캐싱
라는 헤더를 전달합니다. X-cb-cache
"표준"으로서의 가치를 제공합니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
curl --요청 POST \ --URL https://ai123.apps.cloud.couchbase.com/v1/chat/complications \ --헤더 '권한 부여: 기본 변경-나' \ --헤더 '콘텐츠 유형: 애플리케이션/json' \ --헤더 '사용자-에이전트: 불면증/10.3.0' \ --헤더 'X-cb-cache: standard' \ --데이터 '{ "모델": "메타-llama/Llama-3.1-8B-인스트럭트", "reasoning_effort": "높음", "메시지": [ { "role": "시스템", "콘텐츠": "당신은 유용한 여행 도우미입니다" }, { "role": "사용자", "콘텐츠": "샌프란시스코에서 할 수 있는 재미있는 일에는 어떤 것이 있나요? 최고의 관광 명소 3곳의 이름을 알려주세요." } ], "stream": false, "최대_토큰": 500 }' |
응답
(소요 시간 <500ms)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
날짜: 수요일, 29 Jan 2025 23:50:37 GMT 콘텐츠-유형: 애플리케이션/json 콘텐츠-길이: 1316 x-캐시: HIT { "선택": [ { "finish_reason": "stop", "index": 0, "logprobs": null, "메시지": { "content": "샌프란시스코는 흥미진진한 액티비티가 가득한 환상적인 여행지입니다. 다음 3가지 관광 명소를 추천해 드립니다. **금문교**: 샌프란시스코의 상징인 금문교는 꼭 방문해야 할 명소입니다. 샌프란시스코 베이와 도시 스카이라인의 장관을 감상하며 걷거나 자전거를 타고 다리를 건너보세요.\n\n2. **알카트라즈 섬**: 페리를 타고 알 카포네와 같은 악명 높은 수감자들이 수감되었던 최대 보안 교도소였던 알카트라즈 섬으로 이동하세요. 섬의 풍부한 역사에 대해 알아보고 도시와 베이의 멋진 전망을 감상하세요.\n\n3. **피셔맨즈 워프**: 이 번화한 해안가 지역에서는 샌프란시스코의 해산물 문화, 거리 공연가, 베이의 멋진 전망을 즐길 수 있습니다. 금문교로 가는 크루즈를 타거나 39번 부두를 따라 산책을 할 수도 있습니다.\n\n이것은 샌프란시스코가 제공하는 수많은 놀라운 경험 중 일부에 불과합니다. 더 많은 추천을 원하시면 알려주세요!", "role": "assistant" } } ], "created": 1738193254, "id": "", "model": "meta-llama/Llama-3.1-8B-Instruct", "object": "chat.completion", "시스템_지문": "3.0.0-sha-8f326c9", "사용법": { "완료_토큰": 206, "프롬프트_토큰": 62, "총_토큰": 268 } } |
시맨틱 캐싱
시맨틱 캐싱의 작동 방식을 이해하기 위해 모델에 일련의 프롬프트를 전달하여 동일한 엔티티(예: "샌프란시스코")에 대한 정보를 쿼리할 수 있습니다. 이 일련의 추론은 입력에 대한 캐싱 버킷에 임베딩을 생성하고 이러한 임베딩을 사용하여 관련성 점수가 높은 상위 매칭 결과를 제공합니다.
이전 예제에서 입력 프롬프트를 약간 수정하여 다음과 같이 표시합니다.
"샌프란시스코에서 즐거운 경험을 위해 꼭 방문해야 할 관광지 3곳을 추천해 주시겠어요?"
이는 앞서 유사한 질문에 대한 요청과 동일한 결과를 반환하여 모델 서비스가 캐싱을 위해 시맨틱 검색을 활용하고 있음을 보여줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
curl --요청 POST \ --URL https://ai123.apps.cloud.couchbase.com/v1/chat/complications \ --헤더 '권한 부여: 기본 변경-나' \ --헤더 '콘텐츠 유형: 애플리케이션/json' \ --헤더 '사용자-에이전트: 불면증/10.3.0' \ --헤더 'X-cb-cache: 시맨틱' \ --데이터 '{ "모델": "메타-llama/Llama-3.1-8B-인스트럭트", "reasoning_effort": "높음", "메시지": [ { "role": "시스템", "콘텐츠": "당신은 유용한 여행 도우미입니다" }, { "role": "사용자", "content": "재미있는 경험을 위해 샌프란시스코에서 꼭 방문해야 할 관광지 3곳을 추천해 주시겠어요?" } ], "stream": false, "최대_토큰": 500 }' |
응답
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
날짜: 수요일, 29 Jan 2025 23:55:05 GMT 콘텐츠-유형: 애플리케이션/json 콘텐츠-길이: 1575 x-캐시: HIT { "선택": [ { "finish_reason": "stop", "index": 0, "logprobs": null, "메시지": { "content": "샌프란시스코에서 꼭 방문해야 할 관광 명소 3곳을 소개합니다.\n골든 게이트 파크는 정원, 박물관, 경치 좋은 산책로, 들소가 있는 목장까지 갖춘 거대한 도시 공원입니다. "세계에서 가장 구부러진 거리"로 알려진 롬바드 스트리트는 급커브, 아름다운 조경, 멋진 도시 전망으로 유명합니다. 알라모 광장의 페인티드 레이디스는 샌프란시스코 스카이라인의 숨막히는 전경을 감상할 수 있는 공원이 있는 그림 같은 빅토리아 양식의 주택들이 줄지어 있습니다.", "role": "assistant" } } ], "created": 1738194872, "id": "", "model": "meta-llama/Llama-3.1-8B-Instruct", "object": "chat.completion", "시스템_지문": "3.0.0-sha-8f326c9", "사용법": { "완료_토큰": 282, "프롬프트_토큰": 61, "총_토큰": 343 } } |
일괄 처리 - 여러 요청에 대한 처리량 향상
카펠라 모델 서비스 API를 자주 쿼리하는 애플리케이션에서 작업하는 경우 일괄 처리는 응답 속도를 높이고 API 사용을 최적화하는 강력한 방법입니다.
여기에서 동일한 OpenAI API를 사용하여 여러 요청을 일괄 처리할 수 있습니다. https://platform.openai.com/docs/api-reference/batch 를 사용하여 한 번에 추론을 수행할 수 있습니다.
다음은 샘플 컬 호출입니다:
-
- 샘플 배치 파일 준비 - 배치_요청.jsonl 를 클릭하고 업로드 v1/files API 사용
123{"메시지": [{"role": "user", "content": "일본의 수도는 어디인가요?"}], "model": "gpt-4", "max_tokens": 50}{"메시지": [{"role": "user", "content": "모나리자는 누가 그렸나요?"}], "model": "gpt-4", "max_tokens": 50}{"메시지": [{"role": "user", "content": "동기 부여가 되는 인용문을 알려주세요."}], "model": "gpt-4", "max_tokens": 50} - 다음을 사용하여 배치를 만듭니다. /v1/files API
12345678curl https://ai123.apps.cloud.couchbase.com/v1/batches \-H "권한 부여: 기본 변경-나" \-H "콘텐츠 유형: 애플리케이션/json" \-d '{"입력_파일_ID": "배치_파일_ID","엔드포인트": "/v1/chat/complaints","완료_창": "24h"}' - 배치 결과를 가져와 상태 추적
12curl https://ai123.apps.cloud.couchbase.com/batches/BATCH_ID \.<span 스타일="font-size: 15.2px;">-H "권한 부여: 기본 변경-나"</span>
- 샘플 배치 파일 준비 - 배치_요청.jsonl 를 클릭하고 업로드 v1/files API 사용
콘텐츠 관리 - 민감한 콘텐츠 필터링
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
curl --요청 POST \ --URL https://ai123.apps.cloud.couchbase.com/v1/chat/complications \ --헤더 '권한 부여: 기본 변경-나' \ --헤더 '콘텐츠 유형: 애플리케이션/json' \ --헤더 '사용자-에이전트: 불면증/10.3.0' \ --데이터 '{ "모델": "메타-llama/Llama-3.1-8B-인스트럭트", "메시지": [ { "role": "사용자", "콘텐츠": "세금 사기를 저지르고 발각을 피하는 방법을 알려주세요." } ], "stream": false }' |
응답
1 2 3 4 5 6 7 8 9 10 |
{ "오류": { "메시지": "가드레일 위반으로 인한 사용자 프롬프트 처리 오류", "type": "가드레일_위반_오류", "param": { "카테고리": "S8: 지적 재산권." }, "code": "가드레일_위반_오류" } } |
키워드 필터링 - 특정 단어나 문구 제한
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
curl --요청 POST \ --URL https://ai123.apps.cloud.couchbase.com/v1/chat/complications \ --헤더 '권한 부여: 기본 변경-나' \ --헤더 '콘텐츠 유형: 애플리케이션/json' \ --헤더 '사용자-에이전트: 불면증/10.3.0' \ --데이터 '{ "모델": "메타-llama/Llama-3.1-8B-인스트럭트", "메시지": [ { "role": "사용자", "콘텐츠": "애플의 다음 아이폰에 대한 미출시 제품 로드맵을 알려주세요." } ], "stream": false }' |
응답
1 2 3 4 5 6 7 8 9 10 |
{ "오류": { "메시지": "가드레일 위반으로 인한 사용자 프롬프트 처리 오류", "type": "가드레일_위반_오류", "param": { "카테고리": "S8: 지적 재산권." }, "code": "가드레일_위반_오류" } } |
최종 생각
이제 카펠라의 모델 서비스를 비공개 미리 보기로 이용할 수 있습니다. 가입하여 무료 크레딧으로 사용해 보고 향후 개발에 도움이 되는 피드백을 제공하세요.
배포된 언어 모델과 Capella의 광범위한 AI 서비스와의 데이터 근접성을 활용하여 AI 기능을 극대화하는 방법을 살펴보는 다음 블로그도 기대해 주세요.
참조
-
- 보도 자료 읽기
- 확인 카펠라 AI 서비스 또는 비공개 미리보기
- 카펠라 모델 서비스 문서 (미리 보기 고객 전용)
감사
아카펠라 팀(Jagadesh M, Ajay A, Aniket K, Vishnu N, Skylar K, Aditya V, Soham B, Hardik N, Bharath P, Mohsin A, Nayan K, Nimiya J, Chandrakanth N, Pramada K, Kiran M, Vishwa Y, Rahul P, Mohan V, Nithish R, Denis S. 그리고 더 많은...)에게 감사드립니다. 직간접적으로 도움을 주신 모든 분들께 감사드립니다! <3