يمنحك Node.js CLI و API القدرة على إنشاء محتوى (منشور المدونة ، صفحات المقصودة ، ...) مع LLM (Openai ، ...). يمكنه إنشاء نص بجميع اللغات التي تدعمها LLMs المتاحة.
يستخدم هذا المشروع Langchain JS
أوضاع مختلفة لتوليد المحتوى: تلقائي أو تفاعلي أو مع قالب محتوى.
؟ LLMs المدعومة: Openai (مستقر) ، Mistral (تجريبي) ، كلود (الإصدار القادم) ، Groq (الإصدار القادم).
؟ جميع اللغات التي تدعمها LLMs المتاحة.
كبار المسئولين الاقتصاديين ودية: إنشاء عنوان المنشور ، الوصف والبخار.
✍ الافتراضي أو المطالبات المخصصة.
صقل مع معلمات الانتهاء.
نشر المحتوى على WordPress.
API.
الميزات القادمة: أجيال الصور ، خرقة ، نشر على NextJs.
يمكن استخدام هذا المكون في أوضاع مختلفة:
في الوضع التفاعلي ، سوف يطلب منك CLI بعض المعلمات (الموضوع/العنوان ، اللغة ، النية ، الجمهور ، إلخ).
في الوضع التلقائي ، تحتاج إلى توفير جميع المعلمات اللازمة إلى سطر الأوامر. يتيح لك طريقة التشغيل هذا إنشاء العديد من المحتويات في السلسلة (على سبيل المثال ، في برنامج نصي shell).
سيستخدم كلا الوضعين مطالبات مختلفة محددة مسبقًا لإنشاء المحتوى:
النتيجة النهائية هي في Marmdown و HTML.
يحتوي القالب على بنية مستند داخل سلسلة من المطالبات. سيتم تنفيذ كل موجه بطلب محدد وسيتم استبداله بالإجابة التي يوفرها الذكاء الاصطناعي. من الممكن استخدام تنسيقات مختلفة: Markdown ، HTML ، JSON ، إلخ.
الميزة الرئيسية لاستخدام القالب هي تخصيص الإخراج. يمكنك استخدام المطالبات الخاصة بك. تعد القوالب مثيرة للاهتمام أيضًا إذا كنت ترغب في إنتاج محتويات مختلفة بناءً على نفس الهيكل (صفحات المنتج ، صفحات المقصودة ، إلخ).
واحدة من مشاكل توليد محتوى الذكاء الاصطناعي هو تكرار الكلمات الرئيسية الرئيسية. يستخدم هذا البرنامج النصي أيضًا معلمات temperature ، frequency_penalty ، و presence_penalty لمحاولة تقليل ذلك. راجع وثائق Openai API لمزيد من التفاصيل.
عند التوليد ، يمنحك CLI القدرة على نشر المحتوى إلى مدونة WordPress الخاصة بك. سيتم دعم CMS الأخرى في المستقبل. نحن بحاجة إلى دعم بعض CMS مقطوعة الرأس.
هذا مشروع تجريبي. اهلا وسهلا بكم لاقتراح تحسينات ، مثل المطالبات الأخرى والقيم الأخرى للمعلمات. لا يتم تضمين تكلفة مكالمات API في سعر CLI. تحتاج إلى الحصول على مفتاح Openai API لاستخدام هذا CLI. في جميع الحالات ، يجب عليك مراجعة الإخراج النهائي. يمكن لمنظمة العفو الدولية تقديم معلومات غير صحيحة.
سيارات التخييم؟ 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-contentالنتيجة المتولد: 5 أسباب لاستخدام الذكاء الاصطناعي لإنشاء المحتوى
julius template-post -f ./dobermann -t ./template.md -i breed=dobermann -dقالب: قالب
نتيجة تخفيض: Debermann.MD
julius template-post -f ./dobermann -t ./template.html -i breed=dobermann -dقالب: template.html
HTML النتيجة: Debermann.html
تتوفر CLI و API كحزمة NPM.
# for the API
npm install julius-gpt -S
# for the CLI
npm install -g julius-gptيحتوي CLI على 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
تحتاج إلى الحصول على مفتاح Openai API لاستخدام هذا CLI . يمكنك تحديد مفتاح Openai API الخاص بك مع خيار -k أو مع متغير البيئة OPENAI_API_KEY .
راجع مساعدة 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 بعض الأسئلة حول الموضوع ، اللغة ، ...
يمكن أن يكون ملف القالب في تنسيق Markdown أو HTML. سيتم استخدام امتداد القالب لتحديد الإخراج النهائي.
~ julius template-post -t < file > .[md | html]سيقوم CLI بتنفيذ جميع المطالبات المذكورة في ملف القالب. سيتم استبدال كل رمز قصير المطالبة بالإخراج الذي يوفره الذكاء الاصطناعي.
هيكل القالب
فيما يلي مثال بسيط لملف القالب:
{{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" هي موجه المحتوى. سيتم استبدالها بالإخراج الذي يوفره الذكاء الاصطناعي.
كما هو الحال في 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 أحدث طراز Open AI. نحن نعمل على دعم ما يلي:
| مزود | النماذج | حالة | . مفتاح API المتغير |
|---|---|---|---|
| Openai | GPT-4 ، GPT-4-TURBO-PREVIEW | مستقر | openai_api_key |
| خطأ | Mistral-Small-Latest ، Mistral-Medium-Latest ، Mistral-Large-Latest | تجريبي | MISTRAL_API_KEY |
| الإنسان | كلود | الإصدار التالي | نا |
| جروك | ميسترال ، لاما | الإصدار التالي | نا |
جميع النماذج تتطلب مفتاح API. يمكنك توفيره إما في ملف .env أو مع معلمة CLI "-K"
يمكنك اختيار النموذج الخاص بك مع المعلمة -M:
~ julius post -m mistral-large-latest ....استخدم المساعدة للحصول على قائمة النماذج
~ julius post -h أو
~ julius template-post -h لماذا مطالبات مخصصة؟
يستخدم Julius مجموعة من المطالبات لتوليد المحتوى التي يمكن تخصيصها عن طريق إنشاء إصدار جديد في دليل منفصل. يتم تخزين كل موجه في ملف مختلف.
| اسم الملف | وصف | المدخلات |
|---|---|---|
| System.txt | يمكن استخدامها كخصي تحرير أو لإضافة معلومات مهمة مثل الشخصيات ، والأسلوب التحريري ، والأهداف ، ... | لا أحد |
| الجمهور-intent.txt | استخدم لتوليد الجمهور والنية بناءً على موضوع المقالة. | {language} {topic} |
| Outline.txt | استخدام لإنشاء بنية المقالة. | {language} {topic} {country} {expense} {intent} |
| مقدمة | استخدم لإنشاء مقدمة المقالة. | {language} {topic} |
| الاستنتاج | استخدم لإنشاء استنتاج المقالة. | {language} {topic} |
| العنوان | استخدم لإنشاء محتوى كل عنوان. | {language} {headingTitle} {keywords} |
1. قم بعمل نسخة من المطالبات الافتراضية
~ julius prompt create [name] [folder]على سبيل المثال. :
~ julius prompt create discover ./my-promptsسيقوم هذا الأمر بنسخ المطالبات الافتراضية إلى المجلد:.
2. تعديل المطالبات
الآن ، يمكنك تعديل و/أو ترجمة المطالبات في هذا المجلد
3. استخدم مطالبك في CLI
في الوضع التلقائي ، سيطلب منك CLI مسار المطالبة المخصصة
~ julius -i يمكنك أيضًا استخدام معلمة CLI "PF" لتحديد مسار المجلد
~ julius -pf ./my-prompts/discover ...يعرض هذا الأمر قائمة جميع مواقع WordPress المسجلة في الملف المحلي ~/.julius/WordPress.json.
يمكن استخدام اسم المجال أو معرف الموقع للأوامر التالية.
~ 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 هذا باستخدام الأمر julius post أو مع API.
بشكل افتراضي ، لا تسمح لك واجهة برمجة تطبيقات WordPress Rest بتحديث عنوان 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 هذا باستخدام الأمر julius post أو مع API.
~ julius wp update www.domain.com | id slug post.json [-d, --update-date] انظر اختبارات الوحدة: الاختبارات/الاختبار-api.spec.ts