Mit diesem Node.js CLI und API können Sie Inhalte (Blog -Post, Zielseiten, ...) mit einem LLM (OpenAI, ...) generieren. Es kann Text in allen von den verfügbaren LLMs unterstützten Sprachen generieren.
Dieses Projekt verwendet Langchain JS
Verschiedene Modi zum Generieren von Inhalten: automatisch, interaktiv oder mit einer Inhaltsvorlage.
? Unterstützte LLMs: OpenAI (stabil), Mistral (experimentell), Claude (bevorstehende Veröffentlichung), GROQ (bevorstehende Veröffentlichung).
? Alle Sprachen, die von den verfügbaren LLMs unterstützt werden.
SEO freundlich: Post -Titel, Beschreibung & Slug generieren.
✍️ Standard- oder benutzerdefinierte Eingabeaufforderungen.
Feinabstimmung mit Abschlussparametern.
Inhalte auf WordPress veröffentlichen.
API.
Bevorstehende Funktionen: Image Generations, Rag, Publish on NextJS.
Diese Komponente kann in verschiedenen Modi verwendet werden:
Im interaktiven Modus wird die CLI nach einigen Parametern (Thema/Titel, Sprache, Absicht, Publikum usw.) gefragt.
Im automatischen Modus müssen Sie alle erforderlichen Parameter an die Befehlszeile angeben. Mit dieser Betriebsart können Sie eine Vielzahl von Inhalten in Reihe erstellen (z. B. in einem Shell -Skript).
Beide Modi verwenden unterschiedliche vordefinierte Eingabeaufforderungen, um den Inhalt zu generieren:
Das Endergebnis ist Markdown und HTML.
Eine Vorlage enthält eine Dokumentstruktur in einer Reihe von Eingabeaufforderungen. Jede Eingabeaufforderung wird in einer bestimmten Reihenfolge ausgeführt und durch die Antwort der KI ersetzt. Es ist möglich, verschiedene Formate zu verwenden: Markdown, HTML, JSON usw.
Der Hauptvorteil der Vorlagenverwendung ist die Anpassung der Ausgabe. Sie können Ihre eigenen Eingabeaufforderungen verwenden. Vorlagen sind auch interessant, wenn Sie unterschiedliche Inhalte basierend auf derselben Struktur (Produktseiten, Zielseiten usw.) herstellen möchten.
Eines der Probleme der Erzeugung von KI -Inhalten ist die Wiederholung der Hauptschlüsselwörter. Dieses Skript verwendet auch die Parameter von temperature , frequency_penalty und presence_penalty -Parametern, um dies zu minimieren. Weitere Informationen finden Sie in der OpenAI -API -Dokumentation.
Bei der Generierung gibt Ihnen die CLI die Möglichkeit, den Inhalt in Ihrem WordPress -Blog zu veröffentlichen. Andere CMS werden in Zukunft unterstützt. Wir müssen einige kopflose CMS unterstützen.
Dies ist ein experimentelles Projekt. Sie sind herzlich eingeladen, Verbesserungen vorzuschlagen, z. B. andere Eingabeaufforderungen und andere Werte für die Parameter. Die Kosten der API -Anrufe sind nicht im Preis der CLI enthalten. Sie müssen einen OpenAI -API -Schlüssel haben, um diese CLI zu verwenden. In allen Fällen müssen Sie die endgültige Ausgabe überprüfen. KI kann falsche Informationen liefern.
Camping-Cars Écologiques? Utopie OU Réalité en 2024?
julius post -fp 1.5 -g -tp " 5 reasons to use AI for generating content " -f ./reasons-to-use-ai-contentMarkdown -Ergebnis: 5 Gründe für die Verwendung von KI zum Generieren von Inhalten
julius template-post -f ./dobermann -t ./template.md -i breed=dobermann -dVorlage: Vorlage.MD
Markdown -Ergebnis: Dobermann.md
julius template-post -f ./dobermann -t ./template.html -i breed=dobermann -dVorlage: Vorlage.html
HTML -Ergebnis: Dobermann.html
Die CLI und die API sind als NPM -Paket erhältlich.
# for the API
npm install julius-gpt -S
# for the CLI
npm install -g julius-gptDie CLI hat 4 Gruppen von Befehlen:
~ julius -h
Usage: julius [options] [command]
Generate and publish your content from the command line ?
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
prompt Prompt related commands
post [options] Generate a post in interactive or automatic mode
template-post [options] Generate a post based on a content template
wp Wordpress related commands. The
Sie müssen einen OpenAI -API -Schlüssel haben, um diese CLI zu verwenden . Sie können Ihre OpenAI -API -Schlüssel mit der Option -k oder mit der Umgebungsvariablen OPENAI_API_KEY angeben.
Sehen Sie sich die CLI -Hilfe an, um die Liste der verschiedenen Optionen zu erhalten.
~ julius post -h ~ julius post -tp " 5 reasons to use AI for generating content "Verwenden Sie die anderen Parameter, um Inhalte noch weiter zu personalisieren.
Ein fortgeschrittenerer Befehl
~ julius post -fp 1.5 -g -l french -tp " Emprunter avec un revenu de retraite : quelles sont les options ? " -f ./emprunter-argent-revenu-retraite -c Belgique -dDieser Befehl erzeugt einen Beitrag in Französisch mit einer Frequenzstrafe von 1,5 für das Publikum des Landes: Belgien. Das Thema (TP Arg) ist in Französisch geschrieben.
~ julius post -iEs ist nicht erforderlich, die anderen Parameter zu verwenden. Die CLI wird Ihnen einige Fragen zum Thema, zum Thema, zu Sprache, ...
Die Vorlagendatei kann im Markdown- oder HTML -Format enthalten sein. Die Vorlagenerweiterung wird verwendet, um die endgültige Ausgabe zu bestimmen.
~ julius template-post -t < file > .[md | html]Die CLI wird alle in der Vorlagendatei genannten Eingabeaufforderungen ausführen. Jede Eingabeaufforderung wird durch die von der KI bereitgestellte Ausgabe ersetzt.
Vorlagenstruktur
Hier ist ein einfaches Beispiel für die Vorlagendatei:
{{s:Your are an prompt tester. You have to write your answers in a makrdown block code.}}
{{c:your answer has to be "Content of prompt 1."}}
# Heading 1
{{c:your answer has to be "Content of prompt 2."}}
Die Eingabeaufforderung "S" ist die Systemeingabeaufforderung mit "C" ist die Eingabeaufforderung in der Inhalt. Sie werden durch die von der KI bereitgestellte Ausgabe ersetzt.
Wie in Langchain können Sie in der Vorlage einige Eingabevariablen wie diese bereitstellen:
{{s:Your are an prompt tester. You have to write your answers in a makrdown block code in language : {language}.}}
{{c:Quelle est la capitale de la France ?"}}
# Heading 1
{{c: Quelle est la capitale de la Belgique ? "}}
Jetzt können Sie diese Vorlage mit dem folgenden Befehl ausführen:
~ julius template-post -t < template-file > .md -i language=frenchDies ist eine experimentelle Funktion und die Template -Syntax wird in einer bevorstehenden Version geändert.
Standardmäßig verwendet die CLI das neueste Open AI -Modell. Wir arbeiten an der Unterstützung der folgenden:
| Anbieter | Modelle | Status | .EnV Variable API -Schlüssel |
|---|---|---|---|
| Openai | GPT-4, GPT-4-TURBO-Präview | Stabil | Openai_api_key |
| Mistral | Mistral-Small-Latest, Mistral-Medium-Lateest, Mistral-Late-Latest | Experimental | Mistral_api_key |
| Anthropisch | Claude | Nächste Veröffentlichung | N / A |
| Groq | Mistral, Lama | Nächste Veröffentlichung | N / A |
Alle Modelle erfordern einen API -Schlüssel. Sie können es entweder in der .env-Datei oder mit dem CLI-Parameter '-k' angeben.
Sie können Ihr Modell mit dem Parameter -m auswählen:
~ julius post -m mistral-large-latest ....Verwenden Sie die Hilfe, um die Liste der Modelle zu haben
~ julius post -h oder
~ julius template-post -h Warum benutzerdefinierte Eingabeaufforderungen?
Julius verwendet eine Reihe von Eingabeaufforderungen für die Inhaltsgenerierung, die durch das Erstellen einer neuen Version in einem separaten Verzeichnis angepasst werden können. Jede Eingabeaufforderung wird in einer anderen Datei gespeichert.
| Dateiname | Beschreibung | Eingänge |
|---|---|---|
| System.txt | Kann als redaktioneller Brief verwendet werden oder wichtige Informationen wie Personas, redaktionelle Stile, Ziele, ... | Keiner |
| publication-intent.txt | Verwenden Sie, um das Publikum und die Absicht basierend auf dem Thema des Artikels zu generieren. | {Sprache} {Thema} |
| scrine.txt | Verwenden Sie, um eine Artikelstruktur zu generieren. | {Sprache} {Thema} {Country} {Publikum} {Intent} |
| EINLEITUNG.TXT | Verwenden Sie die Einführung des Artikels. | {Sprache} {Thema} |
| Fazit.txt | Verwenden Sie die Schlussfolgerung des Artikels. | {Sprache} {Thema} |
| Heading.txt | Verwenden Sie, um den Inhalt jeder Überschrift zu generieren. | {Sprache} {HeadingTitle} {Schlüsselwörter} |
1. Erstellen Sie eine Kopie der Standardaufforderungen
~ julius prompt create [name] [folder]z.B. :
~ julius prompt create discover ./my-promptsDieser Befehl kopiert die Standardeingabeaufforderungen in den Ordner: ./myprompts/discover
2. Ändern Sie die Eingabeaufforderungen
Jetzt können Sie die Eingabeaufforderungen in diesem Ordner ändern und/oder übersetzen
3. Verwenden Sie Ihre Eingabeaufforderungen in der CLI
Im automatischen Modus werden Sie in der CLI den benutzerdefinierten Eingabeaufforderungpfad gefragt
~ julius -i Sie können auch einen CLI -Parameter "PF" verwenden, um den Ordnerpfad anzugeben
~ julius -pf ./my-prompts/discover ...In diesem Befehl wird die Liste aller registrierten WordPress -Sites in der lokalen Datei ~/.julius/WordPress.json angezeigt.
Der Domänenname oder die ID der Site können für die folgenden Befehle verwendet werden.
~ julius wp lsDieser Befehl fügt der lokalen Datei ~/.julius/WordPress.json eine neue WordPress -Site hinzu.
~ julius wp add www.domain.com:username:passwordIn diesem Befehl wird die Liste aller registrierten WordPress -Sites in der lokalen Datei ~/.julius/WordPress.json angezeigt.
~ julius wp info www.domain.com | idDieser Befehl entfernt eine WordPress -Site aus der lokalen Datei ~/.julius/WordPress.json.
~ julius wp rm www.domain.com | idDieser Befehl exportiert die Liste aller registrierten WordPress -Sites in der lokalen Datei ~/.julius/WordPress.json.
~ julius wp export wordpress_sites.jsonDieser Befehl importiert die Liste aller registrierten WordPress -Sites in der lokalen Datei ~/. Julius/WordPress.json.
~ julius wp import wordpress_sites.jsonIn diesem Befehl wird die Liste aller Kategorien einer WordPress -Site angezeigt.
~ julius wp categories www.domain.com | idDieser Befehl erstellt einen neuen Beitrag auf einer WordPress -Site. Die JSON -Datei muss die folgende Struktur haben:
{
"title" : " The title of the post " ,
"slug" : " the-slug-of-the-post " ,
"content" : " The content of the post " ,
"seoTitle" : " The SEO title of the post " ,
"seoDescription" : " The SEO description of the post " ,
} Diese JSON -Datei kann mit dem Befehl julius post oder mit der API generiert werden.
Standardmäßig erlaubt die WordPress -REST -API Sie nicht, den SEO -Titel und die Beschreibung zu aktualisieren. Diese Informationen werden von verschiedenen Plugins wie Yoast SEO verwaltet. Sie können ein Plugin dafür codieren.
Ein Plugin-Beispiel für Yoast finden Sie in diesem Verzeichnis: Julius-wp-Plugin Sie können einen Reißverschluss erstellen und aus dem WordPress-Dashboard installieren.
Sie können etwas Ähnliches für andere SEO -Plugins codieren.
~ julius wp post www.domain.com | id categoryId post.jsonjulius wp categories www.domain.com|id erhaltenDieser Befehl aktualisiert einen Beitrag auf einer WordPress -Site (Titel, Inhalt, SEO -Titel & SEO -Beschreibung). Die JSON -Datei muss die folgende Struktur haben:
{
"title" : " The title of the post " ,
"slug" : " the-slug-of-the-post " ,
"content" : " The content of the post " ,
"seoTitle" : " The SEO title of the post " ,
"seoDescription" : " The SEO description of the post " ,
} Diese JSON -Datei kann mit dem Befehl julius post oder mit der API generiert werden.
~ julius wp update www.domain.com | id slug post.json [-d, --update-date] Siehe die Unit-Tests: Tests/Test-api.spec.ts