Introdução geral
O Diffbot LLM Reasoning Server é um sistema inovador de modelagem de linguagem em larga escala com otimizações e aprimoramentos especiais baseados na arquitetura do modelo LLama. O recurso mais importante do projeto é a integração deGráfico de conhecimento em tempo real(Gráfico de conhecimento) vs.Geração aprimorada de pesquisa(RAG) foi combinada para criar o exclusivo sistema GraphRAG. Ele não apenas extrai e processa informações da Web em tempo real, mas também realiza a citação precisa de fatos e a recuperação de conhecimento. O sistema fornece duas versões do modelo: um modelo de parâmetro 8B baseado no Llama 3.1 (diffbot-small) e um modelo de parâmetro 70B baseado no Llama 3.3 (diffbot-small-xl). Em benchmarks confiáveis, como o MMLU-Pro, o sistema apresenta excelente desempenho, especialmente no processamento de dados em tempo real, superando os principais modelos, incluindo o GPT-4 e o ChatGPT. O projeto é totalmente de código aberto e oferece suporte à implantação local e às chamadas de API na nuvem, proporcionando aos desenvolvedores um uso flexível.
Lista de funções
- Extração e resumo de conteúdo de URL de página da Web em tempo real
- Recuperação e citação precisas de fatos com base em gráficos de conhecimento
- Suporte à linguagem de consulta do gráfico de conhecimento do Diffbot (DQL)
- Compreensão de imagens e habilidades descritivas
- Integração das funções aritméticas do código do interpretador JavaScript
- Geração de previsão do tempo em arte ASCII
- Oferece suporte à implementação em contêineres do Docker
- Fornecer serviço de interface de API REST
- Suporte para extensões de ferramentas personalizadas
- Oferece suporte a várias opções de implementação de configuração de hardware
Usando a Ajuda
1. opções de implantação
O sistema oferece duas maneiras de usá-lo: implantação local e chamadas de API na nuvem.
Processo de implantação local:
- Requisitos de hardware confirmados:
- Modelo diffbot-small: é necessária uma placa de vídeo Nvidia A100 40G, no mínimo
- Modelo diffbot-small-xl: são necessárias no mínimo 2 placas de vídeo Nvidia H100 80G (formato FP8)
- Etapas de implantação do Docker:
# 1. extraia a imagem do Docker
docker pull docker.io/diffbot/diffbot-llm-inference:latest
# 2. Execute o contêiner do Docker (os modelos são baixados automaticamente do HuggingFace)
docker run --runtime nvidia --gpus all -p 8001:8001 --ipc=host \
-e VLLM_OPTIONS="--model diffbot/Llama-3.1-Diffbot-Small-2412 --served-model-name diffbot-small --enable-prefix-caching" \
docker.io/diffbot/diffbot-llm-inference:latest
Chamadas à API da nuvem:
- Obter credenciais de acesso:
- Visite https://app.diffbot.com/get-started para se registrar e obter seu token de desenvolvedor gratuito!
- Exemplo de código Python:
from openai import OpenAI
cliente = OpenAI(
base_url = "https://llm.diffbot.com/rag/v1",
api_key = "seu diffbot_token"
)
# Criar uma solicitação de conversa
completion = client.chat.completions.create(
model="diffbot-xl-small",
model="diffbot-xl-small", temperature=0,
messages=[
{
"função": "usuário",
"content": "Your question" (Sua pergunta)
}
]
)
print(completion)
2. descrição do uso das funções essenciais
- Extração de conteúdo de páginas da Web:
- O sistema pode processar qualquer URL da Web em tempo real
- Extraia automaticamente as principais informações e gere resumos
- Manter a integridade da citação da fonte original
- Consulta ao gráfico de conhecimento:
- Pesquisa de precisão com a Diffbot Query Language (DQL)
- Oferece suporte a consultas complexas de relações de conhecimento
- Acesso à base de conhecimento com atualizações em tempo real
- Recursos de processamento de imagens:
- Suporte para compreensão e descrição de imagens
- Pode ser combinado com texto para gerar análises de imagens relevantes
- Função de interpretação de código:
- Interpretador JavaScript integrado
- Suporte para cálculos matemáticos em tempo real
- A lógica simples do programa pode ser processada
3. extensões de ferramentas personalizadas
Para ampliar a nova funcionalidade, consulte o documento add_tool_to_diffbot_llm_inference.md no projeto e siga as etapas para adicionar uma ferramenta personalizada.