Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O llmware é uma estrutura de código aberto focada em ajudar os desenvolvedores a criar rapidamente aplicativos RAG (Retrieval Augmentation Generation) de nível empresarial. O llmware integra uma cadeia de ferramentas completa, desde o processamento de dados até a inferência de modelos, permitindo que os desenvolvedores se conectem a uma base de conhecimento empresarial e executem tarefas como consulta, classificação, extração e assim por diante, sem a necessidade de configurações complexas. Ele foi projetado com o objetivo de reduzir as barreiras ao desenvolvimento de IA, de modo que tanto os desenvolvedores iniciantes quanto os profissionais possam começar a trabalhar rapidamente. A estrutura oferece suporte a uma ampla variedade de bancos de dados e armazenamentos de vetores, é executada de forma eficiente e pode até mesmo ser usada em laptops comuns sem a necessidade de servidores de GPU caros. O llmware é desenvolvido pela AI Bloks, segue a licença Apache 2.0, tem uma comunidade ativa e incentiva os usuários a participarem das contribuições.

Lista de funções

  • Linha de montagem RAGSuporte ao gerenciamento completo do ciclo de vida, desde o acesso à fonte de conhecimento até os modelos de IA generativos.
  • Mais de 50 modelos especializadosInclui a família de modelos SLIM, DRAGON e BLING, otimizados para tarefas como pergunta e resposta, classificação, extração etc., respectivamente.
  • Suporte a vários bancos de dadosCompatível com bancos de dados de texto, como MongoDB, PostgreSQL, SQLite, e 10 bancos de dados vetoriais, como Milvus e PGVector.
  • Operação local eficienteModelos pequenos podem ser executados em um PC comum sem uma GPU, reduzindo os custos.
  • Integração de fontes de conhecimentoSuporte a várias fontes de dados, como PDF, páginas da Web, áudio etc., que são processadas automaticamente e incorporadas ao modelo.
  • Verificação de fatos e auditoriaDescrição: Forneça validação de evidências, verificação de fatos e rastreamento do histórico de dicas para reduzir as ilusões de modelagem.
  • Exemplo de interface do usuárioFornece exemplos de interface interativa para ajudar os desenvolvedores a criar aplicativos rapidamente.
  • script de automaçãoScripts de instalação com um clique para simplificar a configuração do ambiente e as execuções de amostra.

Usando a Ajuda

Processo de instalação

O processo de instalação do llmware é simples e suporta a instalação via PyPI ou fonte do GitHub. Veja a seguir as etapas detalhadas:

  1. Instalação via PyPI::
    • Abra um terminal e execute o seguinte comando para instalar a versão básica:
      pip3 install llmware
      
    • Se for necessária a funcionalidade completa (incluindo OCR, bancos de dados vetoriais, etc.), execute:
      pip3 install 'llmware[full]'
      
    • Observação: Uma instalação completa incluirá dependências opcionais, comopymilvusepytesseractetc. para usuários que precisam de recursos avançados.
  2. Instalação via código-fonte do GitHub::
    • Clone o repositório llmware:
      git clone https://github.com/llmware-ai/llmware.git
      
    • Vá para o catálogo de projetos:
      cd llmware
      
    • Execute o script de instalação automatizada para instalar as dependências e configurar os exemplos:
      python3 welcome_to_llmware.py
      
    • Esse script instala automaticamente orequirements.txtcopie os arquivos de exemplo e execute owelcome_example.pypara uma experiência rápida.
  3. Dependência de requisitos ambientais::
    • Certifique-se de que o Python 3.8+ esteja instalado em seu sistema.
    • Para a funcionalidade de OCR, o Tesseract (v5.3.3) e o Poppler (v23.10.0) precisam ser instalados manualmente.
    • Se estiver usando o MongoDB, você precisa garantir quemongo-c-driverversão inferior a 1.24.4 para evitar erros de segmentação.
    • Redimensione a pilha do sistema (em um ambiente Linux):
      ulimit -s 160000
      
    • Para usuários do Docker, o tamanho da pilha é definido no tempo de execução:
      docker run --ulimit stack=32768000:32768000
      

Funções principais

1. criação de aplicativos RAG

No centro do llmware está a criação de aplicativos RAG, e o seguinte é um processo operacional típico:

  • Criação de bibliotecas: UsoLibraryAs classes criam bases de conhecimento para armazenar documentos.
    from llmware.library import Library
    lib = Library().create_new_library("my_library")
    
  • Adicionar arquivoImportar PDF, texto e outros documentos para a biblioteca.
    lib.add_files("/path/to/documents")
    
  • Gerar incorporação de vetorUso de um modelo de incorporação (por exemploindustry-bert-contracts) gerando vetores.
    from llmware.retrieval import Query
    q = Query(lib)
    q.generate_embeddings("industry-bert-contracts")
    
  • realizar uma pesquisaRecuperação de informações por meio de consultas textuais ou semânticas.
    results = q.text_search_by_page("contract termination", page_num=1)
    
  • modelo de invocaçãoCarga: Carrega o modelo e combina os resultados da consulta para gerar respostas.
    from llmware.prompts import Prompt
    prompter = Prompt().load_model("llmware/dragon-yi-6b-gguf")
    prompter.add_source_query_results(results)
    response = prompter.prompt_with_source("What is the notice period for termination?")
    

