|
|
|
|
|
import gradio as gr |
|
from langchain.document_loaders import NewsURLLoader |
|
import google.generativeai as genai |
|
|
|
|
|
def generate_post(article_link): |
|
|
|
loader = NewsURLLoader(urls=[article_link]) |
|
data = loader.load() |
|
|
|
|
|
post_content = f'''generate short post based on this article(Link - {article_link}) in ukrainian - {data[0].page_content} |
|
Use this rules - Шаблон для статті місцевої новини |
|
|
|
Заголовок: |
|
Заголовок має передавати основну ідею посту. |
|
Він завжди написаний жирним шрифтом. |
|
Це 5-10 слів максимум. |
|
На початку заголовку завжди використовується 1-2 тематичних емодзі. |
|
Вкінці заголовка завжди стоїть крапка. |
|
|
|
Вступ: |
|
Після заголовку завжди є пуста строка. |
|
Потім може бути 1-2 речення, які кажуть про цікавий факт з матеріалу. |
|
Цей текст написаний курсивом, і емодзі не використовуються. |
|
|
|
Основний текст: |
|
Це максимум до 300-500 символів. |
|
Текст може бути поділений на 2-3 абзаци. |
|
Важливі частини тексту і слова виділені жирним. |
|
В тексті обов'язково використовуються тематичні емодзі.🔥 🚒 🧯 🚑 🚓 🚨 🎆 🎇 🌟 ✨ 🎄 🎁 🎅 🤶 ☃️ ❄️ 🌨️ ⛸️ ⛷️ 🏂 🍔 🍟 🍕 🌭 🍿 🥤 🍺 🍷 🥂 🍾 🎊 🎉 🎈 🎁 🎀 🎶 🎵 🎤 🎸 🥁 🎹 🎮 🎲 🧩 📚 💻 📱 📺 📻 📸 📹 🎥 🍿 🥤 🔥 🚒 🧯 🚑 🚓 🚨 🎆 🎇 🌟 ✨ 🎄 🎁 🎅 🤶 ☃️ ❄️ 🌨️ ⛸️ ⛷️ 🏂 🍔 🍟 🍕 🌭 🍿 🥤 🍺 🍷 🥂 🍾 🎊 🎉 🎈 🎁 🎀 🎶 🎵 🎤 🎸 🥁 🎹 🎮 🎲 🧩 📚 💻 📱 📺 📻 📸 📹 🎥 🍿 🥤 🔥 🚒 🧯 🚑 🚓 🚨 🎆 🎇 🌟 ✨ 🎄 🎁 🎅 🤶 ☃️ ❄️ 🌨️ ⛸️ ⛷️ 🏂 🍔 🍟 🍕 🌭 🍿 🥤 🍺 🍷 🥂 🍾 🎊 🎉 🎈 🎁 🎀 🎶 🎵 🎤 🎸 🥁 🎹 🎮 🎲 🧩 📚 💻 📱 📺 📻 📸 📹 🎥 🍿 🥤 |
|
Наприкінці речення, якщо там стоїть емодзі, крапка не ставиться. Правильно «…настав кінець✊». Не правильно «…настав кінець.✊». |
|
Якщо перераховується список чогось, то використовуються емодзі квадрата ▪️. |
|
В тексті ніколи не використовуються такі лапки “”, а використовуються такі «». |
|
|
|
Посилання на джерело: |
|
▪️джерело + link''' |
|
genai.configure(api_key='AIzaSyD7nUVhQh0yb1dNtQX72DAK3_pMtTKhFwk') |
|
|
|
model = genai.GenerativeModel('gemini-pro') |
|
response = model.generate_content(post_content) |
|
|
|
|
|
return response.text |
|
|
|
|
|
iface = gr.Interface( |
|
fn=generate_post, |
|
inputs="text", |
|
outputs="text", |
|
live=True, |
|
capture_session=True |
|
) |
|
|
|
|
|
iface.launch() |
|
|