|
|
import gradio as gr |
|
|
import numpy as np |
|
|
import pandas as pd |
|
|
from datetime import datetime, timedelta |
|
|
import json |
|
|
import random |
|
|
|
|
|
class DeepSelfDiscovery: |
|
|
def __init__(self): |
|
|
self.user_data = {} |
|
|
|
|
|
def values_clarification(self, user_id="default"): |
|
|
"""Метод 1: Кларификация ценностей (Стивен Хейс)""" |
|
|
core_values = [ |
|
|
"Свобода", "Любовь", "Честность", "Развитие", "Служение", |
|
|
"Семья", "Творчество", "Стабильность", "Приключения", "Духовность", |
|
|
"Здоровье", "Дружба", "Обучение", "Успех", "Гармония", |
|
|
"Смелость", "Справедливость", "Благодарность", "Простота", "Наследие" |
|
|
] |
|
|
|
|
|
prompt = """ |
|
|
## 🎯 Кларификация жизненных ценностей |
|
|
|
|
|
**Инструкция:** Выберите 5-7 ценностей, которые наиболее важны для вас в жизни. |
|
|
Затем ранжируйте их по степени важности. |
|
|
|
|
|
**Вопросы для размышления:** |
|
|
- Какие ценности направляют ваши решения? |
|
|
- Что придает смысл вашей жизни? |
|
|
- Ради чего вы готовы преодолевать трудности? |
|
|
|
|
|
**Ваши основные ценности:** |
|
|
""" |
|
|
|
|
|
return prompt + "\n".join([f"- {value}" for value in random.sample(core_values, 10)]) |
|
|
|
|
|
def shadow_work(self, user_id="default"): |
|
|
"""Метод 2: Работа с тенью (Карл Юнг)""" |
|
|
shadow_aspects = [ |
|
|
"Непринятые эмоции", "Скрытые таланты", "Подавленные желания", |
|
|
"Детские травмы", "Внутренний критик", "Неосознанные страхи", |
|
|
"Запрещенные чувства", "Скрытая агрессия", "Невыраженная сексуальность" |
|
|
] |
|
|
|
|
|
journal_prompts = [ |
|
|
"Какие качества в других людях вызывают у вас сильное раздражение?", |
|
|
"О чем вы чаще всего сожалеете?", |
|
|
"Какие мысли вы никогда никому не расскажете?", |
|
|
"В каких ситуациях вы чувствуете себя неадекватно?", |
|
|
"Что вы скрываете даже от самых близких людей?" |
|
|
] |
|
|
|
|
|
prompt = f""" |
|
|
## 🌑 Работа с Тенью |
|
|
|
|
|
**Выявленный аспект тени:** {random.choice(shadow_aspects)} |
|
|
|
|
|
**Упражнение для осознания:** |
|
|
{random.choice(journal_prompts)} |
|
|
|
|
|
**Техника интеграции:** |
|
|
1. Признайте существование этой части себя без осуждения |
|
|
2. Исследуйте ее происхождение и защитную функцию |
|
|
3. Найдите здоровые способы выражения этой энергии |
|
|
4. Интегрируйте ее как источник силы и мудрости |
|
|
""" |
|
|
return prompt |
|
|
|
|
|
def life_purpose(self, user_id="default"): |
|
|
"""Метод 3: Исследование жизненного предназначения""" |
|
|
ikigai_questions = [ |
|
|
"Что вы любите делать больше всего?", |
|
|
"В чем вы действительно хороши?", |
|
|
"За что люди готовы вам платить?", |
|
|
"Что нужно миру от вас?", |
|
|
"Что заставляет вас забыть о времени?" |
|
|
] |
|
|
|
|
|
prompt = f""" |
|
|
## 🌟 Поиск предназначения (Икигай) |
|
|
|
|
|
**Ключевой вопрос:** {random.choice(ikigai_questions)} |
|
|
|
|
|
**Упражнение 'Мое идеальное будущее':** |
|
|
Представьте себя через 5 лет, живущим наиболее осмысленную и наполненную жизнь: |
|
|
|
|
|
1. **Чем вы занимаетесь ежедневно?** |
|
|
2. **Какие люди вас окружают?** |
|
|
3. **Какой вклад вы вносите в мир?** |
|
|
4. **Что чувствуете, просыпаясь утром?** |
|
|
|
|
|
**Признаки вашего предназначения:** |
|
|
- Деятельность, которая приносит радость и ощущение потока |
|
|
- То, что естественно получается и приносит пользу другим |
|
|
- Сфера, где ваши таланты встречаются с потребностями мира |
|
|
""" |
|
|
return prompt |
|
|
|
|
|
def inner_child_healing(self, user_id="default"): |
|
|
"""Метод 4: Исцеление внутреннего ребенка""" |
|
|
healing_questions = [ |
|
|
"Что нужно было услышать маленькому вам?", |
|
|
"В каких ситуациях вы чувствуете себя уязвимым как ребенок?", |
|
|
"Какие детские мечты вы не реализовали?", |
|
|
"Что бы вы хотели сказать своим родителям?", |
|
|
"Какой поддержки вам не хватало в детстве?" |
|
|
] |
|
|
|
|
|
prompt = f""" |
|
|
## 👶 Диалог с Внутренним Ребенком |
|
|
|
|
|
**Вопрос для исцеления:** {random.choice(healing_questions)} |
|
|
|
|
|
**Техника работы:** |
|
|
1. **Визуализация:** Представьте себя в детском возраста |
|
|
2. **Диалог:** Спросите, что ему/ей нужно |
|
|
3. **Поддержка:** Дайте то, чего не хватало |
|
|
4. **Интеграция:** Обнимите и примите эту часть себя |
|
|
|
|
|
**Аффирмации для внутреннего ребенка:** |
|
|
- "Я вижу тебя и принимаю таким, какой ты есть" |
|
|
- "Ты в безопасности, я всегда буду о тебе заботиться" |
|
|
- "Твои чувства важны и имеют значение" |
|
|
- "Ты достоин любви просто по праву своего существования" |
|
|
""" |
|
|
return prompt |
|
|
|
|
|
def mindfulness_practice(self, user_id="default"): |
|
|
"""Метод 5: Практики осознанности""" |
|
|
practices = [ |
|
|
"Телесное сканирование", |
|
|
"Дыхательная медитация", |
|
|
"Осознанная ходьба", |
|
|
"Практика благодарности", |
|
|
"Наблюдение мыслей" |
|
|
] |
|
|
|
|
|
prompt = f""" |
|
|
## 🧘 Практика Осознанности |
|
|
|
|
|
**Техника:** {random.choice(practices)} |
|
|
|
|
|
**Инструкция к практике:** |
|
|
1. Примите удобное положение и закройте глаза |
|
|
2. Направьте внимание на настоящее мгновение |
|
|
3. Наблюдайте свои ощущения без оценки |
|
|
4. Когда ум отвлекается, мягко возвращайте внимание |
|
|
5. Практикуйте 5-10 минут |
|
|
|
|
|
**Вопросы для рефлексии:** |
|
|
- Что я сейчас действительно чувствую? |
|
|
- О чем мне говорят мои телесные ощущения? |
|
|
- Какие мысли проходят через мой ум? |
|
|
- Чего я действительно хочу в этот момент? |
|
|
""" |
|
|
return prompt |
|
|
|
|
|
def strengths_identification(self, user_id="default"): |
|
|
"""Метод 6: Идентификация сильных сторон""" |
|
|
strength_categories = { |
|
|
"Мудрость": ["Любознательность", "Любовь к обучению", "Критическое мышление"], |
|
|
"Мужество": ["Храбрость", "Настойчивость", "Честность"], |
|
|
"Человечность": ["Любовь", "Доброта", "Социальный интеллект"], |
|
|
"Справедливость": ["Работа в команде", "Справедливость", "Лидерство"], |
|
|
"Умеренность": ["Прощение", "Скромность", "Благоразумие"], |
|
|
"Трансцендентность": ["Ценность прекрасного", "Благодарность", "Надежда"] |
|
|
} |
|
|
|
|
|
category = random.choice(list(strength_categories.keys())) |
|
|
strengths = strength_categories[category] |
|
|
|
|
|
prompt = f""" |
|
|
## 💪 Идентификация сильных сторон |
|
|
|
|
|
**Категория:** {category} |
|
|
**Потенциальные сильные стороны:** {', '.join(strengths)} |
|
|
|
|
|
**Упражнение 'Мои суперсилы':** |
|
|
1. Вспомните 3 ситуации, когда вы чувствовали себя наиболее живым и эффективным |
|
|
2. Какие качества проявлялись в этих ситуациях? |
|
|
3. Что люди часто просят у вас помощи? |
|
|
4. Какая деятельность дается вам легко и приносит радость? |
|
|
|
|
|
**Признаки вашей суперсилы:** |
|
|
- Деятельность, которая заряжает энергией |
|
|
- То, что получается естественно, без усилий |
|
|
- Сфера, где вы приносите уникальную ценность |
|
|
""" |
|
|
return prompt |
|
|
|
|
|
def daily_practice(self, user_id="default"): |
|
|
"""Ежедневная практика самопознания""" |
|
|
practices = [ |
|
|
"Утренние страницы (3 страницы рукописного текста)", |
|
|
"Вечерний обзор дня", |
|
|
"Медитация на дыхание 10 минут", |
|
|
"Практика благодарности (3 вещи)", |
|
|
"Телесное сканирование перед сном", |
|
|
"Осознанная прогулка на природе", |
|
|
"Диалог с внутренним советником" |
|
|
] |
|
|
|
|
|
today_practice = random.choice(practices) |
|
|
|
|
|
prompt = f""" |
|
|
## 📅 Сегодняшняя практика |
|
|
|
|
|
**Рекомендуемая практика:** {today_practice} |
|
|
|
|
|
**Вопросы для ежедневной рефлексии:** |
|
|
1. Что я чувствую прямо сейчас? |
|
|
2. За что я благодарен сегодня? |
|
|
3. Что я узнал о себе сегодня? |
|
|
4. Как я могу позаботиться о себе завтра? |
|
|
|
|
|
**Аффирмация дня:** |
|
|
"Я открываюсь познанию себя с любовью и принятием" |
|
|
""" |
|
|
return prompt |
|
|
|
|
|
def integration_exercise(self, user_id="default"): |
|
|
"""Интеграционное упражнение""" |
|
|
prompt = """ |
|
|
## 🔄 Интеграция открытий |
|
|
|
|
|
**Упражнение 'Собирая пазл себя':** |
|
|
|
|
|
1. **Выберите 3 самых важных открытия** из последних практик |
|
|
2. **Создайте образ целостности** - как эти части сочетаются вместе? |
|
|
3. **Определите следующий шаг** - какое маленькое действие вы можете сделать сегодня? |
|
|
4. **Напишите письмо себе** с поддержкой и ободрением |
|
|
|
|
|
**Вопросы для интеграции:** |
|
|
- Как новые знания о себе влияют на мои решения? |
|
|
- Какие старые убеждения готовы трансформироваться? |
|
|
- Как я могу проявлять свою истинную природу чаще? |
|
|
- Что мешает мне быть более аутентичным? |
|
|
""" |
|
|
return prompt |
|
|
|
|
|
def create_personal_map(self, user_id="default"): |
|
|
"""Создание персональной карты самопознания""" |
|
|
prompt = """ |
|
|
## 🗺️ Ваша карта самопознания |
|
|
|
|
|
**Сферы для исследования:** |
|
|
|
|
|
🎯 **Ценности и смыслы** - Что действительно важно? |
|
|
🌑 **Тень и подавленное** - Что скрыто от осознания? |
|
|
🌟 **Предназначение** - В чем мой уникальный вклад? |
|
|
👶 **Внутренний ребенок** - Какие раны нуждаются в исцелении? |
|
|
🧘 **Осознанность** - Как присутствовать в настоящем? |
|
|
💪 **Сильные стороны** - В чем моя уникальная сила? |
|
|
|
|
|
**Рекомендации по движению:** |
|
|
- Начинайте с той сферы, которая сейчас наиболее актуальна |
|
|
- Практикуйте регулярно, но без насилия над собой |
|
|
- Доверяйте внутреннему процессу и срокам |
|
|
- Отмечайте каждый шаг, каким бы маленьким он ни был |
|
|
""" |
|
|
return prompt |
|
|
|
|
|
|
|
|
app = DeepSelfDiscovery() |
|
|
|
|
|
def create_interface(): |
|
|
with gr.Blocks( |
|
|
title="Глубинное Самопознание - Путь к Истинному Я", |
|
|
theme=gr.themes.Soft(primary_hue="purple", secondary_hue="pink"), |
|
|
css=""" |
|
|
.gradio-container { |
|
|
max-width: 1200px !important; |
|
|
margin: 0 auto; |
|
|
} |
|
|
.practice-card { |
|
|
background: white; |
|
|
padding: 20px; |
|
|
border-radius: 15px; |
|
|
border-left: 5px solid #8B5CF6; |
|
|
margin: 10px 0; |
|
|
box-shadow: 0 4px 6px rgba(0,0,0,0.1); |
|
|
} |
|
|
.insight-box { |
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); |
|
|
color: white; |
|
|
padding: 25px; |
|
|
border-radius: 15px; |
|
|
margin: 15px 0; |
|
|
} |
|
|
.btn-custom { |
|
|
background: linear-gradient(135deg, #8B5CF6, #EC4899) !important; |
|
|
color: white !important; |
|
|
border: none !important; |
|
|
border-radius: 10px !important; |
|
|
padding: 15px 20px !important; |
|
|
margin: 8px !important; |
|
|
font-size: 14px !important; |
|
|
min-width: 200px !important; |
|
|
} |
|
|
.btn-custom:hover { |
|
|
transform: translateY(-2px); |
|
|
box-shadow: 0 6px 12px rgba(0,0,0,0.2); |
|
|
} |
|
|
.practice-grid { |
|
|
display: grid; |
|
|
grid-template-columns: 1fr 1fr; |
|
|
gap: 15px; |
|
|
margin: 20px 0; |
|
|
} |
|
|
""" |
|
|
) as interface: |
|
|
|
|
|
gr.Markdown(""" |
|
|
# 🌌 Глубинное Самопознание |
|
|
## Путешествие к вашему Истинному Я |
|
|
|
|
|
*«Познай себя — и ты познаешь Вселенную и богов»* — Надпись в Дельфийском храме |
|
|
""") |
|
|
|
|
|
with gr.Tab("🧭 Начать путешествие"): |
|
|
gr.Markdown(""" |
|
|
### Выберите направление исследования |
|
|
|
|
|
Каждая практика — это шаг к более глубокому пониманию себя. |
|
|
Начните с того, что resonates с вами прямо сейчас. |
|
|
""") |
|
|
|
|
|
|
|
|
with gr.Row(): |
|
|
with gr.Column(): |
|
|
btn_values = gr.Button("🎯 Ценности и смыслы", elem_classes="btn-custom") |
|
|
btn_shadow = gr.Button("🌑 Работа с Тенью", elem_classes="btn-custom") |
|
|
btn_purpose = gr.Button("🌟 Жизненное предназначение", elem_classes="btn-custom") |
|
|
btn_child = gr.Button("👶 Исцеление Внутреннего Ребенка", elem_classes="btn-custom") |
|
|
|
|
|
with gr.Column(): |
|
|
btn_mindfulness = gr.Button("🧘 Практики осознанности", elem_classes="btn-custom") |
|
|
btn_strengths = gr.Button("💪 Сильные стороны", elem_classes="btn-custom") |
|
|
btn_daily = gr.Button("📅 Сегодняшняя практика", elem_classes="btn-custom") |
|
|
btn_integration = gr.Button("🔄 Интеграция открытий", elem_classes="btn-custom") |
|
|
|
|
|
btn_map = gr.Button("🗺️ Моя карта самопознания", variant="primary", size="lg", elem_classes="btn-custom") |
|
|
|
|
|
|
|
|
practice_output = gr.Markdown( |
|
|
value="## 🧭 Выберите практику для начала\n\nНажмите на любую кнопку выше, чтобы начать работу с выбранным методом самопознания.", |
|
|
label="Практика самопознания", |
|
|
elem_classes="practice-card" |
|
|
) |
|
|
|
|
|
with gr.Tab("📖 Практика и рефлексия"): |
|
|
gr.Markdown("### Углубляйте свои открытия через практику") |
|
|
|
|
|
with gr.Row(): |
|
|
with gr.Column(): |
|
|
|
|
|
reflection_input = gr.Textbox( |
|
|
label="Ваши инсайты и размышления", |
|
|
placeholder="Запишите здесь свои открытия, чувства, осознания...", |
|
|
lines=6 |
|
|
) |
|
|
|
|
|
save_reflection_btn = gr.Button("💾 Сохранить инсайт") |
|
|
|
|
|
with gr.Column(): |
|
|
insights_display = gr.Markdown( |
|
|
label="Ваши сохраненные инсайты", |
|
|
elem_classes="insight-box" |
|
|
) |
|
|
|
|
|
with gr.Tab("📊 Прогресс и интеграция"): |
|
|
gr.Markdown("### Отслеживайте свой путь трансформации") |
|
|
|
|
|
with gr.Row(): |
|
|
with gr.Column(): |
|
|
progress_output = gr.Markdown(label="Ваш прогресс") |
|
|
integration_report_btn = gr.Button("🔄 Создать интеграционный отчет") |
|
|
|
|
|
with gr.Column(): |
|
|
timeline_output = gr.Markdown(label="Хронология открытий") |
|
|
|
|
|
with gr.Tab("💫 Экспресс-практики"): |
|
|
gr.Markdown("### Быстрые практики для повседневности") |
|
|
|
|
|
with gr.Row(): |
|
|
quick_practice_1 = gr.Button("🌬️ 5-минутная медитация") |
|
|
quick_practice_2 = gr.Button("📝 Утренние страницы") |
|
|
quick_practice_3 = gr.Button("🙏 Практика благодарности") |
|
|
|
|
|
quick_output = gr.Markdown(label="Быстрая практика") |
|
|
|
|
|
|
|
|
btn_values.click( |
|
|
fn=app.values_clarification, |
|
|
outputs=practice_output |
|
|
) |
|
|
|
|
|
btn_shadow.click( |
|
|
fn=app.shadow_work, |
|
|
outputs=practice_output |
|
|
) |
|
|
|
|
|
btn_purpose.click( |
|
|
fn=app.life_purpose, |
|
|
outputs=practice_output |
|
|
) |
|
|
|
|
|
btn_child.click( |
|
|
fn=app.inner_child_healing, |
|
|
outputs=practice_output |
|
|
) |
|
|
|
|
|
btn_mindfulness.click( |
|
|
fn=app.mindfulness_practice, |
|
|
outputs=practice_output |
|
|
) |
|
|
|
|
|
btn_strengths.click( |
|
|
fn=app.strengths_identification, |
|
|
outputs=practice_output |
|
|
) |
|
|
|
|
|
btn_daily.click( |
|
|
fn=app.daily_practice, |
|
|
outputs=practice_output |
|
|
) |
|
|
|
|
|
btn_integration.click( |
|
|
fn=app.integration_exercise, |
|
|
outputs=practice_output |
|
|
) |
|
|
|
|
|
btn_map.click( |
|
|
fn=app.create_personal_map, |
|
|
outputs=practice_output |
|
|
) |
|
|
|
|
|
|
|
|
quick_practice_1.click( |
|
|
fn=lambda: """ |
|
|
## 🌬️ 5-минутная медитация осознанности |
|
|
|
|
|
1. **Сядьте удобно** и закройте глаза |
|
|
2. **Направьте внимание на дыхание** - просто наблюдайте вдохи и выдохи |
|
|
3. **Когда ум отвлекается** - мягко верните внимание к дыханию |
|
|
4. **Расширьте осознавание** на все тело и звуки вокруг |
|
|
5. **Постепенно возвращайтесь** - откройте глаза |
|
|
|
|
|
*Практикуйте 5 минут, возвращаясь к настоящему моменту* |
|
|
""", |
|
|
outputs=quick_output |
|
|
) |
|
|
|
|
|
quick_practice_2.click( |
|
|
fn=lambda: """ |
|
|
## 📝 Утренние страницы |
|
|
|
|
|
**Инструкция:** |
|
|
- Пишите 3 страницы от руки сразу после пробуждения |
|
|
- Пишите все, что приходит в голову, без цензуры |
|
|
- Не перечитывайте и не анализируйте |
|
|
- Позвольте мыслям течь свободно |
|
|
|
|
|
**Вопросы для начала:** |
|
|
- О чем я думаю прямо сейчас? |
|
|
- Что меня беспокоит? |
|
|
- Чего я хочу сегодня? |
|
|
- Что требует моего внимания? |
|
|
""", |
|
|
outputs=quick_output |
|
|
) |
|
|
|
|
|
quick_practice_3.click( |
|
|
fn=lambda: """ |
|
|
## 🙏 Практика благодарности |
|
|
|
|
|
**Составьте список из 10 вещей, за которые вы благодарны:** |
|
|
|
|
|
1. |
|
|
2. |
|
|
3. |
|
|
4. |
|
|
5. |
|
|
6. |
|
|
7. |
|
|
8. |
|
|
9. |
|
|
10. |
|
|
|
|
|
**Глубинные вопросы:** |
|
|
- Кому я благодарен и почему? |
|
|
- Какие трудности принесли мне ценные уроки? |
|
|
- За какие простые радости я благодарен сегодня? |
|
|
- Как благодарность меняет мое восприятие жизни? |
|
|
""", |
|
|
outputs=quick_output |
|
|
) |
|
|
|
|
|
|
|
|
def save_insight(reflection, user_id="default"): |
|
|
if not reflection.strip(): |
|
|
return "Введите ваши размышления", insights_display.value |
|
|
|
|
|
if user_id not in app.user_data: |
|
|
app.user_data[user_id] = {"insights": [], "practices": []} |
|
|
|
|
|
insight = { |
|
|
"text": reflection, |
|
|
"timestamp": datetime.now().isoformat(), |
|
|
"type": "reflection" |
|
|
} |
|
|
|
|
|
app.user_data[user_id]["insights"].append(insight) |
|
|
|
|
|
|
|
|
insights_text = "## 💫 Ваши инсайты:\n\n" |
|
|
user_insights = app.user_data[user_id].get("insights", []) |
|
|
if user_insights: |
|
|
for i, ins in enumerate(reversed(user_insights[-5:]), 1): |
|
|
date = datetime.fromisoformat(ins['timestamp']).strftime("%d.%m %H:%M") |
|
|
insights_text += f"**{i}. {date}:** {ins['text'][:100]}...\n\n" |
|
|
else: |
|
|
insights_text += "Пока нет сохраненных инсайтов. Начните записывать свои мысли!" |
|
|
|
|
|
return "✅ Инсайт сохранен!", insights_text |
|
|
|
|
|
save_reflection_btn.click( |
|
|
fn=save_insight, |
|
|
inputs=[reflection_input], |
|
|
outputs=[gr.Textbox(value="", visible=False), insights_display] |
|
|
).then( |
|
|
fn=lambda: "", |
|
|
outputs=reflection_input |
|
|
) |
|
|
|
|
|
|
|
|
def generate_integration_report(user_id="default"): |
|
|
if user_id not in app.user_data or not app.user_data[user_id].get("insights"): |
|
|
return "Пока недостаточно данных для отчета. Продолжайте практику!" |
|
|
|
|
|
insights = app.user_data[user_id]["insights"] |
|
|
total_insights = len(insights) |
|
|
|
|
|
report = f""" |
|
|
## 📊 Интеграционный отчет |
|
|
|
|
|
**Всего инсайтов:** {total_insights} |
|
|
**Период практики:** {len(insights)} дней |
|
|
|
|
|
**Ключевые темы ваших открытий:** |
|
|
- [Проанализируйте ваши записи и выделите повторяющиеся темы] |
|
|
- [Какие паттерны мышления вы заметили?] |
|
|
- [Что требует большего внимания и исследования?] |
|
|
|
|
|
**Рекомендации для дальнейшего пути:** |
|
|
1. Продолжайте ежедневную практику рефлексии |
|
|
2. Углубляйте исследования в наиболее значимых для вас сферах |
|
|
3. Практикуйте интеграцию открытий в повседневную жизнь |
|
|
4. Будьте терпеливы и добры к себе в этом процессе |
|
|
|
|
|
*Каждый инсайт — это шаг к большей целостности и осознанности.* |
|
|
""" |
|
|
return report |
|
|
|
|
|
integration_report_btn.click( |
|
|
fn=generate_integration_report, |
|
|
outputs=progress_output |
|
|
) |
|
|
|
|
|
gr.Markdown(""" |
|
|
--- |
|
|
|
|
|
### 🌈 Принципы глубинного самопознания: |
|
|
|
|
|
- **Присутствие** - Будьте здесь и сейчас |
|
|
- **Принятие** - Принимайте все аспекты себя без осуждения |
|
|
- **Любопытство** - Исследуйте с интересом, а не критикой |
|
|
- **Терпение** - Позвольте процессу разворачиваться естественно |
|
|
- **Целостность** - Помните, что вы уже целостны и совершенны |
|
|
|
|
|
*«Ты должен сам стать тем изменением, которое хочешь увидеть в мире»* — Махатма Ганди |
|
|
""") |
|
|
|
|
|
return interface |
|
|
|
|
|
|
|
|
demo = create_interface() |
|
|
|
|
|
if __name__ == "__main__": |
|
|
demo.launch( |
|
|
server_name="0.0.0.0", |
|
|
share=True |
|
|
) |