Марвин - это легкий инструментарий ИИ для создания интерфейсов естественного языка, которые являются надежными, масштабируемыми и простыми для доверия.
Каждый из инструментов Марвина является простым и самоокументированием, используя ИИ для решения общих, но сложных проблем, таких как извлечение сущности, классификация и генерация синтетических данных. Каждый инструмент является независимым и постепенно принятым, поэтому вы можете использовать их самостоятельно или в сочетании с любой другой библиотекой. Марвин также является мультимодальным, поддерживая как изображения, так и аудио, а также использует изображения в качестве входов для извлечения и классификации.
Марвин для разработчиков, которые больше заботятся об использовании ИИ, чем на создании ИИ, и мы сосредоточены на создании исключительного опыта разработчика. Пользователи Marvin должны чувствовать себя убедительными, чтобы привлечь тесно «Magic» в любом традиционном программном проекте с несколькими дополнительными линиями кода.
Марвин стремится объединить лучшие практики для создания надежного, наблюдаемого программного обеспечения с лучшими методами создания с генеративным ИИ в единую, простой в использовании библиотеку. Это серьезный инструмент, но мы надеемся, что вы с ним повеселитесь.
Марвин-это открытый источник, бесплатный в использовании и сделан? командой в префекте.
Установите последнюю версию с pip
:
pip install marvin -U
Чтобы проверить свою установку, запустите marvin version
в вашем терминале.
Марвин состоит из множества полезных инструментов, предназначенных для использования независимо. Каждый из них представляет общий вариант использования LLM и пакеты, которые включают в простой, самодокументирующий интерфейс.
? Напишите пользовательские функции с AI без исходного кода
? ️ классифицировать текст по категориям
? Извлечь структурированные объекты из текста
? Преобразовать текст в структурированные данные
Генерировать синтетические данные из схемы
? ️ Создание изображений из текста или функций
Опишите изображения с естественным языком
? ️ классифицировать изображения в категории
? Извлекать структурированные объекты из изображений
? Преобразовать изображения в структурированные данные
Генерировать речь из текста или функций
✍ Транскрибируйте речь из записанного аудио
? ️ Записывает пользователей непрерывно или как отдельные фразы
? ️ записать видео непрерывно
? Общаться с помощниками и использовать пользовательские инструменты
? Создание приложений, которые управляют постоянным государством
Вот вихревая экскурсия по нескольким основным особенностям Марвина. Для получения дополнительной информации проверьте документы!
Марвин может classify
текст, используя набор ярлыков:
import marvin
marvin . classify (
"Marvin is so easy to use!" ,
labels = [ "positive" , "negative" ],
)
# "positive"
Узнайте больше о классификации здесь.
Марвин может extract
структурированные сущности из текста:
import pydantic
class Location ( pydantic . BaseModel ):
city : str
state : str
marvin . extract ( "I moved from NY to CHI" , target = Location )
# [
# Location(city="New York", state="New York"),
# Location(city="Chicago", state="Illinois")
# ]
Почти все функции Marvin могут быть даны instructions
для большего контроля. Здесь мы извлекаем только денежные значения:
marvin . extract (
"I paid $10 for 3 tacos and got a dollar and 25 cents back." ,
target = float ,
instructions = "Only extract money"
)
# [10.0, 1.25]
Узнайте больше об извлечении сущности здесь.
Марвин может generate
синтетические данные для вас, следующие инструкции и дополнительную схему:
class Location ( pydantic . BaseModel ):
city : str
state : str
marvin . generate (
n = 4 ,
target = Location ,
instructions = "cities in the United States named after presidents"
)
# [
# Location(city='Washington', state='District of Columbia'),
# Location(city='Jackson', state='Mississippi'),
# Location(city='Cleveland', state='Ohio'),
# Location(city='Lincoln', state='Nebraska'),
# ]
Узнайте больше о генерации данных здесь.
Марвин может cast
произвольный текст на любой тип Python:
marvin . cast ( "one two three" , list [ int ])
# [1, 2, 3]
Это полезно для стандартизации текстовых входов или сопоставления естественного языка с схемой:
class Location ( pydantic . BaseModel ):
city : str
state : str
marvin . cast ( "The Big Apple" , Location )
# Location(city="New York", state="New York")
Для подхода на основе класса, декоратор Marvin @model
может быть применен к любой модели пиданта, чтобы она была создана из текста:
@ marvin . model
class Location ( pydantic . BaseModel ):
city : str
state : str
Location ( "The Big Apple" )
# Location(city="New York", state="New York")
Узнайте больше о кастинге для типов здесь.
Функции Marvin позволяют вам объединить любые входные данные, инструкции и типы выводов для создания пользовательского поведения с AI, без исходного кода. Эти функции могут выходить далеко за рамки возможностей extract
или classify
, и идеально подходят для сложной обработки естественного языка или сопоставления комбинаций входов на выходы.
@ marvin . fn
def sentiment ( text : str ) -> float :
"""
Returns a sentiment score for `text`
between -1 (negative) and 1 (positive).
"""
sentiment ( "I love working with Marvin!" ) # 0.8
sentiment ( "These examples could use some work..." ) # -0.2
Функции Marvin выглядят точно так же, как обычные функции Python, за исключением того, что вам не нужно писать какой -либо исходный код. Когда эти функции вызываются, ИИ интерпретирует их описание и входы и генерирует выход.
Обратите внимание, что Марвин не работает, генерируя или выполняя исходный код, что было бы небезопасно для большинства вариантов использования. Вместо этого он использует саму LLM в качестве «времени выполнения» для прогнозирования выходов функций. Это на самом деле источник его власти: функции Marvin могут обрабатывать сложные варианты использования, которые были бы трудно или невозможно выразить в качестве кода.
Вы можете узнать больше о функциях здесь.
Марвин может paint
изображения из текста:
marvin . paint ( "a simple cup of coffee, still warm" )
Узнайте больше о генерации изображений здесь.
В дополнение к тексту, Марвин поддерживает подписание, классификацию, преобразование и извлечение сущностей из изображений с использованием модели Vision GPT-4:
marvin . classify (
marvin . Image . from_path ( "docs/images/coffee.png" ),
labels = [ "drink" , "food" ],
)
# "drink"
Марвин может транскрибировать речь и генерировать звук вне коробки, но дополнительное audio
дополнительное предоставляет утилиты для записи и воспроизведения звука.
import marvin
import marvin . audio
# record the user
user_audio = marvin . audio . record_phrase ()
# transcribe the text
user_text = marvin . transcribe ( user_audio )
# cast the language to a more formal style
ai_text = marvin . cast ( user_text , instructions = 'Make the language ridiculously formal' )
# generate AI speech
ai_audio = marvin . speak ( ai_text )
# play the result
ai_audio . play ()
Функция идеи? Поделитесь этим в канале #development
в нашем разногласии.
? Нашел ошибку? Не стесняйтесь открывать проблему.
? Обратная связь? Марвин находится в активном развитии, и мы хотели бы услышать это.