Allgemeine Einführung
Der Diffbot LLM Reasoning Server ist ein innovatives, großangelegtes Sprachmodellierungssystem mit speziellen Optimierungen und Verbesserungen auf Basis der LLama-Modellarchitektur. Das wichtigste Merkmal des Projekts ist die Integration vonWissensgrafik in Echtzeit(Knowledge Graph) vs.Suche Verbesserte Generation(RAG)-Technologie kombiniert, um das einzigartige GraphRAG-System zu schaffen. Es extrahiert und verarbeitet nicht nur Web-Informationen in Echtzeit, sondern führt auch genaue Faktenzitate und Wissensabfragen durch. Das System bietet zwei Versionen des Modells: ein 8B-Parameter-Modell auf der Grundlage von Llama 3.1 (diffbot-small) und ein 70B-Parameter-Modell auf der Grundlage von Llama 3.3 (diffbot-small-xl). In maßgeblichen Benchmarks wie MMLU-Pro zeigt das System eine hervorragende Leistung, insbesondere bei der Datenverarbeitung in Echtzeit, und übertrifft Mainstream-Modelle wie GPT-4 und ChatGPT. Das Projekt ist vollständig quelloffen und unterstützt die lokale Bereitstellung und Cloud-API-Aufrufe, was Entwicklern eine flexible Nutzung ermöglicht.
Funktionsliste
- Extraktion und Zusammenfassung von URL-Inhalten von Webseiten in Echtzeit
- Auf Wissensgraphen basierende präzise Suche nach Fakten und Zitaten
- Unterstützung für Diffbot Knowledge Graph Query Language (DQL)
- Bildverständnis und beschreibende Fähigkeiten
- Integration der arithmetischen Funktionen des JavaScript-Interpreters
- ASCII Art Wettervorhersage Generation
- Unterstützt den Einsatz von Docker-Containern
- Bereitstellung eines REST-API-Schnittstellendienstes
- Unterstützung für benutzerdefinierte Tool-Erweiterungen
- Unterstützt mehrere Hardware-Konfigurationsoptionen
Hilfe verwenden
1. einsatzmöglichkeiten
Das System bietet zwei Möglichkeiten der Nutzung: lokale Bereitstellung und Cloud-API-Aufrufe.
Lokaler Bereitstellungsprozess:
- Hardware-Anforderungen bestätigt:
- Modell diffbot-small: mindestens Nvidia A100 40G Grafikkarte erforderlich
- Modell diffbot-small-xl: mindestens 2 Nvidia H100 80G Grafikkarten erforderlich (FP8-Format)
- Schritte der Docker-Bereitstellung:
# 1. das Docker-Image ziehen
docker pull docker.io/diffbot/diffbot-llm-inference:latest
# 2. starten Sie den Docker-Container (Modelle werden automatisch von HuggingFace heruntergeladen)
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
Cloud-API-Aufrufe:
- Zugangsdaten abrufen:
- Besuchen Sie https://app.diffbot.com/get-started, um sich zu registrieren und Ihr kostenloses Entwickler-Token zu erhalten!
- Beispiel für Python-Code:
von openai import OpenAI
client = OpenAI(
base_url = "https://llm.diffbot.com/rag/v1",
api_key = "Ihr diffbot_token"
)
# Erstellen einer Konversationsanfrage
completion = client.chat.completions.create(
model="diffbot-xl-small",
model="diffbot-xl-small", temperature=0,
messages=[
{
"Rolle": "Benutzer",
"content": "Ihre Frage"
}
]
)
print(completion)
2. die Beschreibung der Nutzung der Kernfunktionen
- Extraktion von Webseiteninhalten:
- Das System kann jede Web-URL in Echtzeit verarbeiten
- Automatisches Extrahieren von Schlüsselinformationen und Erstellen von Zusammenfassungen
- Beibehaltung der Integrität der ursprünglichen Quellenangabe
- Abfrage des Wissensgraphen:
- Präzisionssuche mit Diffbot Query Language (DQL)
- Unterstützt komplexe Abfragen von Wissensbeziehungen
- Zugang zur Wissensdatenbank mit Echtzeit-Updates
- Bildverarbeitungsfunktionen:
- Unterstützung für Bildverständnis und -beschreibung
- Kann mit Text kombiniert werden, um relevante Bildanalysen zu erstellen
- Funktion der Code-Interpretation:
- Eingebauter JavaScript-Interpreter
- Unterstützung für mathematische Berechnungen in Echtzeit
- Einfache Programmlogik kann verarbeitet werden
3. benutzerdefinierte Tool-Erweiterungen
Um die neue Funktionalität zu erweitern, lesen Sie das Dokument add_tool_to_diffbot_llm_inference.md im Projekt und folgen Sie den Schritten, um ein benutzerdefiniertes Werkzeug hinzuzufügen.