Haystack

Build Retrieval-Augmented Generation applications with HayStack and Zilliz Cloud or Milvus Vector Database

Utilize esta integração gratuitamente
  • O que é o Haystack

    Na sua essência, o Haystack é uma estrutura de código aberto que permite aos utilizadores criar pipelines com LLMs para vários cenários de pesquisa. Quer o objetivo seja executar a geração aumentada de recuperação (RAG), responder a perguntas ou aprofundar a exploração semântica de documentos, o Haystack utiliza LLMs e modelos de PNL de última geração para proporcionar experiências de pesquisa personalizadas, permitindo que os utilizadores façam consultas em linguagem natural sem esforço.

  • Porquê Haystack e Zilliz Cloud (Milvus)

    Uma base de dados vetorial como o Milvus é útil quando utilizada em conjunto com o Haystack por várias razões:

    • Armazenamento e recuperação eficientes: As bases de dados vectoriais armazenam e recuperam eficazmente vectores de elevada dimensão. No contexto do Haystack, em que são comuns grandes colecções de documentos e embeddings gerados por LLMs, uma base de dados vetorial pode ajudar a gerir estes vectores de forma eficaz.
    • Pesquisa rápida de semelhanças: As bases de dados vectoriais estão optimizadas para operações de pesquisa por semelhança, que são cruciais para tarefas como a pesquisa semântica de documentos e os pipelines de geração aumentada por recuperação (RAG). Ao indexar vectores e permitir uma pesquisa rápida por semelhança, uma base de dados vetorial pode acelerar significativamente estas operações no Haystack.
    • Escalabilidade: À medida que as colecções de documentos e o número de vectores aumentam, a escalabilidade torna-se essencial. As bases de dados vectoriais são concebidas para escalar horizontalmente, permitindo ao Haystack lidar eficazmente com implementações em grande escala e volumes de dados crescentes.
    • Integração com Pipelines: O desenho modular do Haystack permite a fácil integração de tecnologias externas. Ao incorporar uma base de dados vetorial na arquitetura do pipeline, o Haystack pode aproveitar as suas capacidades sem problemas, melhorando a eficiência e o desempenho geral do sistema.

    Em geral, a integração de uma base de dados vetorial no Haystack pode melhorar a eficiência do armazenamento, acelerar as operações de pesquisa por semelhança, proporcionar escalabilidade e melhorar a funcionalidade geral do sistema para criar aplicações LLM e sistemas de pesquisa prontos a produzir.

  • Como utilizar o Haystack e o Zilliz Cloud

    Depois de ter instalado, configurado e iniciado o Haystack e o Zilliz Cloud (ou Milvus), é necessário instalar a integração.

    pip install -e milvus-haystack
    

    Em seguida, você pode começar a ingerir dados no Zilliz Cloud a partir do pipeline Haystack. Aqui está um exemplo:

    from milvus_haystack import MilvusDocumentStore
    
    document_store = MilvusDocumentStore()
    documents = [Document(
        content="Um documento Foo",
        meta={"page": "100", "chapter": "intro"},
        embedding=[-10.0] * 128,
    )]
    document_store.write_documents(documents)
    document_store.count_documents() # 1
    
  • Veja estes tutoriais sobre Haystack e Milvus

    • Tutorial sobre como construir um sistema generativo aumentado de recuperação com Milvus e Haystack](https://milvus.io/docs/integrate_with_haystack.md)
    • Projetando Retrieval Augmentation para Pipelines Generativos com Haystack | Vídeo
    • Pip instalar a solução Milvus/Haystack
    • Documentação para Haystack versão 1.0 e 2,0