
Este repositório contém a implementação do SearchThearxiv.com, um mecanismo de pesquisa semântico simples para mais de 300.000 ml de artigos sobre Arxiv (e contagem). O código é separado em duas partes, app e data . app contém a implementação do front -end e do back -end do aplicativo da Web, enquanto data são responsáveis por atualizar o banco de dados em intervalos regulares usando o OpenAI e Pinecone. app e data contêm um Dockerfile para facilitar a implantação em plataformas em nuvem. Não espero (ou encorajo) ninguém a executar um clone do projeto por conta própria (que seria estranho), mas pode servir de inspiração para as pessoas que construíram um tipo semelhante de mecanismo de busca semântica.
Para executar o código, você precisa fornecer a seguinte lista de variáveis de ambiente:
KAGGLE_USERNAME=your_kaggle_username
KAGGLE_API_KEY=your_kaggle_api_key
OPENAI_API_KEY=your_openai_api_key
PINECONE_API_KEY=your_pinecone_api_key
PINECONE_INDEX_NAME=your_pinecone_index_name
O nome de usuário Kaggle e a chave da API são obrigados a buscar o metadataSet Arxiv, mantidos (e atualizados semanalmente) pela Universidade de Cornell. A chave da API do OpenAI é usada para incorporar novos artigos usando o modelo text-embedding-ada-002 . A chave da API Pinecone e o nome do índice são usados para conectar -se ao índice (ou seja, banco de dados vetorial) hospedado no Pinecone.
Se você estiver interessado apenas nas incorporações, publiquei o conjunto de dados completo no Kaggle. O tamanho atual é de cerca de 10 GB, mas cresce um pouco a cada semana, à medida que novos papéis são adicionados.
Se, por algum motivo, você ainda quiser incorporar os papéis por conta própria, poderá executar embed.py em data depois de baixar o metadlaset de Kaggle, definir as variáveis de ambiente e criar um índice de pinecone. Se você não deseja usar o Pinecone, você estará livre para modificar o código como desejar. Como o índice estará inicialmente vazio, o script incorporará todos os papéis da ML (novamente, mais de 300.000). No entanto, antes de fazê -lo, ele estimará um preço usando o Tiktoken Thokenizer da OpenAI e solicitará que você confirme. Você pode pular esta etapa executando python3 embed.py --no-confirmation .
Se você gosta de searchthearxiv.com e gostaria de ver algo melhorado, fique à vontade para enviar uma solicitação de tração?