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: eine vollständige Implementierung des 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 anfordern
- 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
import os
os.environ["NVIDIA_API_KEY"] = "your-nvidia-api-key"
os.environ["LANGCHAIN_API_KEY"] = "your-langchain-api-key"
os.environ["TAVILY_API_KEY"] = "your-tavily-api-key"
- 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 = """
This report type focuses on comparative analysis.
The report structure should include:
1. Introduction
2. Main Body Sections
3. Conclusion with Comparison Table
"""
- Festlegung des Themas des Berichts:
Python
report_topic = "你的报告主题"
- Konfigurieren Sie die Suchparameter:
Python
tavily_topic = "general" # 或 "news"
tavily_days = None # 仅适用于新闻主题
- Erstellen Sie einen Berichtsplan:
Python
sections = await generate_report_plan({
"topic": report_topic,
"report_structure": report_structure,
"number_of_queries": 2,
"tavily_topic": tavily_topic,
"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:
- Parallele Recherche in mehreren Kapiteln 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 Überprüfung 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