Aprendizagem pessoal com IA
e orientação prática
Beanbag Marscode1

Yuxi-Know: uma plataforma inteligente de perguntas e respostas baseada em gráficos de conhecimento

Introdução geral

O Yuxi-Know é uma plataforma inteligente de perguntas e respostas de código aberto que combina tecnologias de gráfico de conhecimento e RAG (Retrieval Augmented Generation) para ajudar os usuários a obter rapidamente respostas precisas. Ela se baseia no Neo4j para armazenar o gráfico de conhecimento, usa FastAPI e VueJS para criar o back-end e o front-end e oferece suporte a uma variedade de grandes modelos, como OpenAI, DeepSeek, Beanbag e assim por diante. O sistema integra o Milvus banco de dados de vetoresO Yuxi-Know fornece pesquisa em rede, modelo de inferência DeepSeek-R1 e função de chamada de ferramenta, adequado para desenvolvedores criarem gerenciamento de conhecimento ou sistema inteligente de atendimento ao cliente. O projeto é de código aberto no GitHub, fácil de implantar e estender.

Yuxi-Know: plataforma inteligente de perguntas e respostas baseada em gráficos de conhecimento-1


Yuxi-Know: plataforma inteligente de perguntas e respostas baseada em gráficos de conhecimento-1

 

Lista de funções

  • Suporta uma variedade de chamadas de modelos grandes, incluindo OpenAI, DeepSeek, Beanbag, Smart Spectrum Clear Speech e muito mais.
  • Fornece consulta de gráficos de conhecimento e armazena dados estruturados com base no Neo4j.
  • apoiar algo RAG combinada com a base de conhecimento e a pesquisa em rede para gerar respostas precisas.
  • integrado (como em um circuito integrado) DeepSeek-R1 Modelos de raciocínio para lidar com problemas lógicos complexos.
  • Oferece funcionalidade de chamada de ferramenta para executar tarefas externas por meio de APIs.
  • Oferece suporte a vários formatos de arquivo (PDF, TXT, MD, Docx) para criar uma base de conhecimento.
  • Use o Milvus Vector Database para armazenar e recuperar vetores de documentos.
  • Forneça uma interface da Web baseada em VueJS, com operação simples e intuitiva.
  • Oferece suporte à implantação de modelos locais por meio de vLLM talvez Ollama Fornece serviços de API.
  • Permite configurações de modelos vetoriais e modelos definidos pelo usuário para atender a diferentes necessidades.

 

Usando a Ajuda

Processo de instalação

O Yuxi-Know usa a implantação do Docker para simplificar o processo de instalação. Aqui estão as etapas detalhadas:

  1. Preparação do ambiente
    Certifique-se de que o Docker e o Docker Compose estejam instalados. recomendado para Linux ou macOS, os usuários do Windows precisam ativar o WSL2. verifique se o Docker está sendo executado corretamente:

    docker --version
    

    Certifique-se de que o Git esteja instalado para clonar o código.

  2. projeto de clonagem
    Execute o seguinte comando no terminal para clonar a base de código do Yuxi-Know:

    git clone https://github.com/xerrors/Yuxi-Know.git
    

    Vá para o catálogo de projetos:

    cd Yuxi-Know
    
  3. Configuração de variáveis de ambiente
    O Yuxi-Know precisa configurar a chave da API e os parâmetros do modelo. Copie o arquivo de modelo:

    cp src/.env.template src/.env
    

    Abrir com um editor de texto src/.envPreencha a chave necessária. Por exemplo:

    SILICONFLOW_API_KEY=sk-你的密钥
    DEEPSEEK_API_KEY=你的密钥
    TAVILY_API_KEY=你的密钥
    

    Se estiver usando outros modelos (por exemplo, OpenAI, beanbag), adicione a chave correspondente:

    OPENAI_API_KEY=你的密钥
    ARK_API_KEY=你的密钥
    

    Uso padrão SiliconFlow você deve configurar o serviço SILICONFLOW_API_KEY. Se estiver usando um modelo local, será necessário configurar o caminho do modelo:

    MODEL_DIR=/path/to/your/models
    
  4. Início dos serviços
    Inicie todos os serviços executando o seguinte comando no diretório raiz do projeto:

    docker compose -f docker/docker-compose.dev.yml --env-file src/.env up --build
    

    Isso iniciará o Neo4j, o Milvus, o backend FastAPI e o frontend VueJS. A primeira inicialização pode levar alguns minutos. Em caso de sucesso, o terminal exibirá:

    [+] Running 7/7
    ✔ Network docker_app-network       Created
    ✔ Container graph-dev              Started
    ✔ Container milvus-etcd-dev        Started
    ✔ Container milvus-minio-dev       Started
    ✔ Container milvus-standalone-dev  Started
    ✔ Container api-dev                Started
    ✔ Container web-dev                Started
    

    Se você precisar executar em segundo plano, adicione -d Parâmetros:

    docker compose -f docker/docker-compose.dev.yml --env-file src/.env up --build -d
    
  5. sistema de acesso
    Abra seu navegador e acesse http://localhost:5173/Você pode acessar a interface do Yuxi-Know. Se ela não estiver acessível, verifique o status do contêiner do Docker:

    docker ps
    

    Verifique se todos os contêineres estão em execução. Se houver um conflito de portas, modifique o docker-compose.dev.yml A configuração da porta no

  6. Encerramento do serviço
    Interrompa o serviço e exclua o contêiner:

    docker compose -f docker/docker-compose.dev.yml --env-file src/.env down
    

