2 pontos por GN⁺ 2024-04-04 | 1 comentários | Compartilhar no WhatsApp

O que é o LLocalSearch

  • Um mecanismo de busca totalmente local que usa agentes de LLM.
  • Quando o usuário faz uma pergunta, o sistema encontra a resposta usando uma cadeia de LLMs.
  • O usuário pode ver o progresso do agente e a resposta final.
  • Não requer chaves de API da OpenAI ou do Google.
  • Agora foi adicionada a funcionalidade de perguntas de acompanhamento: demo.mp4

Recursos

  • 🕵️ Funciona totalmente de forma local, então não precisa de chave de API.
  • 💸 Funciona em hardware para LLMs de "baixa especificação" (o vídeo de demonstração usa um modelo 7b).
  • 🤓 Fornece logs de progresso para ajudar a entender melhor o processo de busca.
  • 🤔 Permite perguntas de acompanhamento.
  • 📱 Interface amigável para dispositivos móveis.
  • 🚀 Implantação rápida e fácil com Docker Compose.
  • 🌐 Interface web acessível com facilidade em qualquer dispositivo.
  • 💮 UI artesanal com suporte a modos claro e escuro.

Status

  • Este projeto ainda está em estágio inicial. Pode haver alguns bugs.
Publicidade

Como funciona

  • Para obter as informações mais recentes, consulte a documentação de infra.

Auto-hospedagem e desenvolvimento

Requisitos

  • Um servidor Ollama em execução acessível a partir do contêiner.
  • GPU não é obrigatória, mas é recomendada.
  • Docker Compose

Executando a release mais recente

  • Recomendado se você não pretende desenvolver este projeto.
    git clone https://github.com/nilsherzig/LLocalSearch.git
    cd ./LLocalSearch
    # 🔴 Verifique as variáveis de ambiente no arquivo compose e adicione host:port do servidor ollama
    docker-compose up 🎉
    
  • Agora, por padrão, você pode abrir a interface web em http://localhost:3000.
  • Por padrão, nada mais é exposto.
Publicidade

Executando a versão atual do git

  • Você pode usar recursos mais novos, mas a estabilidade pode ser menor.
    git clone https://github.com/nilsherzig/LLocalsearch.git
    # 1. Certifique-se de verificar as variáveis de ambiente em `docker-compose.dev.yaml`.
    # 2. Certifique-se de que verificou o arquivo dev compose, não o arquivo compose normal.
    # 3. Faça o build dos contêineres e inicie os serviços
    make dev
    
  • Se make não estiver instalado, você pode executar manualmente os comandos no Makefile.
  • Agora você pode acessar o frontend em http://localhost:3000.

Opinião do GN⁺

  • O LLocalSearch merece atenção como uma alternativa moderna de mecanismo de busca que prioriza a privacidade do usuário. Ao oferecer funcionalidade de busca sem enviar dados do usuário para servidores externos, pode aliviar preocupações com privacidade.
  • Este projeto oferece uma oportunidade atraente para desenvolvedores na comunidade open source. Ao contribuir com o projeto, desenvolvedores podem ampliar sua compreensão sobre tecnologia de mecanismos de busca e fortalecer seu portfólio.
  • No entanto, como é um projeto em estágio inicial, pode haver bugs e problemas de estabilidade. Isso significa que é preciso cautela ao considerar sua aplicação em ambientes de uso real.
  • Se o LLocalSearch evoluir com sucesso, poderá reduzir a dependência dos grandes mecanismos de busca existentes e trazer mais diversidade ao mercado de busca.
  • Do ponto de vista técnico, a busca com agentes de LLM é muito inovadora, mas para usá-la de forma eficaz são necessários recursos computacionais suficientes e conhecimento técnico.

1 comentários

 
GN⁺ 2024-04-04
Comentários do Hacker News
  • Resumo da coletânea de comentários do Hacker News:
    • 🤖 Combinação de LLMs e mecanismo de busca: Explicação de um sistema em que LLMs podem acessar mecanismos de busca e consultar um banco de dados vetorial. Os principais n resultados de uma consulta de busca iniciada pelo LLM são raspados e armazenados em pequenos chunks em um banco de dados vetorial, e o LLM pode consultar esse banco para obter chunks relevantes. Não é tão abrangente quanto um LLM com contexto de 128k resumindo tudo, mas em hardware local é muito mais rápido e usa menos recursos. A demonstração no GitHub roda em uma GPU de consumidor comum (amd rx 6700xt).

    • 👍 Elogio à arquitetura: Há planos de usar isso com LLMs existentes, e é bom ver que também funciona localmente. Agradecem pelo compartilhamento e dizem gostar da arquitetura.

    • Pergunta sobre a relação com o Perplexity: Apontam a dúvida sobre o que esse sistema tem a ver com o Perplexity e dizem que, em vez disso, seria necessária uma referência ao modelo base usado.

    • 🌟 Recursos especiais dos modelos locais: Dizem que nunca viram um modelo local chamar módulos especiais e avaliam que o 7b open-hermes local que usam pessoalmente é muito bom.

    • 🚀 Possibilidade de integração com mecanismo de busca interno corporativo: Ainda não testaram, mas parece muito promissor e acham que seria bastante útil ao conectá-lo a um mecanismo de busca interno da empresa. Ficam felizes em ver mais produtos sem chave de API conectados a LLMs locais sendo criados.

    • 🛠️ Pergunta sobre o processo de decisão na infraestrutura: Perguntam como os blocos “necessidade de usar ferramenta” e “resposta encontrada” são decididos na infraestrutura e, como a demonstração parece demorar para retornar resultados, em qual etapa se gasta mais tempo: busca, armazenamento vetorial ou consulta ao banco de dados vetorial.

    • 🕵️ Como funciona um mecanismo de busca local: Embora seja chamado de “mecanismo de busca que roda localmente”, levantam a dúvida de como ele encontra sites e páginas para indexar.

    • 🤫 Segredo sobre o Perplexity: Opinam que o Perplexity não fez muita coisa além de usar um modelo pronto.

    • 🏭 Concorrente de chatbot do Perplexity: Dizem que o Perplexity parece ser um concorrente de chatbot.

    • Sugestão de integração com o Plandex: Sugerem que seria incrível conectá-lo ao Plandex, compartilhado hoje, para criar uma ferramenta que permita colaborar com IA em código sem sair do computador.

Conhecimento de contexto: LLMs (Large Language Models) são modelos de linguagem de grande porte usados em processamento de linguagem natural, e bancos de dados vetoriais armazenam dados em forma de vetores para permitir buscas rápidas. Perplexity também é uma métrica usada para avaliar o desempenho de modelos na área de processamento de linguagem natural, mas aqui parece se referir a um produto ou serviço específico.