2. uso de modelos SLIM

Os modelos SLIM são projetados para tarefas específicas e geram dados estruturados (por exemplo, JSON, SQL). Exemplo de operação:

  • Carregar modelo SLIM::
    from llmware.prompts import Prompt
    prompter = Prompt().load_model("llmware/slim-sentiment")
    
  • raciocínio executivo::
    response = prompter.prompt_main("This contract is favorable to us.")
    print(response)  # 输出:{"sentiment": "positive"}
    

3. verificação de fatos e auditoria

O llmware oferece recursos de validação de evidências para garantir que as respostas sejam precisas:

  • Verificar resposta::
    stats = prompter.evidence_comparison_stats(response)
    print(stats)  # 输出证据匹配度
    
  • Salvar histórico de interações::
    prompter.save_state()
    

4. exemplos de interface do usuário

O llmware fornece exemplos de interface interativa localizados noexamples/UI/Catálogo:

  • Execute o exemplo:
    python3 examples/UI/invoice_ui.py
    
  • O exemplo suporta o upload de faturas em PDF e a execução do modelo BLING para perguntas e respostas.

Operação da função em destaque

1. fluxo de trabalho do agente multimodelo

O modelo SLIM suporta fluxos de trabalho do agente em várias etapas. Por exemplo, a combinação desentimentresponder cantandointentModelos:

  • Carregamento de vários modelos::
    prompter1 = Prompt().load_model("llmware/slim-sentiment")
    prompter2 = Prompt().load_model("llmware/slim-intent")
    
  • Realizar raciocínio em várias etapas::
    text = "I want to cancel my subscription."
    sentiment = prompter1.prompt_main(text)  # 输出:{"sentiment": "negative"}
    intent = prompter2.prompt_main(text)     # 输出:{"intent": "cancellation"}
    

2. análise do contrato

O modelo DRAGON da llmware otimiza a análise de contratos:

  • Análise de contratos::
    from llmware.library import Library
    from llmware.retrieval import Query
    lib = Library().create_new_library("contracts")
    lib.add_files("/path/to/contracts")
    q = Query(lib)
    results = q.text_query_with_document_filter("termination", {"file_source": "contract.pdf"})
    prompter = Prompt().load_model("llmware/dragon-yi-6b-gguf")
    prompter.add_source_query_results(results)
    response = prompter.prompt_with_source("Summarize termination provisions")
    

3. integração do banco de dados Vector

Há suporte para vários bancos de dados vetoriais, como o Milvus:

  • Configuração de Milvus::
    curl -o docker-compose.yaml https://raw.githubusercontent.com/llmware-ai/llmware/main/docker-compose-redis-stack.yaml
    docker-compose up
    
  • Gerar incorporação::
    q.generate_embeddings("industry-bert-contracts", vector_db="milvus")
    

cenário do aplicativo

  1. Gerenciamento de contratos empresariais
    O llmware pode ser usado para analisar um grande número de contratos e extrair os principais termos (por exemplo, cláusulas de rescisão, condições de pagamento). As organizações podem importar contratos para a biblioteca e usar o modelo DRAGON para realizar consultas semânticas e gerar rapidamente um resumo dos termos, adequado para que as equipes jurídicas aumentem a eficiência.
  2. Processamento de dados financeiros
    As equipes financeiras podem usar os modelos SLIM para analisar faturas ou relatórios financeiros, extraindo os principais campos (por exemplo, valores, datas). O processamento em lote é compatível com a geração de saída JSON estruturada para facilitar a integração em sistemas ERP.
  3. Perguntas e respostas da base de conhecimento
    As empresas podem criar uma base de conhecimento interna e combiná-la com o modelo BLING para realizar a função de perguntas e respostas. Os funcionários podem consultar as políticas, os procedimentos etc. da empresa por meio de linguagem natural, e o modelo retorna respostas precisas com fontes de evidências.
  4. Implantação local de IA
    Para setores sensíveis a dados, o llmware suporta a execução de modelos de IA no PC local ou na nuvem privada para evitar o vazamento de dados. Ele é adequado para bancos, instituições médicas e outros cenários que exigem alta segurança.

QA

  1. O llmware requer uma GPU para ser executado?
    Não é necessário. Os modelos BLING e SLIM da llmware são otimizados para execução na CPU e são adequados para laptops comuns. O modelo DRAGON pode exigir hardware de desempenho mais alto, mas ainda é compatível com ambientes sem GPU.
  2. Como você lida com as alucinações de modelos?
    O llmware oferece recursos de verificação de fatos e de evidências por meio doevidence_comparison_statsresponder cantandoevidence_check_sourcesMétodos de verificação das respostas para garantir a consistência com as fontes de conhecimento.
  3. Quais formatos de arquivo são suportados?
    Oferece suporte a PDF, texto, CSV, JSON, áudio, páginas da Web etc. A função OCR lida com texto em imagens e é adequada para documentos digitalizados.
  4. Como faço para me envolver na comunidade llmware?
    Problemas ou pull requests podem ser enviados pelo GitHub, participar da discussão no canal do Discord (https://discord.com/invite/fCztJQeV7J) ou verificar as diretrizes de contribuição.
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

voltar ao topo

pt_BRPortuguês do Brasil