Introdução geral
O WikiChat é um chatbot experimental desenvolvido na Universidade de Stanford que tem como objetivo aprimorar a factualidade de modelos de linguagem grandes, recuperando dados da Wikipédia. Os modelos de linguagem grandes (como o ChatGPT e o GPT-4) tendem a cometer erros ao lidar com informações atualizadas ou tópicos menos populares. O WikiChat garante a precisão de suas respostas usando a Wikipédia e um pipeline de sete estágios. O WikiChat também fornece scripts de pré-processamento da Wikipédia de alta qualidade e usa os modelos de recuperação multilíngue de última geração BGE-M3 e Qdrant para pesquisas vetoriais escalonáveis.
Lista de funções
- Suporte a vários idiomasRecuperação de informações da Wikipédia em 10 idiomas diferentes é suportada por padrão.
- Recuperação aprimorada de informaçõesSuporte para recuperação de informações de dados estruturados, como tabelas, infoboxes e listas.
- Scripts de pré-processamento da Wikipédia de alta qualidadeUtilizando o modelo de pesquisa multilíngue de última geração BGE-M3.
- API de pesquisa multilíngue gratuita da WikipédiaAPI de pesquisa: fornece uma API de pesquisa gratuita e de alta qualidade (mas com taxa limitada).
- Compatibilidade com o LLM estendidoMais de 100 LLMs são suportados por meio de uma interface unificada.
- Pipeline otimizadoOferece opções de encanamento mais rápidas e econômicas.
- Compatibilidade com LangChainTotalmente compatível com LangChain.
- Implementação de acesso multiusuárioFornecer código para implantar front-end e back-end simples e conectar-se ao Azure Cosmos Banco de dados DB para armazenar o diálogo.
Usando a Ajuda
Processo de instalação
- Instalação de dependências::
git clone https://github.com/stanford-oval/WikiChat.git cd WikiChat conda env create --file conda_env.yaml conda activate wikichat python -m spacy download en_core_web_sm
- Instalando o DockerSiga a documentação oficial do Docker para a instalação.
- Configuração do LLM::
- escrever dados em uma caixa (em um questionário ou formulário da Web)
llm_config.yaml
Os campos relevantes no arquivo. - Crie um arquivo chamado
API_KEYS
e defina a chave de API necessária.
- escrever dados em uma caixa (em um questionário ou formulário da Web)
- Recuperação de informações de configuração::
- Use a API de pesquisa padrão da Wikipédia.
- Ou faça o download e hospede o índice da Wikipédia.
- Ou crie seu próprio índice.
- Executando o WikiChat::
inv demo --retriever-endpoint "http://0.0.0.0:/search"
Função Fluxo de operação
- Suporte a vários idiomasWikiChat: O WikiChat recupera informações da Wikipédia em 10 idiomas diferentes por padrão, incluindo inglês, chinês, espanhol, português, russo, alemão, francês, italiano, japonês e farsi.
- recuperação de informaçõesSuporte à recuperação de informações de dados estruturados, como tabelas, infoboxes e listas, usando o modelo de recuperação multilíngue de última geração BGE-M3.
- API de pesquisa gratuitaAPI de pesquisa da Wikipédia: fornece uma API de pesquisa da Wikipédia de alta qualidade, gratuita e em vários idiomas, com suporte para mais de 180 milhões de incorporação de vetores.
- Compatibilidade com o LLM estendidoMais de 100 LLMs são suportados por meio de uma interface unificada, incluindo OpenAI, Azure, Anthropic, Mistral, HuggingFace, Together.ai e Groq O modelo.
- Otimização do pipelineFornecer uma opção de pipeline mais rápida e econômica para otimizar o desempenho, mesclando as fases "Gerar" e "Extrair declaração" do WikiChat.
- Compatibilidade com LangChainLangChain: totalmente compatível com o LangChain e suporta a integração perfeita de vários LLMs.
- Implementação de acesso multiusuárioCódigo de implantação: Forneça código para implantar um front-end e um back-end simples e conecte-se a um banco de dados do Azure Cosmos DB para armazenar conversas.