Esta CLI y API node.js le brindan la capacidad de generar contenido (publicación de blog, páginas de destino, ...) con un LLM (OpenAi, ...). Puede generar texto en todos los idiomas compatibles con los LLM disponibles.
Este proyecto está utilizando Langchain JS
Diferentes modos para generar contenido: automático, interactivo o con una plantilla de contenido.
? LLMS compatible: Openai (estable), Mistral (experimental), Claude (próximo lanzamiento), Groq (próximo lanzamiento).
? Todos los idiomas compatibles con los LLM disponibles.
SEO Friendly: Genere el título de la publicación, la descripción y la babosa.
✍️ Instalaciones predeterminadas o personalizadas.
Ajuste fino con parámetros de finalización.
Publicar contenido en WordPress.
API.
Próximas características: Generaciones de imágenes, RAG, publicar en NextJS.
Este componente se puede usar en diferentes modos:
En modo interactivo , la CLI le pedirá algunos parámetros (tema/título, idioma, intención, audiencia, etc.).
En modo automático , debe proporcionar todos los parámetros necesarios a la línea de comando. Este modo de operación le permite crear una multitud de contenidos en serie (por ejemplo, en un script de shell).
Ambos modos utilizarán diferentes indicaciones predefinidas para generar el contenido:
El resultado final está en Markdown y HTML.
Una plantilla contiene una estructura de documentos dentro de una serie de indicaciones. Cada aviso se ejecutará en un orden específico y será reemplazado por la respuesta proporcionada por la IA. Es posible usar diferentes formatos: Markdown, HTML, JSON, etc.
La principal ventaja del uso de la plantilla es la personalización de la salida. Puede usar sus propias indicaciones. Las plantillas también son interesantes si desea producir diferentes contenidos basados en la misma estructura (páginas de productos, páginas de destino, etc.).
Uno de los problemas de la generación de contenido de IA es la repetición de las principales palabras clave. Este script también utiliza los parámetros de temperature , frequency_penalty y presence_penalty para tratar de minimizar esto. Consulte la documentación de la API de OpenAI para obtener más detalles.
Al generar, la CLI le brinda la capacidad de publicar el contenido en su blog de WordPress. Otros CM serán compatibles en el futuro. Necesitamos apoyar algunos CMS sin cabeza.
Este es un proyecto experimental. Puede sugerir mejoras, como otras indicaciones y otros valores para los parámetros. El costo de las llamadas API no está incluido en el precio de la CLI. Debe tener una tecla API OpenAI para usar esta CLI. En todos los casos, debe revisar la salida final. AI puede proporcionar información incorrecta.
¿Camping-cars representólogos? 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-contentResultado de Markdown: 5 razones para usar IA para generar contenido
julius template-post -f ./dobermann -t ./template.md -i breed=dobermann -dPlantilla: plantilla.md
Resultado de Markdown: Dobermann.md
julius template-post -f ./dobermann -t ./template.html -i breed=dobermann -dPlantilla: Template.html
Resultado HTML: Dobermann.html
La CLI y la API están disponibles como un paquete NPM.
# for the API
npm install julius-gpt -S
# for the CLI
npm install -g julius-gptLa CLI tiene 4 grupos de comandos:
~ 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
Debe tener una tecla API OpenAI para usar esta CLI . Puede especificar su tecla API OpenAI con la opción -k o con la variable de entorno OPENAI_API_KEY .
Vea la Ayuda CLI para obtener la lista de las diferentes opciones.
~ julius post -h ~ julius post -tp " 5 reasons to use AI for generating content "Use los otros parámetros para personalizar aún más el contenido.
Un comando más avanzado
~ 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 -dEste comando generará una publicación en francés con una penalización de frecuencia de 1.5 para la audiencia del país: Bélgica. El tema (TP Arg) está escrito en francés.
~ julius post -iNo es necesario usar los otros parámetros. La CLI le hará algunas preguntas sobre el tema, el idioma, ...
El archivo de plantilla puede estar en el formato de Markdown o HTML. La extensión de la plantilla se utilizará para determinar la salida final.
~ julius template-post -t < file > .[md | html]La CLI ejecutará todas las indicaciones mencionadas en el archivo de plantilla. Cada código corto de inmediato será reemplazado por la salida proporcionada por la IA.
Estructura de plantilla
Aquí hay un ejemplo simple para el archivo de plantilla:
{{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."}}
La solicitud "S" es la solicitud de solicitud del sistema con "C" es un mensaje de contenido. Serán reemplazados por la salida proporcionada por la IA.
Como en Langchain, puede proporcionar algunas variables de entrada en la plantilla como esta:
{{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 ? "}}
Ahora, puede ejecutar esta plantilla con el siguiente comando:
~ julius template-post -t < template-file > .md -i language=frenchEsta es una característica experimental y la sintaxis de la plantilla se modificará en un próximo lanzamiento.
Por defecto, la CLI está utilizando el último modelo AI Open. Estamos trabajando en el apoyo de los siguientes:
| Proveedor | Modelos | Estado | .env clave de API variable |
|---|---|---|---|
| Opadai | GPT-4, GPT-4-TURBO-Preview | Estable | OPERAI_API_KEY |
| Mistral | Mistral-Small-Latestest, Midral-Medium-Latest, Mistral-Large-Latest | Experimental | Mistral_api_key |
| Antrópico | Tirar | Siguiente lanzamiento | N / A |
| Hacer surgimiento | Mistral, Llama | Siguiente lanzamiento | N / A |
Todos los modelos requieren una clave API. Puede proporcionarlo en el archivo .env o con el parámetro CLI '-k'
Puede elegir su modelo con el parámetro -m:
~ julius post -m mistral-large-latest ....Use la ayuda para tener la lista de los modelos
~ julius post -h o
~ julius template-post -h ¿Por qué las indicaciones personalizadas?
Julius utiliza un conjunto de indicaciones para la generación de contenido que se puede personalizar creando una nueva versión en un directorio separado. Cada aviso se almacena en un archivo diferente.
| Nombre del archivo | Descripción | Entradas |
|---|---|---|
| system.txt | Se puede utilizar como un resumen editorial o para agregar información importante como personas, estilo editorial, objetivos, ... | Ninguno |
| audiencia-intento.txt | Usar para generar la audiencia y la intención en función del tema del artículo. | {lenguaje} {tema} |
| bosquejo.txt | Uso para generar estructura de artículos. | {lenguaje} {tema} {país} {audiencia} {intent} |
| introducción.txt | Use para generar la introducción del artículo. | {lenguaje} {tema} |
| conclusión.txt | Use para generar la conclusión del artículo. | {lenguaje} {tema} |
| encabezado.txt | Use para generar el contenido de cada encabezado. | {lenguaje} {HeadingTitle} {Palabras clave} |
1. Haga una copia de las indicaciones predeterminadas
~ julius prompt create [name] [folder]p.ej. :
~ julius prompt create discover ./my-promptsEste comando copiará las indicaciones predeterminadas en la carpeta: ./my-prompts/discover
2. Modifique las indicaciones
Ahora, puede modificar y/o traducir las indicaciones en esta carpeta
3. Use sus indicaciones en la CLI
En el modo automático, la CLI le preguntará la ruta de solicitud personalizada
~ julius -i También puede usar un parámetro CLI "PF" para especificar la ruta de la carpeta
~ julius -pf ./my-prompts/discover ...Este comando muestra la lista de todos los sitios de WordPress registrados en el archivo local ~/.julius/wordpress.json.
El nombre de dominio o la ID del Sitio se pueden usar para los siguientes comandos.
~ julius wp lsEste comando agrega un nuevo sitio de WordPress al archivo local ~/.julius/wordpress.json.
~ julius wp add www.domain.com:username:passwordEste comando muestra la lista de todos los sitios de WordPress registrados en el archivo local ~/.julius/wordpress.json.
~ julius wp info www.domain.com | idEste comando elimina un sitio de WordPress del archivo local ~/.julius/wordpress.json.
~ julius wp rm www.domain.com | idEste comando exporta la lista de todos los sitios de WordPress registrados en el archivo local ~/.julius/wordpress.json.
~ julius wp export wordpress_sites.jsonEste comando importa la lista de todos los sitios de WordPress registrados en el archivo local ~/.julius/wordpress.json.
~ julius wp import wordpress_sites.jsonEste comando muestra la lista de todas las categorías de un sitio de WordPress.
~ julius wp categories www.domain.com | idEste comando crea una nueva publicación en un sitio de WordPress. El archivo JSON debe tener la siguiente estructura:
{
"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 " ,
} Este archivo JSON se puede generar con el comando julius post o con la API.
Por defecto, la API REST de WordPress no le permite actualizar el título y la descripción de SEO. Esta información es administrada por diferentes complementos, como Yoast SEO. Puede codificar un complemento para esto.
Se puede encontrar un ejemplo de complemento para Yoast en este directorio: Julius-WP-Plugin puede crear una zip e instalarlo desde el tablero de WordPress.
Puede codificar algo similar para otros complementos de SEO.
~ julius wp post www.domain.com | id categoryId post.jsonjulius wp categories www.domain.com|idEste comando actualiza una publicación en un sitio de WordPress (título, contenido, título de SEO y descripción de SEO). El archivo JSON debe tener la siguiente estructura:
{
"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 " ,
} Este archivo JSON se puede generar con el comando julius post o con la API.
~ julius wp update www.domain.com | id slug post.json [-d, --update-date] Consulte las pruebas unitarias: Tests/test-api.spec.ts