Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from litellm import completion | |
| GROQ_API_KEY = "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" | |
| def summarize_text(text: str) -> str: | |
| """ | |
| Функція робить ОДИН виклик до LLM | |
| і повертає коротке резюме тексту | |
| """ | |
| if not text.strip(): | |
| return "" | |
| response = completion( | |
| model="groq/llama-3.1-8b-instant", | |
| api_key=GROQ_API_KEY, | |
| messages=[ | |
| { | |
| "role": "system", | |
| "content": "Стисло підсумуй текст. Поверни лише резюме без вступних фраз." | |
| }, | |
| { | |
| "role": "user", | |
| "content": text | |
| } | |
| ], | |
| temperature=0.3 | |
| ) | |
| return response["choices"][0]["message"]["content"] | |
| # ---------- UI ---------- | |
| with gr.Blocks() as demo: | |
| gr.Markdown(""" | |
| ## 🧠 Сумаризація тексту за допомогою LLM | |
| Встав текст — отримаєш коротке резюме. | |
| """) | |
| text_input = gr.Textbox( | |
| label="Вхідний текст", | |
| lines=8, | |
| placeholder="Встав текст для сумаризації" | |
| ) | |
| output_text = gr.Textbox( | |
| label="Резюме", | |
| lines=5 | |
| ) | |
| summarize_button = gr.Button("Зробити резюме") | |
| summarize_button.click( | |
| fn=summarize_text, | |
| inputs=text_input, | |
| outputs=output_text | |
| ) | |
| demo.launch() | |