Перейти к основному содержимому

🐍 Выполнение Python-кода

Обзор

Open WebUI позволяет выполнять Python-код на стороне клиента в браузере, используя Pyodide для выполнения скриптов внутри блока кода в чате. Эта функция позволяет большим языковым моделям (LLM) генерировать Python-скрипты, которые могут быть выполнены прямо в браузере с использованием различных библиотек, поддерживаемых Pyodide.

Для обеспечения конфиденциальности пользователей и гибкости Open WebUI создает зеркала пакетов PyPI, избегая прямых внешних сетевых запросов. Этот подход также позволяет использовать Pyodide в средах без доступа к интернету.

Фронтенд Open WebUI включает автономную WASM (WebAssembly) Python-среду на основе Pyodide, которая может выполнять простые Python-скрипты, созданные LLM. Эта среда разработана для удобства использования, не требуя дополнительной настройки или установки.

Поддерживаемые библиотеки

Выполнение кода Pyodide настроено на загрузку только пакетов, указанных в scripts/prepare-pyodide.js, а затем добавленных в "CodeBlock.svelte". В настоящее время в Open WebUI поддерживаются следующие пакеты Pyodide:

  • micropip
  • packaging
  • requests
  • beautifulsoup4
  • numpy
  • pandas
  • matplotlib
  • scikit-learn
  • scipy
  • regex

Эти библиотеки можно использовать для выполнения различных задач, таких как обработка данных, машинное обучение и веб-скрейпинг. Если пакет, который вы хотите использовать, не скомпилирован в Pyodide, который мы предоставляем вместе с Open WebUI, этот пакет не сможет быть использован.

Запуск выполнения Python-кода

Чтобы выполнить Python-код, попросите LLM в чате написать для вас Python-скрипт. После того как LLM сгенерирует код, в правом верхнем углу блока кода появится кнопка Run. Нажав на эту кнопку, вы выполните код с помощью Pyodide. Чтобы отобразить результат внизу блока кода, убедитесь, что в коде есть хотя бы одна инструкция print для отображения результата.

Советы по использованию выполнения Python-кода

  • Когда пишете Python-код, помните, что он будет выполняться в среде Pyodide. Вы можете сообщить об этом LLM, упомянув "Pyodide environment" при запросе кода.
  • Изучите документацию Pyodide, чтобы понять возможности и ограничения этой среды.
  • Экспериментируйте с различными библиотеками и скриптами, чтобы исследовать возможности выполнения Python-кода в Open WebUI.

Документация Pyodide

Пример кода

Вот пример простого Python-скрипта, который можно выполнить с помощью Pyodide:

import pandas as pd

# Создаем пример DataFrame
data = {Name: [John, Anna, Peter],
Age: [28, 24, 35]}
df = pd.DataFrame(data)

# Выводим DataFrame
print(df)

Этот скрипт создаст пример DataFrame с использованием pandas и напечатает его ниже блока кода в вашем чате.

Расширение списка поддерживаемых библиотек

Хотите исследовать новые возможности? Чтобы расширить список поддерживаемых библиотек, выполните следующие шаги:

  1. Создайте форк репозитория Pyodide, чтобы создать свою собственную версию.
  2. Выберите новые пакеты из существующего списка пакетов Pyodide или изучите высококачественные пакеты, которых в настоящее время не хватает Open WebUI.
  3. Интегрируйте новые пакеты в ваш форкированный репозиторий, чтобы открыть еще больше возможностей.