Inglês |
O sistema de geração aprimorado de recuperação do modelo Thinkrag pode ser facilmente implantado em computadores de laptop para obter perguntas e respostas inteligentes na base de conhecimento local.
O sistema é baseado no Llamaindex e no Streamlit, que otimiza usuários domésticos em muitos campos, como seleção de modelo e processamento de texto.
O Thinkrag é um grande sistema de aplicação de modelo desenvolvido para pesquisadores científicos, estudantes e outros trabalhadores intelectuais.
Thinkrag tem as seguintes características:
Em particular, o Thinkrag também fez muita personalização e otimização para usuários domésticos:
O Thinkrag pode usar todos os modelos suportados pela estrutura de dados LLlandex. Para obter informações da lista de modelos, consulte os documentos relevantes.
O Thinkrag está comprometido em criar um sistema de aplicativos que possa ser usado diretamente, útil e fácil de usar.
Portanto, em vários modelos, componentes e tecnologias, fizemos escolhas e escolhas cuidadosas.
Primeiro de tudo, usando modelos grandes, o ThinSagRag suporta API OpenAI e todas as APIs compatíveis com LLM, incluindo fabricantes de modelos domésticos convencionais, como ::
Se você deseja implantar um modelo grande, o Thinkrag usa um ollama fácil -use. Podemos baixar modelos grandes da Ollama para executar localmente.
Atualmente, o Ollama suporta a implantação localizada de quase todos os modelos convencionais, incluindo lhama, gemma, GLM, Mistral, phi, llava, etc. Você pode acessar o seguinte site oficial do Ollama.
O sistema também usa modelos incorporados e modelos de rearranjo, que podem suportar a maioria dos modelos de abraçar o rosto. Atualmente, o Thinkrag usa principalmente os modelos da BGE Series da BAAI. Os usuários domésticos podem acessar o URL do espelho para entender e baixar.
Depois de baixar o código do GitHub, instale os componentes necessários com a instalação do PIP.
pip3 install -r requirements.txt
Para executar o sistema offline, faça o download do Ollama no site oficial. Em seguida, use o comando ollama para baixar modelos grandes, como GLM, Gemma e Qwen.
Sincronização, faça o download de Hugging Face até o modelo incorporado (BAAI/BGE-Large-ZH-V1.5) e o BAAI/BGE-Reranker-Base) no diretório LocalModels.
Para etapas específicas, consulte o documento no diretório DOCS: HowToDownLoadModels.md
Para obter um melhor desempenho, é recomendável usar uma API de modelo comercial LLM em grande escala com 100 bilhões de parâmetros de nível.
Primeiro, obtenha a chave da API do provedor de serviços LLM para configurar as seguintes variáveis de ambiente.
ZHIPU_API_KEY = " "
MOONSHOT_API_KEY = " "
DEEPSEEK_API_KEY = " "
OPENAI_API_KEY = " "
Você pode pular esta etapa e configurar a chave da API através da interface do aplicativo após a execução do sistema.
Se você optar por usar uma ou mais APIs LLM, exclua o provedor de serviços que não é mais usado no arquivo de configuração Config.py.
Obviamente, você também pode adicionar outros provedores de serviços compatíveis com a API OpenAI no arquivo de configuração.
O Thinkrag executa o modo de desenvolvimento por padrão. Nesse modo, o sistema usa arquivos locais para armazenar e você não precisa instalar nenhum banco de dados.
Se você deseja alternar para o modo de produção, pode configurar as variáveis de ambiente da seguinte maneira.
THINKRAG_ENV = production
No modo de produção, o sistema usa o banco de dados vetorial Chroma e o banco de dados de valor -chave redis.
Se você não instalar o Redis, é recomendável instalá -lo através do Docker ou usar instâncias Redis existentes. Configure as informações do parâmetro da instância Redis no arquivo config.py.
Agora, você está pronto para executar o Thinkrag.
Execute os seguintes comandos no diretório que contém o arquivo app.py.
streamlit run app.py
O sistema será executado e abrirá automaticamente o seguinte URL no navegador para exibir a interface do aplicativo.
http: // localhost: 8501/
A primeira operação pode demorar um pouco. Se você não baixar o modelo incorporado no rosto abraçado com antecedência, o sistema baixará automaticamente o modelo, que precisará esperar mais.
O ThinkRag suporta a interface do usuário para configurar e selecionar modelos grandes, incluindo: URL base e teclas API da grande API do Modelo LLM, e você pode escolher os modelos específicos usados, como o GLM-4 do espectro inteligente.
O sistema detectará automaticamente se a API e a chave estão disponíveis.
Da mesma forma, o sistema pode obter automaticamente o modelo baixado por Ollama, e os usuários podem selecionar os modelos necessários na interface do usuário.
Se você baixou o modelo incorporado e o modelo de rearreção no diretório local de models. Na interface do usuário, você pode alternar o modelo selecionado e definir os parâmetros do modelo pesado -como o Top N.
Na barra de navegação esquerda, clique em Settings-Avanced, você também pode definir os seguintes parâmetros:
Usando parâmetros diferentes, podemos comparar os resultados de saída de modelos grandes e encontrar a combinação de parâmetros mais eficaz.
O ThinkRag suporta o upload de vários arquivos, como PDF, DOCX, PPTX, e também suporta o upload do URL da página da web.
Clique no botão Procurar arquivos, selecione os arquivos no computador e clique no botão Carregar para carregar.
Em seguida, clique no botão Salvar, o sistema processará o arquivo, incluindo segmentação de texto e incorporação, e salve -o na base de conhecimento.
Da mesma forma, você pode inserir ou colar o URL do webpo, obter informações da Web e salvá -las na base de conhecimento após o processamento.
O sistema suporta o gerenciamento da base de conhecimento.
Conforme mostrado na figura acima, o thinkrag pode ser listado nas páginas, todos os documentos na base de conhecimento.
Selecione o documento a ser excluído, o botão Delete Selectd Documents será exibido.
Na barra de navegação esquerda, clique em consulta, haverá uma página de perguntas e respostas inteligentes.
Depois de inserir o problema, o sistema recuperará a base de conhecimento e dará uma resposta. Nesse processo, o sistema usará tecnologias como recuperação mista e rearranjo para obter conteúdo preciso da base de conhecimento.
Por exemplo, enviamos um documento do Word na base de conhecimento: "David disse o processo .docx".
Digite a pergunta agora: "Quais são os três recursos o processo?"
Como mostrado na figura, o sistema leva 2,49 segundos e é dada uma resposta precisa: o processo é direcionado, repetitivo e processado. Ao mesmo tempo, o sistema também fornece dois documentos relacionados recuperados da base de conhecimento.
Pode -se observar que o ThinkRag é totalmente implementado e efetivamente implementado, e a grande recuperação de modelos da base de conhecimento local é aprimorada.
O ThinkRag é desenvolvido com a estrutura de dados do Llamaindex e o front -end usa o streamlit. O modelo de desenvolvimento e o modelo de produção do sistema usam diferentes componentes técnicos, respectivamente, como mostrado na tabela abaixo:
Modo de desenvolvimento | Modo de produção | |
---|---|---|
Estrutura de pano | Llamaindex | Llamaindex |
FRONT -END Framework | Simplit | Simplit |
Integrado | BAAI/BGE-SMALL-ZH-V1.5 | BAAI/BGE-LARGE-ZH-V1.5 |
Modelo de reunião | BAAI/BGE-RERANKER-BASE | BAAI/BGE-RERANKER-LARGE |
Divisor de texto | Sentenças plitter | SpacyTextsPlitter |
Armazenamento de diálogo | SimpleChatStore | Redis |
Armazenamento de documentos | SimpleDocumentStore | Redis |
Armazenamento de índice | SimpleIndexStore | Redis |
Armazenamento vetorial | SimpleVectorsStore | Lancedb |
Esses componentes técnicos são projetados de acordo com a frente, estrutura, modelos grandes, ferramentas, armazenamento e infraestrutura.
Como mostrado na figura abaixo:
O Thinkrag continuará otimizando a função principal e melhorará continuamente a eficiência e a precisão da recuperação, incluindo principalmente:
Ao mesmo tempo, melhoraremos ainda mais a arquitetura do aplicativo e melhoraremos a experiência do usuário, incluindo principalmente:
Você pode ingressar no projeto de código aberto do ThinGerag para criar o produto AI favorito de um usuário!
O ThinkRag usa o protocolo MIT.