Allgemeine Einführung
Dies ist ein von LangChain und NVIDIA gemeinsam entwickeltes Blueprint-Projekt zur strukturierten Berichterstellung, das in einem Jupyter-Notebook-Tutorial auf GitHub vorgestellt wird. Das Projekt nutzt fortschrittliche KI-Techniken, insbesondere das Llama-3.3-70b-Modell, um die Erstellung professioneller technischer Berichte zu automatisieren. Das Kernstück des Projekts ist ein mehrstufiges System zur Erstellung von Berichten, das auf LangGraph von LangChain basiert und die Planung von Berichten, die Web-Recherche und das Schreiben von Inhalten umfasst. Das System ist in der Lage, automatisch Berichtskapitel auf der Grundlage von benutzerdefinierten Themen und strukturellen Gliederungen zu planen, eine intelligente Websuche nach relevanten Informationen über Tavily durchzuführen und klar strukturierte, professionell geschriebene technische Berichte zu generieren. Das Projekt eignet sich besonders für Entwickler und technische Teams, die schnell hochwertige technische Dokumente erstellen müssen.
Funktionsliste
- Automatisierte Planung der Berichtsstruktur: Generierung von Berichtsentwürfen auf der Grundlage von Benutzereingaben zu Themen und organisatorischen Anforderungen
- Intelligente Web-Recherche: gezielte Websuche und Informationsbeschaffung mit der Tavily-API
- Parallele Bearbeitung von Berichtskapiteln: unterstützt die gleichzeitige Recherche und das Schreiben mehrerer Kapitel
- Flexible Anpassung der Berichte: Suche nach Nachrichten oder allgemeinen Inhalten auf Anfrage
- Strukturierte Ausgabesteuerung: Unterstützung für Tabellen, Listen und andere Auszeichnungssprachenformate
- Verfolgung von Quellenangaben: automatische Erfassung und Formatierung von Referenzquellen
- Qualitätskontrollmechanismen: einschließlich Wortgrenzen und Formatierungsprüfungen
- Interaktive Entwicklungsumgebung: vollständige Implementierung eines Jupyter-Notebooks
Hilfe verwenden
1. die Vorbereitung der Umwelt
- Installieren Sie die erforderlichen Abhängigkeitspakete:
%pip install --quiet -U langgraph langchain_community langchain_core tavily-python langchain_nvidia_ai_endpoints
- Konfigurieren Sie den API-Schlüssel:
- NVIDIA NIM Test-API-Schlüssel
- InterviewsNVIDIA NIM-SeiteRegistrieren und API-Schlüssel abrufen
- 1.000 API-Testguthaben für neue Benutzer
- LangChain API-Schlüssel
- existierenLangChain Einstellungen SeiteEin Konto erstellen
- Navigieren Sie zu "API-Schlüssel", um einen neuen API-Schlüssel zu erstellen.
- Tavily API-Schlüssel
- InterviewsTavily Homeein Konto registrieren
- Erstellen eines API-Schlüssels
2. die Initialisierung des Projekts
- Setzen von Umgebungsvariablen:
Python
os importieren
os.environ["NVIDIA_API_KEY"] = "ihr-nvidia-api-schlüssel"
os.environ["LANGCHAIN_API_KEY"] = "ihr-langchain-api-schlüssel"
os.environ["TAVILY_API_KEY"] = "dein-tavily-api-schlüssel"
- Initialisieren Sie die erforderlichen Clients:
Python
from tavily import TavilyClient, AsyncTavilyClient
tavily_client = TavilyClient()
tavily_async_client = AsyncTavilyClient()
3. der Prozess der Berichterstellung
- Definieren Sie die Berichtsstruktur:
Python
report_structure = """
Dieser Berichtstyp konzentriert sich auf die vergleichende Analyse.
Die Struktur des Berichts sollte Folgendes umfassen: 1.
1. die Einleitung
2. die wichtigsten Abschnitte des Hauptteils
3. eine Schlussfolgerung mit Vergleichstabelle
"""
- Festlegung des Themas des Berichts:
Python
report_topic = "Ihr Berichtsthema"
- Konfigurieren Sie die Suchparameter:
Python
tavily_topic = "allgemein" # oder "Nachrichten"
tavily_days = Keine # nur für Nachrichtenthemen
- Erstellen Sie einen Berichtsplan:
Python
sections = await generate_report_plan({
"topic": report_topic, "report_structure": report_structure, {
"tavily_days": tavily_days
})
4. die Nutzung der erweiterten Funktionen
- Benutzerdefinierte Abfrageerstellung:
- Ändern der query_writer_instructions zur Optimierung von Suchanfragen
- Passen Sie den Parameter number_of_queries an, um die Anzahl der Abfragen pro Abschnitt zu steuern
- Kontrolle der Formatierung des Inhalts:
- Verwendung der Markdown-Syntax zum Festlegen der Kopfzeilenhierarchie
- Unterstützung für strukturierte Inhalte wie Tabellen und Listen
- Sie können das Wortlimit für jedes Kapitel festlegen
- Verwaltung der Quellinhalte:
- Verarbeitung von Suchergebnissen mit der Funktion deduplicate_and_format_sources
- Der Parameter max_tokens_per_source kann angepasst werden, um die Länge des Quellinhalts zu steuern
- Optimierung der Parallelverarbeitung:
- Kapitelübergreifende parallele Recherche mit LangGraph
- Optimieren Sie den Verarbeitungsablauf durch Anpassung der StateGraph-Konfiguration
5. vorsichtsmaßnahmen
- API-Verwendungsbeschränkungen:
- Achten Sie darauf, den Umfang der NVIDIA-API-Nutzung zu überwachen
- Angemessene Einstellung der Abfragehäufigkeit zur Vermeidung von Grenzwertüberschreitungen
- Qualitätskontrolle der Inhalte:
- Sicherstellen, dass report_structure eine klare Abschnittsführung bietet
- Regelmäßige Validierung der Richtigkeit der erstellten Inhalte
- Systemanforderungen:
- Kompatibilität der Python-Umgebung sicherstellen
- Abhängigkeiten auf dem neuesten Stand halten
- Fehlerbehandlung:
- Implementierung geeigneter Mechanismen zur Fehlerbehandlung
- Zwischenergebnisse speichern, um Verarbeitungsunterbrechungen zu vermeiden