Caution
This is an LLM generated translation. If you are proficient in Ukrainian, please consider submitting a pull request with improvements
繁體中文 . 简体中文 . Français · German · Italiano · Português · Tamil · Ukrainian · русский · عربي · Español · हिंदी · Türkçe · 한국어
Простий, як Streamlit + Швидкий і гнучкий, як Next.js
+ 🤖 Шукаєте 'OpenAMS' або 'OpenAgent'? Тепер вони безпроблемно інтегровані в Nextpy. +
Створюйте будь-які веб-додатки — без зусиль та швидко ⚡. Він спрощує розробку на Python для всього, від бекендів до фронтендів (так, візуально 🦚привабливі фронтенди на Python!), інтеграції з ШІ, API та більше — надаючи можливості як людям, так і агентам ШІ.
Nextpy розроблений для вирішення проблем сумісності та покращення генерації коду. Він створений на нашому усвідомленні🔍, що вибір фреймворку для додатків істотно впливає на ефективність генерації коду ШІ, незалежно від інших факторів, таких як LLM, підказки або методи доопрацювання.
- ⏰ Що ви можете побудувати за 1 годину: Красиві портфоліо, портали, додатки для даних, внутрішні інструменти, API тощо.
- 📚 А найкраще? Переносимі знання: Розробка з Nextpy
прогресивно
навчає вас кращим бібліотекам Python - FastAPI, Pydantic, SQLModel, Pandas, Jinja2, SQLAlchemy тощо.
- 🐍 Розкрийте повний потенціал Python - Усуньте складності та побудуйте все—фронтенд та бекенд—на Python, безшовно інтегруючи будь-яку бібліотеку Python.
- 🎨 Багата бібліотека UI - Понад 100 повністю налаштовуваних вбудованих компонентів для швидкої розробки інтерфейсу користувача.
- ⚛️ Використовуйте потужність React з Pythonic обгортками - Використовуйте величезний екосистему React безпосередньо у Python, використовуючи будь-яку бібліотеку React без знань JavaScript.
- 🚀 Вбудовані оптимізації продуктивності - Забезпечте винятковий досвід користувачів з автоматичними оптимізаціями зображень, шрифтів та скриптів для блискавичних швидкостей завантаження та реакції. Побачте різницю самі на nextpy.org.
- 🧠 Ефективніше, ніж ланцюги або інженерія запитів - Next.py синхронізується зі шаблонами обробки LLM, забезпечуючи точний контроль виводу та оптимальне використання моделей.
- 💡 Оптимізовано для генерації коду - Незалежно від використаних LLM, запитів або тонкої настройки, основна архітектура додатку суттєво впливає на ефективність генерації коду. Архітектура Next.py спеціально створена для максимізації ефективності.
- 💾 Стан сеансу з LLM - Ефективно підтримуйте стан з LLM, використовуючи кеші KV для перетворення кількох вихідних токенів у партії токенів запиту. Такий підхід зменшує надлишкові генерації, прискорюючи обробку довгих та складних запитів. (лише для відкритих моделей)
- 🧪 Виявлення синтаксичних помилок: Тестуйте код, згенерований LLM, виявляючи та виправляючи галюцинації LLM, невірні методи Nextpy, та автоматично генеруючи запити для безперешкодних виправлень.
- 📘 Переносимі знання - Вивчення Next.py прищеплює основи, незалежні від фреймворку, підвищуючи вашу експертизу в розробці додатків та дозволяючи вам досягти успіху в будь-яких фреймворках.
- 🛠️ Розширюваність - Якщо ви знаєте, як щось зробити в Python або звичайній англійській мові, ви можете інтегрувати це з nextpy.
1. Встановлення Nextpy
Відкрийте термінал і готуйтеся до захоплюючої пригоди!
pip install nextpy
(Пам'ятайте, що потрібен Python версії 3.7 або новішої.)
2. Ініціалізація вашого додатку
Перейдіть до бажаної директорії для вашого проєкту в терміналі. Використовуйте команду nextpy init
для ініціалізації шаблону додатку у вашій новій директорії.
nextpy init
3. Виберіть свій шаблон:
Наразі просто натисніть enter, щоб автоматично вибрати шаблон за замовчуванням.
Blank Template: Простий шаблон однієї сторінки
Base Template: Багатосторінковий додаток з бічною панеллю
4. Запуск додатку
У тій самій директорії, де ви раніше виконали команду nextpy init, введіть наступну команду:
nextpy run
5. Перегляд додатку:
Перегляньте свій додаток, відвідавши http://localhost:3000
Note
Тепер ваш додаток повністю функціональний. Щоб побачити фронтенд, перейдіть до localhost:3000
. Бекенд-сервер доступний за адресою localhost:8000
.
Хоча малоймовірно, що ви коли-небудь будете безпосередньо взаємодіяти з ним, документація API бекенду знаходиться за адресою localhost:8000/docs
, а файл openapi.json розташований за адресою localhost:8000/openapi.json
.
Ми прискорюємо вашу розробку за допомогою постійно зростаючого списку шаблонів спільноти. Деякі приклади:
Потужні таблиці | Сайти-портфоліо | Інтерактивні діаграми | Чат з ШІ | CRUD-додатки | Онбординг |
- Скопіюйте файли шаблону до вашої локальної папки.
- Встановіть необхідні залежності за допомогою
pip install -r requirements.txt
. - Ініціалізуйте ваш додаток, виконавши
nextpy init
. - Запустіть додаток за допомогою
nextpy run
, щоб побачити його в дії. Щоб перевірити сайт, відвідайтеlocalhost:3000
Відредагуйте myapp/myapp.py
, щоб створити ваш додаток.
import nextpy as xt
import pyjokes
Спочатку імпортуйте nextpy
для розробки та pyjokes
для генерації випадкових жартів.
class State(xt.State):
joke: str = "Натисніть кнопку, щоб отримати жарт!"
def generate_joke(self):
self.joke = pyjokes.get_joke()
Створіть клас State
зі змінною joke
. Використовуйте generate_joke
, щоб отримувати нові жарти.
def index():
layout = xt.vstack(
xt.text(State.joke, font_size="2em"),
xt.button("Згенерувати жарт", on_click=State.generate_joke),
)
return layout
Функція index
організовує відображення жарту та кнопки. vstack
використовується для вертикального стекування компонентів, тоді як hstack
використовується для горизонтального стекування.
def index():
layout = xt.vstack(
xt.text(State.joke, font_size="2em"),
xt.button("Згенерувати жарт", on_click=State.generate_joke),
spacing="1em",
align_items="center",
justify_content="center",
height="100vh",
)
return layout
Атрибут spacing
додає простір між елементами text
та button
, тоді як align_items
та justify_content
забезпечують центрування цих елементів. Висота стеку height
встановлена на 100% висоти віконного простору (100vh
), що дозволяє вертикальному стеку заповнити всю висоту вашого екрану.
app = xt.App()
app.add_page(index)
Встановіть додаток, додайте головну сторінку. Щоб переглянути фронтенд, перейдіть за адресою localhost:3000
.
🌟 Майбутні функції
-
Магічні компоненти фронтенду
- 🪄 Перетворення PDF-резюме на особистий сайт: Створення "магічного компонента", який перетворює PDF-резюме на налаштовувані, повноцінні особисті вебсайти.
-
Модулі бекенду
- 🔐 Автентифікація користувачів та інтеграція електронної пошти: Додавання модулів для надійної функціональності входу та підписки на електронну пошту.
- 🛒 Модулі для блогів та електронної комерції: Додавання бекенд-модулів для спрощення управління блогами та веб-додатками електронної комерції.
-
Оптимізація збірки та продуктивності
- 🔧 Покращення компілятора за допомогою Rust чи mojo: Перехід нашого існуючого компілятора на Rust чи mojo для досягнення кращої продуктивності.
-
Генеративний ШІ
- 🐍 Nextpy LLM: Створення найкращої Python LLM.
- 💬 Функція копілота для кінцевого користувача: Чат-копілот для користувачів додатків, який дозволяє їм взаємодіяти з вашим продуктом та виконувати дії текстом. У нас вже є всі необхідні модулі для цього, нам просто потрібно спростити абстракцію. Просто встановіть
copilot = True
в xtconfig і ви повинні бути готові до роботи.
Ми вітаємо учасників будь-якого рівня навичок! 🤝
Хочете зробити внесок? Почніть з клонування нашого репозиторію та надсилання ваших запитів на злиття. Ми раді вітати вас у нашій спільноті. Разом ми створимо щось справді видатне! ✨
У нашому прагненні створити додатки, які пишуть себе самі, ми глибоко занурилися в лабіринт інструментів кодування, фреймворків та бібліотек. Наші експерименти охопили всі основні великі моделі мов (LLM), тисячі запитів та кожен основний фреймворк розробки веб-сайтів, від React до Streamlit.
Огляд
Tip
Ми виявили, що вибір базової платформи додатку значно впливає на ефективність генерації коду, незалежно від LLM, запитів або методів доопрацювання.
Спочатку гнучкість Reflex здавалася перспективною, відповідаючи кільком нашим вимогам. Однак, експериментуючи з різними веб-додатками, з'явилися важливі прогалини в функціоналі. Щоб заповнити ці прогалини, потрібно було написати обширний "клейкий код", що значно сповільнило розробку.
Протягом місяців ми стримували бажання винаходити велосипед і намагалися зібрати різні інструменти для втілення нашої візії в життя. Замість створення фреймворку з нуля, ми прагнули створити упереджений стартовий набір для додатків, вибірково інтегруючи найкращі функції з провідних фреймворків. Хоча ми все ще розглядаємо цей проект як стартовий набір для повноцінного стеку додатків, а не як фреймворк, розмежування стає дещо розмитим, оскільки ми розробили кілька користувацьких модулів і прийняли певні дизайнерські рішення.
Цей новаторський фреймворк поєднує простоту Streamlit зі швидкістю та адаптивністю Next.js. Для бекенду ми вибрали FastAPI за його простоту, разом з Pydantic для надійної перевірки типів. Наш фронтенд був створений з використанням спеціально адаптованої версії бібліотеки Reflex, включаючи нові компоненти. Наразі ми працюємо над оновленням основного компілятора Python-до-JavaScript для оптимізації швидкості. Крім того, ми використовуємо SQLModel та SQLAlchemy для підключення до бази даних. Також ми розробили окремі функції спеціально для генеративного ШІ. Ми створили базу даних на основі JSON, яка використовує JSON як середовище зберігання даних, надаючи при цьому можливості подібні до SQL.
Наша місія? Зробити Next.py найефективнішим фреймворком додатків, як для людей, так і для ШІ!
Хочете дізнатися більше? Перегляньте наш маніфест! https://nextpy.org/manifesto/
Nextpy Framework — це передовий фреймворк для розробки додатків, оптимізований для генерації коду на основі ШІ, створений на дусі співпраці відкритого коду. Він інтегрує ключові компоненти з визначних проектів, таких як Guidance, Llama-Index, FastAPI-Mail, LangChain, ReactPy, Reflex, Chakra, Radix, Numpy та Next.js, а також використовує здобутки екосистем React та Rust. Це злиття ідей мало вирішальне значення для формування Nextpy як фреймворку, який не лише дружній до ШІ, але й піонерський у сфері інструментів генеративної веб-розробки.
Ми глибоко вдячні творцям, учасникам та обслуговуючим відкритого коду, чия робота стала основою для Nextpy. Ваша прихильність до інновацій та відкритості мала вирішальне значення для формування цього фреймворку. Ваші внески не лише покращили Nextpy, але й сприяють розвитку нової ери розробки програмного забезпечення на основі ШІ. Дякуємо вам за те, що стали каталізаторами та сприяли цій трансформаційній подорожі.