suchen
HeimBackend-EntwicklungPython-TutorialErstellen eines Artikelgenerators mit LangChain und LlamaAn AI Developer's Journey

Erstellen eines Artikelgenerators mit LangChain und Llama3: Die Reise eines KI-Entwicklers

Als KI-Entwickler suche ich oft nach Möglichkeiten, komplexe LLM-Interaktionen (Large Language Model) besser handhabbar zu machen. LangChain erregte meine Aufmerksamkeit nicht nur wegen seiner wachsenden Beliebtheit in der KI-Entwickler-Community, sondern auch wegen seines praktischen Ansatzes zur Lösung häufiger LLM-Integrationsherausforderungen. Der Ruf des Frameworks, komplexe LLM-Vorgänge in optimierte Arbeitsabläufe umzuwandeln, faszinierte mich genug, um es auf die Probe zu stellen. Ich beschloss, ein Artikelgenerierungssystem zu entwickeln, das die Fähigkeiten von LangChain mit dem Llama3-Modell kombiniert, um ein Tool mit realen Anwendungen zu erstellen.

Warum LangChain Sinn macht

LangChain verändert die Art und Weise, wie wir mit LLMs interagieren, indem es einen strukturierten, intuitiven Ansatz für die Handhabung komplexer Vorgänge bietet. Betrachten Sie es als ein gut gestaltetes Entwicklungskit, bei dem jede Komponente einem bestimmten Zweck dient. Anstatt rohe API-Aufrufe zu jonglieren und Eingabeaufforderungen manuell zu verwalten, bietet das Framework eine saubere Schnittstelle, die sich aus Entwicklersicht natürlich anfühlt. Es geht nicht nur darum, den Prozess zu vereinfachen, sondern auch darum, LLM-Anwendungen zuverlässiger und wartbarer zu machen.

Schlüsselkomponenten von LangChain

Im Kern verwendet LangChain Ketten, Abfolgen von Vorgängen, die miteinander verknüpft werden, um komplexere Verhaltensweisen zu erzeugen. Diese Ketten erledigen alles von der Formatierung von Eingabeaufforderungen bis zur Verarbeitung von Modellantworten. Während das Framework ausgefeilte Systeme zur Verwaltung von Eingabeaufforderungen und zur Aufrechterhaltung des Kontexts über Interaktionen hinweg umfasst, werde ich mich hauptsächlich auf die Ketten- und Eingabeaufforderungsaspekte für unseren Artikelgenerator konzentrieren.

Der Artikelgenerator

Für dieses Projekt wollte ich etwas Praktisches entwickeln, ein System, das maßgeschneiderte Artikel basierend auf bestimmten Parametern wie Thema, Länge, Ton und Zielgruppe generieren kann. Das Llama3-Modell, auf das über Ollama zugegriffen werden kann, bot die richtige Balance aus Leistung und Flexibilität für diese Aufgabe.

Erste Schritte

Die Einrichtung ist unkompliziert:

  1. Zuerst habe ich die notwendigen Pakete installiert:
pip install langchain langchain-ollama requests
  1. Dann habe ich Ollama eingerichtet:
    1. Ich habe Ollama von https://ollama.com/blog/llama3 heruntergeladen und installiert
    2. In einem neuen Terminal habe ich den Ollama-Server gestartet:
ollama serve
  1. Ich habe das Llama3-Modell gezogen:
ollama pull llama3

Der Ollama-Server muss in seinem Terminal laufen, während der Artikelgenerator verwendet wird. Wenn es geschlossen ist, kann der Generator keine Verbindung zum Modell herstellen.

Aufbau der Kernkomponenten

Lassen Sie uns die Funktionsweise der einzelnen Teile des Systems aufschlüsseln:

Verbindungsmanagement

Diese einfache Prüfung hilft, Laufzeitfehler zu vermeiden, indem Verbindungsprobleme frühzeitig erkannt werden. Dies ist eine zuverlässige Möglichkeit, die Verbindung zum Ollama-Server zu überprüfen:

pip install langchain langchain-ollama requests

Modellkonfiguration

Die Modelleinrichtung ist entscheidend für die richtige Balance in unseren generierten Inhalten:

ollama serve

Diese Parameter stellen den Sweet Spot dar, den ich gefunden habe, nachdem ich verschiedene Kombinationen für die Artikelerstellung getestet habe.

