Caution
This is an LLM generated translation. If you are proficient in русский, 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.
- 🎨 Богатая библиотека пользовательского интерфейса - Более 100 полностью настраиваемых встроенных компонентов для быстрой разработки UI.
- ⚛️ Используйте мощь React с помощью Python-обёрток - Используйте огромный экосистему 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
[!ПРИМЕЧАНИЕ] Ваше приложение теперь полностью функционально. Чтобы посмотреть фронтенд, перейдите на
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, и вы должны быть готовы.
Мы приветствуем участников всех уровней навыков! 🤝
Хотите внести свой вклад? Начните с создания форка нашего репозитория и отправки ваших пул-реквестов. Мы рады приветствовать вас в нашем сообществе. Вместе мы создадим действительно замечательный продукт! ✨
В нашем стремлении создать приложения, которые пишут себя, мы глубоко погрузились в лабиринт инструментов для кодирования, фреймворков и библиотек. Наши эксперименты охватывали все основные крупные языковые модели (LLMs), тысячи запросов и каждый основной фреймворк веб-разработки, от 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 - это передовой инструментарий для разработки приложений, оптимизированный для генерации кода на основе искусственного интеллекта, созданный в духе сотрудничества открытого сообщества. Он интегрирует ключевые компоненты из знаковых проектов, таких как Guidance, Llama-Index, FastAPI-Mail, LangChain, ReactPy, Reflex, Chakra, Radix, Numpy и Next.js, а также использует идеи из экосистем React и Rust. Это слияние идей играло ключевую роль в формировании Nextpy как фреймворка, который не только дружественен к ИИ, но и является пионером в инструментах генеративной веб-разработки.
Мы глубоко признательны создателям, участникам и сопровождающим открытого исходного кода, чья работа послужила основой для Nextpy. Ваше стремление к инновациям и открытости было жизненно важным для формирования этого фреймворка. Ваши вклады не только улучшили Nextpy, но также продвигают новую эру разработки программного обеспечения на основе ИИ. Спасибо за то, что вы стали катализаторами и соучастниками этого трансформационного путешествия.