Spaces:
Runtime error
Runtime error
refactor: helicone
Browse files- app.py +2 -2
- cases/content_generation.py +9 -1
- cases/monitoring.py +12 -0
- cases/optimize_content.py +7 -2
app.py
CHANGED
|
@@ -31,7 +31,7 @@ def display_content_optimization():
|
|
| 31 |
optimized_content = handle_seo_action(article_content, optimize_content_with_langchain, 'Optimizando el contenido para SEO')
|
| 32 |
if optimized_content:
|
| 33 |
st.success('Optimización de contenido completada.')
|
| 34 |
-
st.
|
| 35 |
|
| 36 |
def display_content_generation():
|
| 37 |
st.title("Generación de Contenido")
|
|
@@ -41,7 +41,7 @@ def display_content_generation():
|
|
| 41 |
generated_content = handle_seo_action(content_type, content_generation_with_langchain, 'Creando el contenido optimizado para SEO')
|
| 42 |
if generated_content:
|
| 43 |
st.success('Generación de contenido completada.')
|
| 44 |
-
st.
|
| 45 |
|
| 46 |
MENU_FUNCTIONS = {
|
| 47 |
'Home': display_home,
|
|
|
|
| 31 |
optimized_content = handle_seo_action(article_content, optimize_content_with_langchain, 'Optimizando el contenido para SEO')
|
| 32 |
if optimized_content:
|
| 33 |
st.success('Optimización de contenido completada.')
|
| 34 |
+
st.text_area('Contenido Generado', optimized_content)
|
| 35 |
|
| 36 |
def display_content_generation():
|
| 37 |
st.title("Generación de Contenido")
|
|
|
|
| 41 |
generated_content = handle_seo_action(content_type, content_generation_with_langchain, 'Creando el contenido optimizado para SEO')
|
| 42 |
if generated_content:
|
| 43 |
st.success('Generación de contenido completada.')
|
| 44 |
+
st.text_area('Contenido Generado', generated_content)
|
| 45 |
|
| 46 |
MENU_FUNCTIONS = {
|
| 47 |
'Home': display_home,
|
cases/content_generation.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
import streamlit as st
|
| 2 |
from langchain import LLMChain
|
| 3 |
from langchain.chat_models import ChatOpenAI
|
|
@@ -7,8 +8,14 @@ from langchain.prompts.chat import (
|
|
| 7 |
HumanMessagePromptTemplate,
|
| 8 |
)
|
| 9 |
|
|
|
|
| 10 |
def content_generation_with_langchain(content, openai_key):
|
| 11 |
-
chat = ChatOpenAI(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
|
| 13 |
template = """
|
| 14 |
Debes actuar como un agente experto en SEO y Marketing Digital, y utilizando tus habilidades y conocimientos
|
|
@@ -20,6 +27,7 @@ def content_generation_with_langchain(content, openai_key):
|
|
| 20 |
4. Optimización SEO: Asegúrate de que tus palabras clave aparecen en los lugares importantes de tu contenido, como el título, los subtítulos, el primer y último párrafo, y la descripción de la meta.
|
| 21 |
5. Analisis: Debes analizar el contenido generado con el fin de identificar palabras claves que puedan optimizarse para SEO, puntos de mejora en la estructura y detalle del contenido.
|
| 22 |
"""
|
|
|
|
| 23 |
st.text_area(template)
|
| 24 |
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
|
| 25 |
human_template = "{content}"
|
|
|
|
| 1 |
+
from monitoring import HEADERS
|
| 2 |
import streamlit as st
|
| 3 |
from langchain import LLMChain
|
| 4 |
from langchain.chat_models import ChatOpenAI
|
|
|
|
| 8 |
HumanMessagePromptTemplate,
|
| 9 |
)
|
| 10 |
|
| 11 |
+
|
| 12 |
def content_generation_with_langchain(content, openai_key):
|
| 13 |
+
chat = ChatOpenAI(
|
| 14 |
+
model="gpt-3.5-turbo-0613",
|
| 15 |
+
temperature=0,
|
| 16 |
+
openai_api_key=openai_key,
|
| 17 |
+
headers=HEADERS,
|
| 18 |
+
)
|
| 19 |
|
| 20 |
template = """
|
| 21 |
Debes actuar como un agente experto en SEO y Marketing Digital, y utilizando tus habilidades y conocimientos
|
|
|
|
| 27 |
4. Optimización SEO: Asegúrate de que tus palabras clave aparecen en los lugares importantes de tu contenido, como el título, los subtítulos, el primer y último párrafo, y la descripción de la meta.
|
| 28 |
5. Analisis: Debes analizar el contenido generado con el fin de identificar palabras claves que puedan optimizarse para SEO, puntos de mejora en la estructura y detalle del contenido.
|
| 29 |
"""
|
| 30 |
+
st.markdown("**Instrucciones del bot:**")
|
| 31 |
st.text_area(template)
|
| 32 |
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
|
| 33 |
human_template = "{content}"
|
cases/monitoring.py
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import openai
|
| 2 |
+
from os import getenv
|
| 3 |
+
|
| 4 |
+
openai.api_base = "https://oai.hconeai.com/v1"
|
| 5 |
+
HELICONE_API_KEY = getenv("HELICONE_API_KEY")
|
| 6 |
+
|
| 7 |
+
HEADERS = {
|
| 8 |
+
"Helicone-Auth": f"Bearer {HELICONE_API_KEY}",
|
| 9 |
+
"Helicone-Cache-Enabled": "true",
|
| 10 |
+
"Helicone-Property-App": "HuggingFace",
|
| 11 |
+
"Helicone-Property-DataSource": "SEO Powered by AI",
|
| 12 |
+
}
|
cases/optimize_content.py
CHANGED
|
@@ -7,10 +7,14 @@ from langchain.prompts.chat import (
|
|
| 7 |
HumanMessagePromptTemplate,
|
| 8 |
)
|
| 9 |
|
|
|
|
|
|
|
| 10 |
def optimize_content_with_langchain(content, openai_key):
|
| 11 |
chat = ChatOpenAI(
|
|
|
|
| 12 |
temperature=0,
|
| 13 |
-
openai_api_key=openai_key
|
|
|
|
| 14 |
)
|
| 15 |
|
| 16 |
template = """
|
|
@@ -21,7 +25,8 @@ def optimize_content_with_langchain(content, openai_key):
|
|
| 21 |
2. Proporcionar alternativas para titulo con el fin de generar más tracción a que los usuarios realicen click.
|
| 22 |
3. Proporcionar una lista de keywords que puedan incluirse en el contenido del articulo y que NO se encuentren en el contenido proporcionado por el usuario.
|
| 23 |
"""
|
| 24 |
-
st.
|
|
|
|
| 25 |
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
|
| 26 |
human_template = "{content}"
|
| 27 |
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
|
|
|
|
| 7 |
HumanMessagePromptTemplate,
|
| 8 |
)
|
| 9 |
|
| 10 |
+
from monitoring import HEADERS
|
| 11 |
+
|
| 12 |
def optimize_content_with_langchain(content, openai_key):
|
| 13 |
chat = ChatOpenAI(
|
| 14 |
+
model="gpt-3.5-turbo-0613",
|
| 15 |
temperature=0,
|
| 16 |
+
openai_api_key=openai_key,
|
| 17 |
+
headers=HEADERS
|
| 18 |
)
|
| 19 |
|
| 20 |
template = """
|
|
|
|
| 25 |
2. Proporcionar alternativas para titulo con el fin de generar más tracción a que los usuarios realicen click.
|
| 26 |
3. Proporcionar una lista de keywords que puedan incluirse en el contenido del articulo y que NO se encuentren en el contenido proporcionado por el usuario.
|
| 27 |
"""
|
| 28 |
+
st.markdown("**Instrucciones del bot:**")
|
| 29 |
+
st.text_area(template)
|
| 30 |
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
|
| 31 |
human_template = "{content}"
|
| 32 |
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
|