Indexando milhões de artigos da Wikipedia com vetor Upstash
Este repositório contém o código e a documentação para nosso projeto de indexação de milhões de artigos da Wikipedia usando Upstash Vector, conforme descrito em nossa postagem no blog.
Visão geral do projeto
Criamos um mecanismo de pesquisa semântica e o Upstash RAG Chat SDK usando dados da Wikipedia para demonstrar os recursos do Upstash Vector e do RAG Chat SDK. O projeto envolve:
- Preparando e incorporando artigos da Wikipedia
- Indexando os vetores usando Upstash Vector
- Construindo um mecanismo de busca semântica da Wikipédia
- Implementando um chatbot RAG
Principais recursos
- Indexou mais de 144 milhões de vetores de artigos da Wikipédia em 11 idiomas
- Modelo de incorporação BGE-M3 usado para suporte multilíngue
- Pesquisa semântica implementada com recursos multilíngues
- Criou um chatbot RAG usando Upstash RAG Chat SDK
Tecnologias Utilizadas
- Upstash Vector: Para armazenar e consultar embeddings de vetores
- Upstash Redis: para armazenar sessões de chat
- Upstash RAG Chat SDK: para construir o aplicativo RAG Chat
- SentenceTransformers: para gerar embeddings
- Meta-Llama-3-8B-Instruct: Como provedor LLM por meio de APIs QStash LLM
Desenvolvimento
Para executar o projeto localmente, siga estas etapas:
- Vá para o Upstash Console para gerenciar seus bancos de dados:
- Crie um novo banco de dados vetorial com suporte de modelo incorporado. Você pode escolher o modelo BGE-M3 para suporte multilíngue.
- Crie um novo banco de dados Redis para armazenar sessões de chat.
- Copie as credenciais do Redis e do Vector. Copie também as credenciais do QStash para usar os modelos LLM hospedados no upstash.
Coloque as credenciais em um arquivo .env
na raiz do projeto. Seu arquivo .env
deve ficar assim:
UPSTASH_VECTOR_REST_URL=
UPSTASH_VECTOR_REST_TOKEN=
UPSTASH_REDIS_REST_TOKEN=
UPSTASH_REDIS_REST_URL=
QSTASH_TOKEN=
- Preencha seu índice vetorial.
Este projeto usa namespaces para armazenar artigos em diferentes idiomas. Então você tem que inserir os vetores no namespace correto. Para inglês, insira seus vetores no namespace en
.
- Instale as dependências:
- Execute o servidor de desenvolvimento:
Contribuindo
Aceitamos contribuições para melhorar este projeto. Sinta-se à vontade para enviar problemas ou obter solicitações.
Agradecimentos
- Wikipedia por fornecer o conjunto de dados
- Upstash para seu banco de dados de vetores e RAG Chat SDK
- Todos os colaboradores das bibliotecas de código aberto usadas neste projeto
Contato
Para qualquer dúvida ou feedback sobre o projeto ou Upstash Vector, entre em contato conosco em (adicionar informações de contato).
Confira nossa demonstração ao vivo para ver o projeto em ação!