Indexação de repositórios de código com o IBM watsonx.ai Studio

watsonx Code Assistant Plano padrão

Você pode usar o IBM watsonx.ai Studio para indexar seus repositórios de código e permitir a geração aumentada de recuperação (RAG).

Antes de Iniciar

  • Provisione uma instância de Milvus ou Elasticsearch DB em IBM Cloud antes de executar o notebook.
  • Provisione uma instância do watsonx.ai Studio para executar o notebook. Para criar uma instância do watsonx.ai Studio, consulte Catálogo do watsonx.ai Studio.
  • Certifique-se de que você tenha uma chave de API para acessar watsonx Code Assistant e gerar explicações para as funções em seu código. As explicações são indexadas com o código para obter melhores resultados de pesquisa. Para obter mais informações, consulte Criar uma chave de API IBM Cloud.

Planejamento do seu índice

A indexação eficaz é essencial para otimizar o desempenho do site watsonx Code Assistant quando você usa o RAG. Considere os seguintes fatores ao indexar o repositório ou os documentos:

  • Certifique-se de que o espaço de armazenamento no disco tenha o dobro do tamanho do conteúdo que está sendo indexado.

  • Repositórios de código de índice quando você reutiliza o código existente para gerar um novo código, localizando implementações de funções específicas, respondendo a perguntas de "como fazer" relacionadas à base de código. Você pode incluir projetos de código principal e suas dependências, como a implementação da API.

  • Indexar repositórios de documentação, como documentação de produtos ou projetos, guias técnicos e documentos de design, se você precisar que o site watsonx Code Assistant responda a consultas com base nesses documentos.

  • Não indexe repositórios de código ou documentos raramente usados para reduzir o uso do armazenamento e minimizar o tempo necessário para a criação e manutenção do índice.

  • Use um índice por repositório, especialmente para código-fonte, para limitar a pesquisa de contexto a repositórios específicos.

  • Combine vários repositórios de documentação em um único índice se for comum pesquisar em todos os documentos. É possível criar índices separados se houver uma sobreposição significativa de palavras-chave entre os repositórios e se diferentes equipes ou usuários precisarem pesquisar o contexto nos repositórios de documentação específicos.

  • Não mescle códigos de repositórios diferentes no mesmo índice. O código mesclado reduz a precisão da geração de respostas para o prompt e leva ao acesso não autorizado do código se a restrição de acesso para os usuários não for implementada corretamente.

  • Certifique-se de gerenciar a segurança e a autorização corretamente durante o processo de indexação. Para diferentes cenários de uso, consulte Cenários de casos de uso.

  • Certifique-se de que todas as aprovações organizacionais necessárias sejam obtidas antes de indexar o conteúdo confidencial ou sensível. O código-fonte e os documentos usados para o RAG são salvos como texto simples e formato vetorial em um armazenamento vetorial fora do repositório GitHub.

Indexação de repositórios de código

  1. Faça login neste projeto: Criar lojas de vetores RAG para watsonx Code Assistant.

  2. Clique em Criar projeto.

  3. Selecione uma instância Cloud Object Storage no campo Storage (Armazenamento ). Se a instância Cloud Object Storage não estiver disponível na lista suspensa, crie-a.

  4. Clique em Criar.

  5. Vá para a guia Asset em seu projeto e clique em Populate vector store notebook.

  6. Siga as instruções no notebook Populate vector store para indexar o código ou o documento.