このnode.js CLIとAPIは、LLM(Openai、...)でコンテンツ(ブログ投稿、ランディングページなど)を生成する機能を提供します。利用可能なLLMでサポートされているすべての言語でテキストを生成できます。
このプロジェクトでは、Langchain JSを使用しています
コンテンツを生成するためのさまざまなモード:自動、インタラクティブ、またはコンテンツテンプレートを使用。
?サポートされているLLMS:Openai(Stable)、Mistral(Experimental)、Claude(今後のリリース)、GROQ(今後のリリース)。
?利用可能なLLMでサポートされているすべての言語。
SEOフレンドリー:投稿タイトル、説明、スラッグを生成します。
defayty defaultデフォルトまたはカスタムプロンプト。
完了パラメーターを使用した微調整。
WordPressでコンテンツを公開します。
API。
今後の機能:Image Generations、Rag、nextjsで公開。
このコンポーネントは、さまざまなモードで使用できます。
インタラクティブモードでは、CLIはいくつかのパラメーター(トピック/タイトル、言語、意図、聴衆など)を求めます。
自動モードでは、必要なすべてのパラメーターをコマンドラインに提供する必要があります。この操作モードでは、シリーズ(たとえば、シェルスクリプト)で多数のコンテンツを作成できます。
両方のモードは、異なる事前定義されたプロンプトを使用してコンテンツを生成します。
最終結果は、マークダウンとHTMLです。
テンプレートには、一連のプロンプト内のドキュメント構造が含まれています。各プロンプトは特定の順序で実行され、AIが提供する回答に置き換えられます。 Markdown、HTML、JSONなどのさまざまな形式を使用することができます。
テンプレートの使用の主な利点は、出力のカスタマイズです。独自のプロンプトを使用できます。同じ構造(製品ページ、ランディングページなど)に基づいて異なるコンテンツを作成する場合は、テンプレートも興味深いものです。
AIコンテンツ生成の問題の1つは、メインキーワードの繰り返しです。このスクリプトでは、 temperature 、 frequency_penalty 、およびpresence_penaltyパラメーターを使用して、これを最小限に抑えます。詳細については、Openai APIドキュメントを参照してください。
生成するとき、CLIはWordPressブログにコンテンツを公開する機能を提供します。他のCMSは将来サポートされます。ヘッドレスCMSをサポートする必要があります。
これは実験プロジェクトです。パラメーターの他のプロンプトやその他の値と同様に、改善を提案できます。 API呼び出しのコストは、CLIの価格に含まれていません。このCLIを使用するには、OpenAI APIキーが必要です。すべての場合において、最終出力を確認する必要があります。 AIは誤った情報を提供できます。
キャンプカーécologiques? UtopieOuRéalitéN2024?
julius post -fp 1.5 -g -tp " 5 reasons to use AI for generating content " -f ./reasons-to-use-ai-contentマークダウンの結果:コンテンツを生成するためにAIを使用する5つの理由
julius template-post -f ./dobermann -t ./template.md -i breed=dobermann -dテンプレート:template.md
マークダウンの結果:Dobermann.md
julius template-post -f ./dobermann -t ./template.html -i breed=dobermann -dテンプレート:template.html
HTML結果:Dobermann.html
CLIとAPIは、NPMパッケージとして利用できます。
# for the API
npm install julius-gpt -S
# for the CLI
npm install -g julius-gptCLIには4つのグループのコマンドがあります。
~ 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
このCLIを使用するには、OpenAI APIキーが必要です。 -kオプションまたは環境変数OPENAI_API_KEYでOpenAI APIキーを指定できます。
CLIヘルプを参照して、さまざまなオプションのリストを取得してください。
~ julius post -h ~ julius post -tp " 5 reasons to use AI for generating content "他のパラメーターを使用して、コンテンツをさらにパーソナライズします。
より高度なコマンド
~ 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 -dこのコマンドは、国の聴衆であるベルギーの頻度ペナルティ1.5でフランス語で投稿を生成します。トピック(TP arg)はフランス語で書かれています。
~ julius post -i他のパラメーターを使用する必要はありません。 CLIは、トピック、言語についていくつかの質問をします...
テンプレートファイルは、マークダウンまたはHTML形式にすることができます。テンプレート拡張機能は、最終出力を決定するために使用されます。
~ julius template-post -t < file > .[md | html]CLIは、テンプレートファイルに記載されているすべてのプロンプトを実行します。各プロンプトショートコードは、AIが提供する出力に置き換えられます。
テンプレート構造
テンプレートファイルの簡単な例を次に示します。
{{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."}}
プロンプト「S」は、「C」がコンテンツプロンプトを使用したシステムプロンプトプロンプトです。それらは、AIによって提供される出力に置き換えられます。
Langchainのように、このようなテンプレートにいくつかの入力変数を提供できます。
{{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 ? "}}
これで、次のコマンドでこのテンプレートを実行できます。
~ julius template-post -t < template-file > .md -i language=frenchこれは実験機能であり、テンプレートの構文は今後のリリースで変更されます。
デフォルトでは、CLIは最新のオープンAIモデルを使用しています。次のもののサポートに取り組んでいます。
| プロバイダー | モデル | 状態 | .ENV変数APIキー |
|---|---|---|---|
| Openai | GPT-4、GPT-4-TURBO-PREVIEW | 安定した | openai_api_key |
| ミストラル | ミストラルスマルレート、ミストラルメディアムレート、ミストラル - レイテスト | 実験的 | mistral_api_key |
| 人類 | クロード | 次のリリース | Na |
| groq | ミストラル、ラマ | 次のリリース | Na |
すべてのモデルにはAPIキーが必要です。 .ENVファイルまたはCLIパラメーター '-K'でそれを提供できます
-mパラメーターを使用してモデルを選択できます。
~ julius post -m mistral-large-latest ....ヘルプを使用してモデルのリストを作成します
~ julius post -h または
~ julius template-post -h なぜカスタムプロンプト?
Juliusは、コンテンツ生成のプロンプトのセットを使用して、別のディレクトリに新しいバージョンを作成することでカスタマイズできます。各プロンプトは別のファイルに保存されます。
| ファイル名 | 説明 | 入力 |
|---|---|---|
| System.txt | 編集ブリーフとして使用したり、ペルソナ、編集スタイル、目的などの重要な情報を追加することもできます。 | なし |
| Audies-Intent.txt | 記事の主題に基づいて、聴衆と意図を生成するために使用します。 | {言語} {トピック} |
| outline.txt | 物品構造を生成するために使用します。 | {言語} {トピック} {国} {聴衆} {Intent} |
| はじめに.txt | 記事の紹介を生成するために使用します。 | {言語} {トピック} |
| 結論。txt | 記事の結論を生成するために使用します。 | {言語} {トピック} |
| Heading.txt | 各見出しのコンテンツを生成するために使用します。 | {Language} {HeadingTitle} {キーワード} |
1.デフォルトのプロンプトのコピーを作成します
~ julius prompt create [name] [folder]例えば。 :
~ julius prompt create discover ./my-promptsこのコマンドは、デフォルトのプロンプトをフォルダーにコピーします:./my-prompts/discover
2。プロンプトを変更します
これで、このフォルダーのプロンプトを変更および/または翻訳できます
3. CLIでプロンプトを使用します
自動モードでは、CLIがカスタムプロンプトパスを尋ねます
~ julius -i CLIパラメーター「PF」を使用して、フォルダパスを指定することもできます
~ julius -pf ./my-prompts/discover ...このコマンドには、ローカルファイルに登録されているすべてのWordPressサイトのリストが表示されます〜/.julius/wordpress.json。
サイトのドメイン名またはIDは、次のコマンドに使用できます。
~ julius wp lsこのコマンドは、新しいWordPressサイトをローカルファイルに追加します〜/.julius/wordpress.json。
~ julius wp add www.domain.com:username:passwordこのコマンドには、ローカルファイルに登録されているすべてのWordPressサイトのリストが表示されます〜/.julius/wordpress.json。
~ julius wp info www.domain.com | idこのコマンドは、ローカルファイルからWordPressサイトを削除します〜/.Julius/WordPress.json。
~ julius wp rm www.domain.com | idこのコマンドは、ローカルファイルに登録されているすべてのWordPressサイトのリストをエクスポートします〜/.Julius/WordPress.json。
~ julius wp export wordpress_sites.jsonこのコマンドは、ローカルファイルに登録されているすべてのWordPressサイトのリストをインポートします〜/.Julius/WordPress.json。
~ julius wp import wordpress_sites.jsonこのコマンドには、WordPressサイトのすべてのカテゴリのリストが表示されます。
~ julius wp categories www.domain.com | idこのコマンドは、WordPressサイトに新しい投稿を作成します。 JSONファイルには次の構造が必要です。
{
"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 " ,
}このJSONファイルは、Command julius postまたはAPIで生成できます。
デフォルトでは、WordPress REST APIでは、SEOのタイトルと説明を更新することはできません。この情報は、Yoast SEOなどのさまざまなプラグインによって管理されています。これのプラグインをコーディングできます。
Yoastのプラグインの例は、このディレクトリにあります:Julius-WP-Plugin ZIPを作成してWordPressダッシュボードからインストールできます。
他のSEOプラグインについても同様のものをコーディングできます。
~ julius wp post www.domain.com | id categoryId post.jsonjulius wp categories www.domain.com|idこのコマンドは、WordPressサイト(タイトル、コンテンツ、SEOタイトル、SEOの説明)の投稿を更新します。 JSONファイルには次の構造が必要です。
{
"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 " ,
}このJSONファイルは、Command julius postまたはAPIで生成できます。
~ julius wp update www.domain.com | id slug post.json [-d, --update-date] ユニットテスト:tests/test-api.spec.tsを参照してください