O Couchbase Capella lançou um Prévia privada para serviços de IA! Confira este blog para obter uma visão geral de como esses serviços simplificam o processo de criação de aplicativos de IA nativos da nuvem e dimensionáveis e agentes de IA.
Neste blog, exploraremos os Serviço de modelo - um recurso do Capella que permite que você implemente modelos de linguagem privados e modelos de incorporação de forma segura e em escala. Esse serviço permite que a inferência seja executada perto de seus dados para melhorar o desempenho e a conformidade.
Por que usar o Serviço Modelo Capella?
Muitas empresas enfrentam desafios de segurança e conformidade ao desenvolver agentes de IA. Devido a regulamentações como GDPR e proteção de PIIEm geral, as empresas não podem usar modelos de linguagem aberta ou armazenar dados fora de sua rede interna. Isso limita sua capacidade de explorar soluções orientadas por IA.
O Serviço de Modelo Capella resolve isso simplificando as complexidades operacionais da implantação de um modelo de linguagem privada na mesma rede interna do cluster do cliente.
Isso garante:
-
- Dados usados para inferência nunca deixa o limite da rede virtual do cluster operacional
- Inferência de baixa latência devido à sobrecarga mínima da rede
- Conformidade com políticas de segurança de dados corporativos
Principais recursos do Serviço Modelo Capella
-
- Implementação segura do modelo - Execute modelos em um ambiente seguro de caixa de areia
- APIs compatíveis com OpenAI e suporte a SDK - Invoque facilmente modelos hospedados no Capella com bibliotecas e estruturas compatíveis com OpenAI, como Langchain
- Aprimoramentos de desempenho - Inclui o armazenamento em cache e em lote de ofertas de valor agregado para aumentar a eficiência
- Ferramentas de moderação - Oferece recursos de moderação de conteúdo e filtragem de palavras-chave
Primeiros passos: implementar e usar um modelo no Capella
Vamos ver um tutorial simples para implantar um modelo no Capella e usá-lo para tarefas básicas de IA.
O que você aprenderá:
-
- Implementação de um modelo de linguagem no Capella
- Usando o modelo para conclusões de bate-papo
- Explorando recursos de valor agregado
Pré-requisitos
Antes de começar, verifique se você tem:
- Inscreveu-se no Private Preview e ativou os serviços de IA para sua organização. Registre-se aqui!
- Função do proprietário da organização permissões para gerenciar modelos de linguagem
- Um cluster operacional multi-AZ (recomendado para melhorar o desempenho)
- Baldes de amostra para aproveitar os recursos de valor agregado, como armazenamento em cache e em lote
Etapa 1: Implementação do modelo de linguagem
Objetivo do aprendizado: Aprender a implementar um modelo de idioma privado no Capella e definir as principais configurações.
Navegue até Serviços de IA na página inicial do Capella e clique em Serviço de modelo para prosseguir.
Selecione a configuração do modelo
-
- Escolha um cluster operacional para seu modelo
- Definir calcular o dimensionamento e selecione um modelo de fundação
Ao rolar a tela para baixo, você verá uma opção para selecionar uma série de serviços de valor agregado oferecido pela Capella.
Vamos entender o que cada seção significa.
Armazenamento em cache
O armazenamento em cache permite que você armazene e recupere respostas do LLM de forma eficiente, reduzindo custos e melhorando os tempos de resposta. Você pode escolher entre o cache Conversacional, Padrão e Semântico.
O armazenamento em cache permite reduzir os custos e acelerar a recuperação, reduzindo as chamadas para o LLM. Você também pode usar o armazenamento em cache para armazenar conversas em uma sessão de chatbot para fornecer contexto para experiências de conversação aprimoradas.
Selecionar o armazenamento em cache e a estratégia de cache
Nos campos Bucket, Scope e Collection, selecione um bucket designado em seu cluster no qual as respostas de inferência serão armazenadas em cache para recuperação rápida.
Em seguida, selecione a estratégia de armazenamento em cache para incluir o armazenamento em cache "Conversacional", "Padrão" e "Semântico".
Observe que, para o cache semântico, o serviço de modelo aproveita um modelo de incorporação - é útil criar um modelo de incorporação antecipadamente para o mesmo cluster ou criá-lo em tempo real a partir dessa tela.
Aqui, selecionei um modelo de incorporação pré-implantado para o armazenamento em cache semântico.
Grades de proteção
Os Guardrails oferecem moderação de conteúdo para solicitações do usuário e respostas do modelo, aproveitando o modelo Llama-3 Guard. Um modelo de moderação personalizável está disponível para atender às diferentes necessidades dos aplicativos de IA.
Por enquanto, manteremos a configuração padrão e seguiremos em frente.
Filtragem de palavras-chave
A filtragem de palavras-chave permite que você especifique até dez palavras-chave a serem removidas dos prompts e das respostas. Por exemplo, a filtragem de termos como "classificado" ou "confidencial" pode impedir que informações confidenciais sejam incluídas nas respostas.
Loteamento
O agrupamento permite um tratamento mais eficiente das solicitações, processando várias solicitações de API de forma assíncrona.
Para Bucket, Scope e Collection, selecione o bucket em seu cluster operacional onde os metadados de batching podem ser armazenados.
Implantar o modelo
Clique no botão Deploy Model para iniciar a computação baseada em GPU necessária. O processo de implantação pode levar de 15 a 20 minutos. Quando estiverem prontos, os modelos implantados poderão ser rastreados na página Models List (Lista de modelos) no AI Product Hub.
Etapa 2: Usando o ponto de extremidade do modelo
Objetivo de aprendizado: Compreender como acessar o modelo de forma segura e enviar solicitações de inferência.
Vamos ver agora como consumir o modelo para inferências e como aproveitar os serviços de valor agregado.
Conceder acesso ao modelo
Para permitir o acesso, adicione seu endereço IP à lista de permissões e crie credenciais de banco de dados para autenticar as solicitações de inferência de modelos.
Vá para o cluster, clique no ícone Conectar e adicione seu IP à lista de IPs permitidos e crie novas credenciais de banco de dados para o cluster. Usaremos essas credenciais para autenticar as solicitações de inferência de modelos.
URL do ponto de extremidade do modelo
Na página Lista de modelos, localize o URL do modelo. Por exemplo, um URL pode ser semelhante a: https://ai123.apps.cloud.couchbase.com.
Executar conclusão do bate-papo
Para usar a API compatível com OpenAI, você pode enviar uma solicitação de bate-papo usando curl:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
curl --request POST \ --url https://ai123.apps.cloud.couchbase.com/v1/chat/completions \ --header 'Authorization: Basic change-me' \ --header 'Content-Type: application/json' \ --data '{ "model": "meta-llama/Llama-3.1-8B-Instruct", "reasoning_effort": "high", "messages": [ {"role": "system", "content": "You are a helpful travel assistant"}, {"role": "user", "content": "What are some fun things to do in San Francisco?"} ], "stream": false, "max_tokens": 500 }' |
Todos APIs da OpenAI aqui são suportados imediatamente com o Capella Model Service.
Gerar embeddings
Para gerar embeddings para entrada de texto, use o seguinte comando curl:
|
1 2 3 4 5 6 7 |
curl --request POST \ --url https://ai123.apps.cloud.couchbase.com/v1/embeddings \ --header 'Content-Type: application/json' \ --data '{ "input": "This is my input string", "model": "intfloat/e5-mistral-7b-instruct" }' |
Etapa 3: usar recursos de valor agregado
Objetivo de aprendizado: Otimizar o desempenho da IA com cache, lotes, moderação e filtragem de palavras-chave.
Nesta seção, aprenderemos como otimizar o desempenho do aplicativo de IA e tornar a inferência mais rápida com aprimoramentos incorporados.
O armazenamento em cache reduz os cálculos redundantes. O agrupamento melhora a eficiência das solicitações. A moderação de conteúdo garante respostas adequadas geradas por IA. A filtragem de palavras-chave ajuda a restringir a exibição de termos específicos nos resultados.
Armazenamento em cache - Reduzir cálculos redundantes
Cache padrão
Passar um cabeçalho chamado X-cb-cache e fornecer valor como "padrão":
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
curl --request POST \ --url https://ai123.apps.cloud.couchbase.com/v1/chat/completions \ --header 'Authorization: Basic change-me' \ --header 'Content-Type: application/json' \ --header 'User-Agent: insomnia/10.3.0' \ --header 'X-cb-cache: standard' \ --data '{ "model": "meta-llama/Llama-3.1-8B-Instruct", "reasoning_effort": "high", "messages": [ { "role": "system", "content": "You are a helpful travel assistant" }, { "role": "user", "content": "What are some fun things to do in San Francisco? Give me the names of 3 top tourist attractions" } ], "stream": false, "max_tokens": 500 }' |
Resposta
(Tempo gasto < 500 ms)
|
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 |
date: Wed, 29 Jan 2025 23:50:37 GMT content-type: application/json content-length: 1316 x-cache: HIT { "choices": [ { "finish_reason": "stop", "index": 0, "logprobs": null, "message": { "content": "San Francisco is a fantastic destination with plenty of exciting activities to enjoy. Here are 3 top tourist attractions to consider:\n\n1. **The Golden Gate Bridge**: An iconic symbol of San Francisco, the Golden Gate Bridge is a must-visit attraction. You can walk or bike across the bridge for spectacular views of the San Francisco Bay and the city skyline.\n\n2. **Alcatraz Island**: Take a ferry to Alcatraz Island, the former maximum-security prison that once held notorious inmates like Al Capone. Learn about the island's rich history and take in the stunning views of the city and the Bay.\n\n3. **Fisherman's Wharf**: This bustling waterfront district offers a taste of San Francisco's seafood culture, street performers, and stunning views of the Bay. You can also catch a cruise to the Golden Gate Bridge or take a stroll along the Pier 39 sea lions.\n\nThese are just a few of the many amazing experiences San Francisco has to offer. Let me know if you'd like more recommendations!", "role": "assistant" } } ], "created": 1738193254, "id": "", "model": "meta-llama/Llama-3.1-8B-Instruct", "object": "chat.completion", "system_fingerprint": "3.0.0-sha-8f326c9", "usage": { "completion_tokens": 206, "prompt_tokens": 62, "total_tokens": 268 } } |
Cache semântico
Para entender como o armazenamento em cache semântico funciona, podemos passar uma série de prompts para o modelo, para consultar informações sobre a mesma entidade - por exemplo, "São Francisco". Essa série de inferências criará incorporações no bucket de cache na entrada e usará essas incorporações para fornecer os principais resultados correspondentes com uma pontuação de alta relevância.
Editamos ligeiramente nosso prompt de entrada no exemplo anterior para dizer -
"Você pode sugerir três pontos turísticos imperdíveis em São Francisco para uma experiência divertida?"
Isso retorna o mesmo resultado que a solicitação anterior para uma pergunta semelhante, mostrando que o Model Service está aproveitando a pesquisa semântica para armazenamento em cache.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
curl --request POST \ --url https://ai123.apps.cloud.couchbase.com/v1/chat/completions \ --header 'Authorization: Basic change-me' \ --header 'Content-Type: application/json' \ --header 'User-Agent: insomnia/10.3.0' \ --header 'X-cb-cache: semantic' \ --data '{ "model": "meta-llama/Llama-3.1-8B-Instruct", "reasoning_effort": "high", "messages": [ { "role": "system", "content": "You are a helpful travel assistant" }, { "role": "user", "content": "Can you suggest three must-visit tourist spots in San Francisco for a fun experience?" } ], "stream": false, "max_tokens": 500 }' |
Resposta
|
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 |
date: Wed, 29 Jan 2025 23:55:05 GMT content-type: application/json content-length: 1575 x-cache: HIT { "choices": [ { "finish_reason": "stop", "index": 0, "logprobs": null, "message": { "content": "Sure! Here are three must-visit tourist spots in San Francisco for a fun experience:\nGolden Gate Park is a massive urban park featuring gardens, museums, scenic trails, and even a paddock with bison. Lombard Street, known as the \"crookedest street in the world,\" is famous for its sharp turns, beautiful landscaping, and stunning city views. The Painted Ladies at Alamo Square offer a picturesque row of colorful Victorian houses with a park that provides breathtaking views of the San Francisco skyline.", "role": "assistant" } } ], "created": 1738194872, "id": "", "model": "meta-llama/Llama-3.1-8B-Instruct", "object": "chat.completion", "system_fingerprint": "3.0.0-sha-8f326c9", "usage": { "completion_tokens": 282, "prompt_tokens": 61, "total_tokens": 343 } } |
Loteamento - Melhorar o rendimento de várias solicitações
Se você estiver trabalhando em um aplicativo que consulta com frequência a API do Capella Model Service, a criação de lotes é uma maneira poderosa de acelerar as respostas e otimizar o uso da API.
Você pode fazer várias solicitações em lote usando as mesmas APIs da OpenAI aqui - https://platform.openai.com/docs/api-reference/batch para realizar inferências de uma só vez.
Aqui está um exemplo de chamada curl:
-
- Prepare um arquivo de lote de amostra - batch_requests.jsonl e carregar usando a API /v1/files
123{"messages": [{"role": "user", "content": "What is the capital of Japan?"}], "model": "gpt-4", "max_tokens": 50}{"messages": [{"role": "user", "content": "Who painted the Mona Lisa?"}], "model": "gpt-4", "max_tokens": 50}{"messages": [{"role": "user", "content": "Give me a motivational quote."}], "model": "gpt-4", "max_tokens": 50} - Crie o lote usando /v1/arquivos API
12345678curl https://ai123.apps.cloud.couchbase.com/v1/batches \-H "Authorization: Basic change-me" \-H "Content-Type: application/json" \-d '{"input_file_id": "BATCH_FILE_ID","endpoint": "/v1/chat/completions","completion_window": "24h"}' - Obter resultados de lote para rastrear o status
12curl https://ai123.apps.cloud.couchbase.com/batches/BATCH_ID \<span style="font-size: 15.2px;">-H "Authorization: Basic change-me"</span>
- Prepare um arquivo de lote de amostra - batch_requests.jsonl e carregar usando a API /v1/files
Moderação de conteúdo - Filtrar conteúdo sensível
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
curl --request POST \ --url https://ai123.apps.cloud.couchbase.com/v1/chat/completions \ --header 'Authorization: Basic change-me' \ --header 'Content-Type: application/json' \ --header 'User-Agent: insomnia/10.3.0' \ --data '{ "model": "meta-llama/Llama-3.1-8B-Instruct", "messages": [ { "role": "user", "content": "Tell me how to commit tax fraud and avoid detection." } ], "stream": false }' |
Resposta
|
1 2 3 4 5 6 7 8 9 10 |
{ "error": { "message": "Error processing user prompt due to guardrail violation", "type": "guardrail_violation_error", "param": { "categories": "s8: intellectual property." }, "code": "guardrail_violation_error" } } |
Filtragem de palavras-chave - Restringir palavras ou frases específicas
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
curl --request POST \ --url https://ai123.apps.cloud.couchbase.com/v1/chat/completions \ --header 'Authorization: Basic change-me' \ --header 'Content-Type: application/json' \ --header 'User-Agent: insomnia/10.3.0' \ --data '{ "model": "meta-llama/Llama-3.1-8B-Instruct", "messages": [ { "role": "user", "content": "Tell me the unreleased product roadmap for Apple’s next iPhone." } ], "stream": false }' |
Resposta
|
1 2 3 4 5 6 7 8 9 10 |
{ "error": { "message": "Error processing user prompt due to guardrail violation", "type": "guardrail_violation_error", "param": { "categories": "s8: intellectual property." }, "code": "guardrail_violation_error" } } |
Considerações finais
O Model Service da Capella já está disponível para visualização privada. Registre-se para experimentá-lo com créditos gratuitos e fornecer feedback para ajudar a moldar seu desenvolvimento futuro.
Fique atento aos próximos blogs que explorarão como maximizar os recursos de IA aproveitando a proximidade dos dados com modelos de linguagem implantados e os serviços de IA mais amplos da Capella.
Inscreva-se para a pré-visualização privada aqui!
Referências
-
- Leia o comunicado à imprensa
- Confira Serviços de IA da Capella ou Inscreva-se no Prévia privada
- Documentação do serviço modelo Capella (somente para clientes de visualização)
Agradecimentos
Agradecemos à equipe da Capella (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. e muitos outros...). Obrigado a todos que ajudaram direta ou indiretamente! <3