Temperatur (0,7): Steuert die Zufälligkeit der Ausgabe. Ein niedrigerer Wert (z. B. 0,3) würde den Text vorhersehbarer machen, während ein höherer Wert (z. B. 0,9) ihn kreativer machen würde. 0,7 ist eine gute Balance.

Top_p (0,9): Dieser Parameter, auch Nucleus Sampling genannt, teilt dem Modell mit, wie viele Wortoptionen berücksichtigt werden sollen. Bei 0,9 werden genügend Optionen berücksichtigt, um den Text interessant zu halten und sich gleichzeitig auf das Thema zu konzentrieren.

num_ctx(4096): Die Größe des Kontextfensters oder wie viel Text das Modell gleichzeitig verarbeiten kann. Dies bietet ausreichend Platz sowohl für die Eingabe als auch für die Ausgabe eines umfangreichen Artikels, da etwa 3000–3500 Wörter verarbeitet werden können.

Schnelles Engineering

In der Eingabeaufforderungsvorlage definieren wir, was wir vom Modell erwarten:

ollama pull llama3

Generationspipeline

Eines der elegantesten Merkmale von LangChain ist seine einfache Kettenzusammensetzung:

def check_ollama_connection():
    """
    Check if Ollama server is running
    """
    try:
        requests.get('http://localhost:11434/api/tags')
        return True
    except requests.exceptions.ConnectionError:
        return False

Diese einzelne Zeile erstellt eine vollständige Generierungspipeline, die die Eingabeaufforderungsformatierung, die Modellinteraktion und die Antwortverarbeitung übernimmt.

Befehlszeilenschnittstelle

Um das Tool benutzerfreundlich zu gestalten, habe ich eine Befehlszeilenschnittstelle implementiert:

llm = OllamaLLM(
    model="llama3",
    temperature=0.7,  # Balances creativity and consistency
    top_p=0.9,       # Helps with text diversity
    num_ctx=4096     # Sets the context window
)

Praktische Anwendung

Die Verwendung des Generators ist sehr einfach: Sie führen den Code aus und übergeben die Parameter.

Beispiel Nr. 1

article_template = """
You are a professional content writer tasked with creating a comprehensive article.

Topic: {topic}

Writing Requirements:
1. Length: Approximately {word_count} words
2. Style: {tone} tone
3. Target Audience: {audience}
4. Format: Plain text without any markdown notation
5. Additional Details/Requirements: {extra_details}

Content Structure Guidelines:
- Start with an engaging introduction that hooks the reader
- Organize content into clear sections with descriptive headings (not numbered)
- Include relevant examples, statistics, or case studies when appropriate
- Provide practical insights and actionable takeaways
- End with a compelling conclusion that summarizes key points
- Ensure smooth transitions between paragraphs and sections

Writing Style Guidelines:
- Use clear, concise language appropriate for the target audience
- Avoid jargon unless necessary for the target audience
- Incorporate relevant examples and real-world applications
- Maintain an engaging and natural flow throughout the article
- Use active voice predominantly
- Include specific details and evidence to support main points
- Ensure proper paragraph breaks for readability

Additional Notes:
- Do not use any markdown formatting
- Keep paragraphs concise and focused
- Use proper spacing between sections
- If technical terms are used, provide brief explanations
- Include a brief overview of what will be covered at the start

Please write the article now:
"""

Der generierte Artikel:

chain = prompt | llm

Beispiel #2

def parse_arguments():
    """
    Parse command line arguments
    """
    parser = argparse.ArgumentParser(description='Generate an article using AI')

    parser.add_argument('--topic', 
                       type=str, 
                       required=True,
                       help='The topic of the article')

    parser.add_argument('--word-count', 
                       type=int, 
                       default=800,
                       help='Target word count (default: 800)')

    parser.add_argument('--tone', 
                       type=str, 
                       default='professional',
                       choices=['professional', 'casual', 'academic', 'informative', 'technical'],
                       help='Writing tone (default: professional)')

    parser.add_argument('--audience', 
                       type=str, 
                       default='general',
                       help='Target audience (default: general)')

    parser.add_argument('--extra-details', 
                       type=str, 
                       default='',
                       help='Additional requirements or details for the article')

    return parser.parse_args()

Der generierte Artikel:

