NLPOST / app.py
Illia56's picture
Update app.py
3a67538
raw
history blame contribute delete
No virus
5.2 kB
# Import required libraries
import gradio as gr
from langchain.document_loaders import NewsURLLoader
import google.generativeai as genai
# Function to generate post based on the article link
def generate_post(article_link):
# Load article content
loader = NewsURLLoader(urls=[article_link])
data = loader.load()
# Use the page content for generating the post
post_content = f'''generate short post based on this article(Link - {article_link}) in ukrainian - {data[0].page_content}
Use this rules - Шаблон для статті місцевої новини
Заголовок:
1. Заголовок має передавати основну ідею посту.(Це 5-10 слів максимум.)
2. Він завжди написаний жирним шрифтом.
3. На початку заголовку завжди використовується 1-2 тематичних емодзі.
4. Вкінці заголовка завжди стоїть крапка.
Вступ:
1. Після заголовку завжди є пуста строка.
2. Потім може бути 1-2 речення, які кажуть про цікавий факт з матеріалу.
3. Цей текст написаний курсивом, і емодзі не використовуються.
Основний текст:
1. Це максимум до 300-500 символів.
2. Текст може бути поділений на 2-3 абзаци.
3. Важливі частини тексту і слова виділені жирним.
4. В тексті обов'язково використовуються тематичні емодзі. (2-3 емодзі на абзац)
5. Наприкінці речення, якщо там стоїть емодзі, крапка не ставиться. Правильно «…настав кінець✊». Не правильно «…настав кінець.✊».
6. Якщо перераховується список чогось, то використовуються емодзі квадрата ▪️.
7. В тексті ніколи не використовуються такі лапки “”, а використовуються такі «».
Посилання на джерело:
▪️джерело + link
Idealy it should look like this:
**😿Рівень народжуваності в Нідерландах впав до рекордно низького рівня.**
🙅‍♀️Рівень народжуваності в Нідерландах впав, оскільки **все менше жінок вирішують мати дітей**.
📊Згідно з новими даними Статистичного управління Нідерландів (CBS), **рівень народжуваності в країні впав до 1,49 дитини на жінк**у – найнижчого рівня, який коли-небудь реєструвався в Нідерландах.
Дані показують, що кількість дітей на одну матір у Нідерландах залишається такою ж, як і в попередні роки, але в**се більше жінок вирішують залишатися бездітними.**
🔹**Кількість дітей на одну жінку в Нідерландах зараз становить 1,49, тоді як у 1981 році цей показник був вищим і становив 1,73.**
✅Щоб підтримувати стабільну чисельність населення, ОЕСР стверджує, що **коефіцієнт народжуваності 2,1 дитини на жінку дозволяє підтримувати баланс** між молодшими, працюючими людьми та старшими, непрацюючими людьми.
⚠️**CBS каже, що серед жінок з нижчим рівнем освіти спостерігається різке зниження народжуваності,** ймовірно, через те, що вони мають гірший соціально-економічний статус, ніж високоосвічені жінки. Це означає, що вони з меншою ймовірністю зможуть дозволити собі мати дітей і тому вирішують не народжувати .'''
genai.configure(api_key='AIzaSyAXQgvv-8j0kWn31WKRZBrTWairXgUoplQ')
# Generate content using the Gemini Pro model
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content(post_content)
# Return the generated post
return response.text
# Create Gradio interface
iface = gr.Interface(
fn=generate_post,
inputs="text", # Input is a text box for the article link
outputs="markdown", # Output is a text box for the generated post
)
# Launch the Gradio interface
iface.launch()