Uso das funções principais

O Yuxi-Know oferece consulta a gráficos de conhecimento, pesquisa em bases de conhecimento, pesquisa em redes e funções de chamada de ferramentas. Veja a seguir o método de operação detalhado:

  1. Consulta ao gráfico de conhecimento
    O Yuxi-Know usa o Neo4j para armazenar gráficos de conhecimento, o que é adequado para a consulta de dados estruturados. Por exemplo, a consulta "Qual é a capital de Pequim?" O sistema extrairá a resposta do gráfico de conhecimento.

    • Importando o Knowledge GraphPreparar um arquivo no formato JSONL com cada linha contendo o nó principal, o nó secundário e a relação, por exemplo:
      {"h": "北京", "t": "中国", "r": "首都"}
      

      Navegue até "Atlas Management" na interface e carregue o arquivo JSONL. Ele será carregado automaticamente no Neo4j.

    • Visite o Neo4jNa inicialização, o http://localhost:7474/ Para acessar o painel do Neo4j, a conta padrão é neo4jA senha é 0123456789.
    • tomar nota deO nó precisa conter Entity caso contrário, o índice não poderá ser acionado.
  2. pesquisa na base de conhecimento
    O sistema suporta o upload de arquivos PDF, TXT, MD, Docx, que são automaticamente convertidos em vetores e armazenados no banco de dados do Milvus. Etapas da operação:

    • Navegue até "Knowledge Base Management" e clique em "Upload Files".
    • Ao selecionar o arquivo, o sistema converte o conteúdo em texto simples, usando um modelo vetorial (como o BAAI/bge-m3) gera vetores e os armazena.
    • Para consultar, insira uma pergunta como, por exemplo, "Quais são as tendências de IA mencionadas no documento?" O sistema recuperará o conteúdo relevante e gerará a resposta.
    • chamar a atenção para algoArquivos grandes podem demorar a ser processados; recomenda-se fazer uploads segmentados.
  3. pesquisa de rede
    Quando a base de conhecimento local não consegue responder, o sistema permite a recuperação em rede. Certifique-se de que a configuração do TAVILY_API_KEY. Método de operação:

    • Insira uma pergunta na interface, como, por exemplo, "Qual é a tecnologia de IA mais recente em 2025?"
    • O sistema funciona da seguinte forma Tavily A API obtém informações da Web e as combina com um grande modelo para gerar respostas.
    • Os resultados mostrarão um link para a fonte, facilitando a verificação das informações.
  4. Chamada de ferramenta
    O Yuxi-Know suporta a chamada de ferramentas externas via API, como a verificação do clima ou a execução de scripts. Procedimento:

    • existir src/static/models.yaml Adicione a configuração da ferramenta na seção
      tools:
      - name: weather
      url: https://api.weather.com/v3
      api_key: 你的密钥
      
    • Digite na interface: "Como está o tempo em Xangai hoje?" O sistema chamará a ferramenta e retornará o resultado.