python main.py \
  --topic "Benefits of playing board games with friends" \
  --word-count 200 \
  --tone casual \
  --audience "Board games lovers" \
  --extra-details "Avoid markdown notation"

Wichtige Erkenntnisse

Während dieses Projekts habe ich mehrere wichtige Erkenntnisse über die Arbeit mit LangChain gewonnen:

  1. Leistungsmuster: Die erste Generation dauert aufgrund des Ladens des Modells länger, nachfolgende Läufe sind jedoch deutlich schneller.
  2. Kontextverwaltung: Ein 4096-Token-Kontextfenster bietet ausreichend Platz für die meisten Artikel und sorgt gleichzeitig für eine gute Leistung.
  3. Generierungsparameter: Die Einstellungen für Temperatur (0,7) und top_p (0,9) sorgen für ein optimales Gleichgewicht zwischen Kreativität und Kohärenz.

Letzte Gedanken

Die Erstellung dieses Artikelgenerators hat den praktischen Wert von LangChain in der KI-Entwicklung gezeigt. Es bewältigt die Komplexität von LLM-Interaktionen und gibt Entwicklern gleichzeitig die Freiheit, sich auf die Entwicklung nützlicher Funktionen zu konzentrieren. Das Framework schafft ein Gleichgewicht zwischen Abstraktion und Kontrolle und erleichtert so die Erstellung zuverlässiger KI-gestützter Anwendungen.

Ich bin zuversichtlich, dass LangChain für liebe Kollegen in der Branche oder einzelne Enthusiasten alle notwendigen Möglichkeiten für die Entwicklung bietet, und das Beste daran ist: Es geht nicht um einen Kompromiss mit Flexibilität. Angesichts der Tatsache, dass der Bereich der KI-Tools exponentiell wächst, werden Frameworks wie LangChain für die Erstellung praktischer, produktionsreifer Anwendungen immer wertvoller.

Building an Article Generator with LangChain and LlamaAn AI Developer

Das LangChain-Logo aus einem Papagei und einer Kette hat eine clevere Bedeutung. Der Papagei bezieht sich darauf, dass LLMs manchmal als „stochastische Papageien“ bezeichnet werden, weil sie die menschliche Sprache wiederholen und überarbeiten. Der Kettenteil ist ein spielerischer Hinweis darauf, wie das Framework dabei hilft, Sprachmodell-„Papageien“ in nützliche Anwendungen zu „verketten“.

Das obige ist der detaillierte Inhalt vonErstellen eines Artikelgenerators mit LangChain und LlamaAn AI Developer's Journey. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Python vs. C: Lernkurven und BenutzerfreundlichkeitPython vs. C: Lernkurven und BenutzerfreundlichkeitApr 19, 2025 am 12:20 AM

Python ist leichter zu lernen und zu verwenden, während C leistungsfähiger, aber komplexer ist. 1. Python -Syntax ist prägnant und für Anfänger geeignet. Durch die dynamische Tippen und die automatische Speicherverwaltung können Sie die Verwendung einfach zu verwenden, kann jedoch zur Laufzeitfehler führen. 2.C bietet Steuerung und erweiterte Funktionen auf niedrigem Niveau, geeignet für Hochleistungsanwendungen, hat jedoch einen hohen Lernschwellenwert und erfordert manuellem Speicher und Typensicherheitsmanagement.

Python vs. C: Speicherverwaltung und KontrollePython vs. C: Speicherverwaltung und KontrolleApr 19, 2025 am 12:17 AM

Python und C haben signifikante Unterschiede in der Speicherverwaltung und -kontrolle. 1. Python verwendet die automatische Speicherverwaltung, basierend auf der Referenzzählung und der Müllsammlung, um die Arbeit von Programmierern zu vereinfachen. 2.C erfordert eine manuelle Speicherverwaltung und liefert mehr Kontrolle, aber die Komplexität und das Fehlerrisiko. Welche Sprache zu wählen sollte, sollte auf Projektanforderungen und Teamtechnologie -Stack basieren.

Python für wissenschaftliches Computer: Ein detailliertes AussehenPython für wissenschaftliches Computer: Ein detailliertes AussehenApr 19, 2025 am 12:15 AM

