ell

by MadcowD / William Guss (open source) · Python 3.9+, OpenAI, Anthropic, любой OpenAI-compatible API

Framework AI Assistants Open Source v0.0.7 · 23.09.2024 >1 года

ell — prompt engineering language: рассматривает промпты как функции, а не строки. Позволяет писать, версионировать, тестировать и оптимизировать промпты как полноценный код с инструментами разработчика. Возможности: - Промпты как Python-функции с декоратором @ell.simple/@ell.complex - Автоматическое версионирование и трекинг промптов - ELL Studio: визуальный интерфейс для просмотра истории вызовов - Serialization: промпты сохраняются с входами, выходами, метриками - Multimodal: текст, изображения, аудио - Tool use / function calling - Поддержка OpenAI, Anthropic, Cohere

v0.0.7
23.09.2024 current
Добавлен 19.06.2026 · Обновлён 19.06.2026 · AI Assistants
Установка
# pip:
pip install ell-ai

# С поддержкой антропика:
pip install "ell-ai[anthropic]"

# Пример:
import ell
ell.init(store="./logdir", autocommit=True)

@ell.simple(model="gpt-4o-mini")
def summarize(text: str):
    """Summarize the following text in one sentence."""
    return f"Text: {text}"

result = summarize("Long text here...")

# Запустить ELL Studio:
ell-studio --storage ./logdir
переведено ИИ

ell logo that inverts based on color scheme


Documentation Status Install Discord X (formerly Twitter) Follow


pip install -U "ell-ai[all]"

ell — это лёгкая функциональная среда для инженерии промптов, построенная на нескольких ключевых принципах:

1. Промпты — это программы, а не строки.

Промпты — это не просто строки; это весь код, который приводит к тому, что строки отправляются языковой модели. В ell мы рассматриваем один конкретный способ использования языковой модели как дискретную подпрограмму, называемую программой языковой модели.

import ell

@ell.simple(model="gpt-4o")
def hello(world : str):
    """You are a helpful assistant that writes in lower case.""" # System Message
    return f"Say hello to {world[::-1]} with a poem."    # User Message

hello("sama")

alt text

2. Промпты на самом деле являются параметрами модели машинного обучения.

Процесс инженерии промптов включает множество итераций, аналогичных процессам оптимизации в машинном обучении. Поскольку программы языковой модели (LMP) — это просто функции, ell предоставляет богатый инструментарий для этого процесса.

ell demonstration

ell обеспечивает автоматическое версионирование и сериализацию промптов посредством статического и динамического анализа, а также автоматическую генерацию комментариев к коммитам с помощью gpt-4o-mini непосредственно в локальное хранилище. Этот процесс аналогичен чекпоинтингу в цикле обучения моделей машинного обучения, но не требует никакой специальной IDE или редактора — всё выполняется обычным Python-кодом.

3. Инструменты для мониторинга, версионирования и визуализации

Инженерия промптов из тёмного искусства превращается в науку с правильными инструментами. Ell Studio — это локальный инструмент с открытым исходным кодом для контроля версий промптов, мониторинга и визуализации. С помощью Ell Studio вы можете эмпирически отслеживать процесс оптимизации промптов со временем и выявлять регрессии до того, как станет слишком поздно.

ell studio demonstration

ell-studio --storage ./logdir 

4. Мультимодальность должна быть первоклассной

Большие языковые модели могут обрабатывать и генерировать различные типы контента, включая текст, изображения, аудио и видео. Инженерия промптов с этими типами данных должна быть такой же простой, как и с текстом.

from PIL import Image
import ell


@ell.simple(model="gpt-4o", temperature=0.1)
def describe_activity(image: Image.Image):
    return [
        ell.system("You are VisionGPT. Answer <5 words all lower case."),
        ell.user(["Describe what the person in the image is doing:", image])
    ]

# Capture an image from the webcam
describe_activity(capture_webcam_image()) # "they are holding a book"

ell demonstration

ell поддерживает богатое приведение типов для мультимодальных входных и выходных данных. Вы можете использовать изображения PIL, аудио и другие мультимодальные входные данные прямо в объектах Message, возвращаемых программами языковой модели.

...и многое другое!

Подробнее читайте в документации!

Установка

Для установки ell и ell studio вы можете использовать pip. Выполните следующие шаги:

  1. Откройте терминал или командную строку.
  2. Выполните следующую команду для установки пакета ell-ai из PyPI:

bash pip install ell-ai[all]

  1. Проверьте установку, определив версию ell:

bash python -c "import ell; print(ell.__version__)"

Это установит как ell, так и ell studio в вашей системе, позволяя вам начать использовать инструменты для инженерии промптов и визуализации.

Следующие шаги

Изучите документацию, чтобы узнать больше о ell и его возможностях. Следуйте руководству по началу работы, чтобы создать свою первую программу языковой модели. Присоединяйтесь к нашему сообществу в Discord, чтобы общаться с другими пользователями и получать поддержку.

Комментарии
Войдите, чтобы оставить комментарий