Operação da função em destaque

  1. Modelo de inferência DeepSeek-R1
    O DeepSeek-R1 é o destaque do Yuxi-Know para tarefas de raciocínio complexas. Método de operação:

    • seguro DEEPSEEK_API_KEY talvez SILICONFLOW_API_KEY Configurado.
    • Na seleção do modelo de interface, alterne para deepseek-r1-250120.
    • Digite uma pergunta como: "Uma maçã custa US$ 2 a mais que uma laranja, três maçãs e duas laranjas totalizam US$ 16. Quanto custam as laranjas?" O sistema raciocinará e responderá: "As laranjas custam US$ 2".
    • de pontaCapacidade de lidar com problemas lógicos de várias etapas com respostas mais confiáveis.
  2. Suporte a vários modelos
    O sistema suporta a troca de vários modelos para se adaptar a diferentes cenários. Método de operação:

    • Selecione o modelo no menu suspenso no canto superior direito da interface, como Qwen2.5-7B-Instruct(SiliconFlow),gpt-4o(OpenAI) ou doubao-1-5-pro(saco de feijão).
    • Cada modelo tem vantagens diferentes, por exemplo, o Doubao é adequado para a compreensão semântica do chinês e o OpenAI é adequado para tarefas complexas.
    • Adicionar novo modelo:: Editorial src/static/models.yamlAdicione configurações de fornecedor, por exemplo:
      zhipu:
      name: 智谱清言
      url: https://api.zhipuai.com/v1
      default: glm-4-flash
      env:
      - ZHIPUAI_API_KEY
      

      Após reiniciar o serviço, o novo modelo estará pronto para ser usado.

  3. Implementação de modelo local
    Se precisar usar um modelo local (por exemplo, LLaMA), você poderá implantá-lo via vLLM ou Ollama. Procedimento:

    • Inicie o serviço vLLM:
      vllm serve /path/to/model --host 0.0.0.0 --port 8000
      
    • Adicione um modelo local na interface "Settings" (Configurações), insira um URL (por exemplo http://localhost:8000/v1).
    • Após salvar, o sistema priorizará o uso do modelo local para ambientes sem rede.
  4. Configuração do modelo vetorial
    Uso padrão BAAI/bge-m3 Gerar vetores. Se você precisar substituí-lo, edite o arquivo src/static/models.yaml::

    local/nomic-embed-text:
    name: nomic-embed-text
    dimension: 768
    

    O modelo local será baixado automaticamente e, se falhar, poderá ser obtido por meio da estação espelho HF-Mirror.

advertência

  • requisito de redeSe a rede estável for necessária para a recuperação da rede e a chamada do modelo, é recomendável verificar o .env no arquivo.
  • Configuração do Neo4jSe você já tiver um serviço Neo4j, poderá modificar o docker-compose.yml acertou em cheio NEO4J_URIe evitar a duplicação de implementações.
  • Download no espelhoSe a extração da imagem do Docker falhar, você poderá usar a estação de espelho do DaoCloud:
    docker pull m.daocloud.io/docker.io/library/neo4j:latest
    docker tag m.daocloud.io/docker.io/library/neo4j:latest neo4j:latest
    
  • Visualização do registroSe o serviço estiver anormal, verifique o registro do contêiner:
    docker logs api-dev
    

 

cenário do aplicativo

  1. Gestão do conhecimento empresarial
    As empresas podem fazer upload de documentos internos (por exemplo, manuais de operação, especificações técnicas) para a base de conhecimento ou organizá-los em um gráfico de conhecimento. Os funcionários usam o Yuxi-Know para fazer perguntas como "Como configurar um servidor?". O sistema retorna as respostas rapidamente, reduzindo o tempo de treinamento.
  2. Suporte à pesquisa acadêmica
    Os pesquisadores podem fazer upload de artigos ou organizar mapas de conhecimento de assuntos. Por exemplo, crie um mapa de relacionamento de moléculas químicas e pergunte: "Quais são as ligações químicas dos átomos de carbono?" O sistema combina mapas e documentos para retornar respostas detalhadas e pode ser conectado em rede para adicionar as pesquisas mais recentes.
  3. Sistema inteligente de atendimento ao cliente
    Os comerciantes podem inserir informações sobre o produto e perguntas frequentes no sistema. Quando um cliente pergunta "Como faço para devolver um produto?" o Yuxi-Know obtém a resposta da base de conhecimento ou verifica on-line a política mais recente e fornece uma resposta precisa.

 

QA

  1. Como faço para carregar um arquivo da Base de Conhecimento?
    Navegue até "Knowledge Base Management" na interface, clique em "Upload" e selecione os arquivos PDF, TXT, MD ou Docx. O sistema os processará e armazenará automaticamente no banco de dados do Milvus.
  2. Quais configurações são necessárias para a recuperação em rede?
    precisa estar em .env para configurar o arquivo TAVILY_API_KEYSe você não tiver uma chave, poderá se registrar para obter uma por meio do SiliconFlow ou da Tavily. Se não tiver uma chave, você pode se registrar para obter uma por meio do SiliconFlow ou do site da Tavily.
  3. Como depurar um modelo local?
    Certifique-se de que o serviço vLLM ou Ollama esteja escutando 0.0.0.0Após a inicialização, adicione o URL correto à seção "Settings" (Configurações) da interface. docker logs api-dev Verifique o status da conexão.
  4. O que devo fazer se a importação do gráfico de conhecimento falhar?
    Verifique o formato do arquivo JSONL para garantir que cada linha contenha o caractere heter campos. Depois de fazer o upload, reinicie o serviço Neo4j e confirme se o nó contém o Entity Etiquetas.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Yuxi-Know: uma plataforma inteligente de perguntas e respostas baseada em gráficos de conhecimento
pt_BRPortuguês do Brasil