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
-
Faça login neste projeto: Criar lojas de vetores RAG para watsonx Code Assistant.
-
Clique em Criar projeto.
-
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.
-
Clique em Criar.
-
Vá para a guia Asset em seu projeto e clique em Populate vector store notebook.
-
Siga as instruções no notebook
Populate vector storepara indexar o código ou o documento.