Este é um projeto inicial básico para a construção das seguintes ferramentas e APIs:
Quando comecei a mergulhar em tudo isso, senti enquanto entendia algumas das peças individuais, era difícil juntar tudo em um projeto coeso. Espero que este projeto seja útil para quem deseja construir com essa pilha e apenas precisando de algo para começar.
Estamos criando um aplicativo que leva o texto (arquivos de texto), os incorpora em vetores, os armazena em Pinecone e permite a pesquisa semântica dos dados.
Para quem se pergunta o que é a pesquisa semântica, aqui está uma visão geral (tirada diretamente do chatgpt4):
A pesquisa semântica refere -se a uma abordagem de pesquisa que entenda a intenção do usuário e o significado contextual das consultas de pesquisa, em vez de apenas corresponder a palavras -chave.
Ele usa processamento de linguagem natural e aprendizado de máquina para interpretar a semântica, ou significado, por trás das consultas. Isso resulta em resultados de pesquisa mais precisos e relevantes. A pesquisa semântica pode considerar a intenção do usuário, o contexto de consulta, o reconhecimento de sinônimos e a compreensão da linguagem natural. Seus aplicativos variam de mecanismos de pesquisa da web a sistemas de recomendação personalizados.
Nesta seção, vou orientá -lo em como implantar e executar este aplicativo.
Para executar este aplicativo, você precisa do seguinte:
Para executar o aplicativo localmente, siga estas etapas:
git clone [email protected]:dabit3/semantic-search-nextjs-pinecone-langchain-chatgpt.gitMude no diretório e instale as dependências usando o NPM ou o fio
Copy .example.env.local para um novo arquivo chamado .env.local e atualize com suas chaves e ambiente da API.
Verifique se o seu ambiente é um ambiente real dado a você por Pinecone, como us-west4-gcp-free
(Opcional) - Adicione seu próprio texto personalizado ou arquivos de marcação na pasta /documents .
Execute o aplicativo:
npm run dev Ao criar as incorporações e o índice, pode levar até 2-4 minutos para que o índice inicialize completamente. Existe uma função Settimeout de 180 segundos nos utils que aguardam a criação do índice.
Se a inicialização levar mais tempo, falhará na primeira vez que você tentar criar as incorporações. Se isso acontecer, visite o console do Pinecone para assistir e aguarde o status do seu índice que está sendo criado para terminar e execute a função novamente.
Os dados do aplicativo pré-configurado são sobre a documentação do desenvolvedor do protocolo do LENS, portanto, ele apenas entenderá perguntas sobre ele, a menos que você o substitua por seus próprios dados. Aqui estão algumas perguntas que você pode fazer com os dados padrão
A base deste projeto foi guiada por este tutorial de node.js, com alguma reestruturação e portada para o próximo.js. Você também pode segui -los aqui no Twitter!
Eu recomendo verificar o carregador de repositório GPT, o que simplifica transformar qualquer repositório do GitHub em um formato de texto, preservando a estrutura dos arquivos e o conteúdo de arquivos, facilitando a corte e a salvar no Pinecone usando minha base de código.