Zu den Anwendungen von Python im wissenschaftlichen Computer gehören Datenanalyse, maschinelles Lernen, numerische Simulation und Visualisierung. 1.Numpy bietet effiziente mehrdimensionale Arrays und mathematische Funktionen. 2. Scipy erweitert die Numpy -Funktionalität und bietet Optimierungs- und lineare Algebra -Tools. 3.. Pandas wird zur Datenverarbeitung und -analyse verwendet. 4.Matplotlib wird verwendet, um verschiedene Grafiken und visuelle Ergebnisse zu erzeugen.

Python und C: Das richtige Werkzeug findenPython und C: Das richtige Werkzeug findenApr 19, 2025 am 12:04 AM

Ob die Auswahl von Python oder C von den Projektanforderungen abhängt: 1) Python eignet sich aufgrund seiner prägnanten Syntax und reichhaltigen Bibliotheken für schnelle Entwicklung, Datenwissenschaft und Skripten; 2) C ist für Szenarien geeignet, die aufgrund seiner Zusammenstellung und des manuellen Speichermanagements eine hohe Leistung und die zugrunde liegende Kontrolle erfordern, wie z. B. Systemprogrammierung und Spielentwicklung.

Python für Datenwissenschaft und maschinelles LernenPython für Datenwissenschaft und maschinelles LernenApr 19, 2025 am 12:02 AM

Python wird in Datenwissenschaft und maschinellem Lernen häufig verwendet, wobei hauptsächlich auf seine Einfachheit und ein leistungsstarkes Bibliotheksökosystem beruhen. 1) Pandas wird zur Datenverarbeitung und -analyse verwendet, 2) Numpy liefert effiziente numerische Berechnungen, und 3) Scikit-Learn wird für die Konstruktion und Optimierung des maschinellen Lernens verwendet. Diese Bibliotheken machen Python zu einem idealen Werkzeug für Datenwissenschaft und maschinelles Lernen.

Python lernen: Ist 2 Stunden tägliches Studium ausreichend?Python lernen: Ist 2 Stunden tägliches Studium ausreichend?Apr 18, 2025 am 12:22 AM

Ist es genug, um Python für zwei Stunden am Tag zu lernen? Es hängt von Ihren Zielen und Lernmethoden ab. 1) Entwickeln Sie einen klaren Lernplan, 2) Wählen Sie geeignete Lernressourcen und -methoden aus, 3) praktizieren und prüfen und konsolidieren Sie praktische Praxis und Überprüfung und konsolidieren Sie und Sie können die Grundkenntnisse und die erweiterten Funktionen von Python während dieser Zeit nach und nach beherrschen.

Python für die Webentwicklung: SchlüsselanwendungenPython für die Webentwicklung: SchlüsselanwendungenApr 18, 2025 am 12:20 AM

Zu den wichtigsten Anwendungen von Python in der Webentwicklung gehören die Verwendung von Django- und Flask -Frameworks, API -Entwicklung, Datenanalyse und Visualisierung, maschinelles Lernen und KI sowie Leistungsoptimierung. 1. Django und Flask Framework: Django eignet sich für die schnelle Entwicklung komplexer Anwendungen, und Flask eignet sich für kleine oder hochmobile Projekte. 2. API -Entwicklung: Verwenden Sie Flask oder Djangorestframework, um RESTFUFFUPI zu erstellen. 3. Datenanalyse und Visualisierung: Verwenden Sie Python, um Daten zu verarbeiten und über die Webschnittstelle anzuzeigen. 4. Maschinelles Lernen und KI: Python wird verwendet, um intelligente Webanwendungen zu erstellen. 5. Leistungsoptimierung: optimiert durch asynchrones Programmieren, Caching und Code

Python vs. C: Erforschung von Leistung und Effizienz erforschenPython vs. C: Erforschung von Leistung und Effizienz erforschenApr 18, 2025 am 12:20 AM

Python ist in der Entwicklungseffizienz besser als C, aber C ist in der Ausführungsleistung höher. 1. Pythons prägnante Syntax und reiche Bibliotheken verbessern die Entwicklungseffizienz. 2. Die Kompilierungsmerkmale von Compilation und die Hardwarekontrolle verbessern die Ausführungsleistung. Bei einer Auswahl müssen Sie die Entwicklungsgeschwindigkeit und die Ausführungseffizienz basierend auf den Projektanforderungen abwägen.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung