Markdown
Markdown ist eine schlanke Auszeichnungssprache, die es Ihnen ermöglicht, Text mithilfe eines einfachen Texteditors zu formatieren.
In diesem Artikel wird vorgestellt, wie LangChain Markdown-Dokumente in Dokumentformate lädt, die wir nachgelagert verwenden können.
from langchain_community.document_loaders import UnstructuredMarkdownLoader
markdown_path = "../../../../../README.md"
loader = UnstructuredMarkdownLoader(markdown_path)
data = loader.load()
data
[Document(page_content="🦜🔗 LangChain\n\n⚡ Anwendungen mit LLMs durch Komponierbarkeit erstellen ⚡\n\nAuf der Suche nach der JS/TS-Version? Schauen Sie sich LangChain.js an.\n\nProduktunterstützung: Wenn Sie Ihre LangChains in die Produktion bringen, bieten wir gerne umfassendere Unterstützung an.\nFüllen Sie bitte dieses Formular aus, und wir richten einen dedizierten Support-Slack-Kanal ein.\n\nSchnelle Installation\n\npip install langchain\noder\nconda install langchain -c conda-forge\n\n🤔 Was ist das?\n\nGroße Sprachmodelle (LLMs) entwickeln sich zu einer bahnbrechenden Technologie, die es Entwicklern ermöglicht, Anwendungen zu erstellen, die sie zuvor nicht erstellen konnten. Die Verwendung dieser LLMs allein reicht jedoch oft nicht aus, um eine wirklich leistungsfähige App zu erstellen - die wahre Stärke liegt darin, wenn Sie sie mit anderen Quellen von Berechnungen oder Wissen kombinieren können.\n\nDiese Bibliothek zielt darauf ab, bei der Entwicklung dieser Art von Anwendungen zu unterstützen. Typische Beispiele für solche Anwendungen sind:\n\n📚 Frage-Antwort-Systeme über spezifische Dokumente\n\nDokumentation\n\nEnd-to-end Beispiel: Frage-Antwort-System über Notion-Datenbank\n\n📬 Chatbots\n\nDokumentation\n\nEnd-to-end Beispiel: Chat-LangChain\n\n🤖 Agenten\n\nDokumentation\n\nEnd-to-end Beispiel: GPT+WolframAlpha\n\n📝 Dokumentation\n\nBitte sehen Sie hier die vollständige Dokumentation zu:\n\nLoslegen (Installation, Einrichten der Umgebung, einfache Beispiele)\n\nHow-To-Beispiele (Demos, Integrationen, Hilfsfunktionen)\n\nReferenz (vollständige API-Dokumentation)\n\nRessourcen (hochrangige Erklärung von Kernkonzepten)\n\n🚀 Wobei kann dies helfen?\n\nEs gibt sechs Hauptbereiche, bei denen LangChain dazu gedacht ist, zu helfen. Diese sind in aufsteigender Reihenfolge der Komplexität:\n\n📃 LLMs und Vorgaben:\n\nDies umfasst die Verwaltung von Vorgaben, die Optimierung von Vorgaben, eine generische Schnittstelle für alle LLMs und gängige Dienstprogramme zum Arbeiten mit LLMs.\n\n🔗 Chains:\n\nChains gehen über einen einzelnen LLM-Aufruf hinaus und umfassen Sequenzen von Aufrufen (ob an einen LLM oder ein anderes Dienstprogramm). LangChain bietet eine standardisierte Schnittstelle für Chains, viele Integrationen mit anderen Tools und End-to-End-Chains für übliche Anwendungen.\n\n🚚 Datengestützte Generierung:\n\nDatengestützte Generierung umfasst spezifische Arten von Chains, die zuerst mit einer externen Datenquelle interagieren, um Daten für die Verwendung im Generierungsschritt abzurufen. Beispiele hierfür sind die Zusammenfassung langer Texte und die Fragebeantwortung über spezifische Datenquellen.\n\n🤖 Agenten:\n\nAgenten umfassen ein LLM, das Entscheidungen darüber trifft, welche Aktionen ausgeführt werden sollen, die Durchführung dieser Aktion, das Sehen einer Beobachtung und das Wiederholen, bis es abgeschlossen ist. LangChain bietet eine standardisierte Schnittstelle für Agenten, eine Auswahl an Agenten zur Auswahl und Beispiele für End-to-End-Agenten.\n\n🧠 Speicher:\n\nSpeicher bezieht sich auf das Persistieren von Zuständen zwischen Aufrufen einer Chain/eines Agenten. LangChain bietet eine standardisierte Schnittstelle für Speicher, eine Sammlung von Speicherimplementierungen und Beispiele für Chains/Agenten, die Speicher verwenden.\n\n📐 Evaluation:\n\n[BETA] Generative Modelle sind berüchtigt schwer mit traditionellen Metriken zu evaluieren. Eine neue Möglichkeit, sie zu evaluieren, ist die Verwendung von Sprachmodellen selbst zur Evaluierung. LangChain bietet einige Vorgaben/Chains zur Unterstützung dabei.\n\nFür weitere Informationen zu diesen Konzepten sehen Sie bitte unsere vollständige Dokumentation.\n\n📁 Mitarbeit\n\nAls Open-Source-Projekt in einem sich rasant entwickelnden Bereich sind wir äußerst offen für Beiträge, sei es in Form einer neuen Funktion, einer verbesserten Infrastruktur oder einer besseren Dokumentation.\n\nFür detaillierte Informationen dazu, wie Sie beitragen können, sehen Sie bitte hier.", metadata={'source': '../../../../../README.md'})]
I have translated the content into German while preserving the original format and code logic. Let me know if you need any further assistance!
Hinter den Kulissen erstellt Unstructured verschiedene "Elemente" für verschiedene Textblöcke. Standardmäßig kombinieren wir sie, aber du kannst diese Trennung leicht beibehalten, indem du mode="elements"
angibst.
loader = UnstructuredMarkdownLoader(markdown_path, mode="elements")
data = loader.load()
data[0]
Document(page_content='ð\x9f¦\x9cï¸\x8fð\x9f”\x97 LangChain', metadata={'source': '../../../../../README.md', 'page_number': 1, 'category': 'Title'})