Трансформеры версии 4.29.0, основанные на концепции инструментов и агентов, предоставляют API на естественном языке поверх трансформеров. Как их использовать? Давайте углубимся в них, используя изучение языка в качестве примера использования!

Что такое агенты и инструменты?

«Агент» здесь — это большая языковая модель, и мы подсказываем ему, чтобы он имел доступ к определенному набору инструментов.

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

Инструменты очень просты: это одна функция с названием и описанием. Затем мы используем описания этих инструментов, чтобы подсказать агенту. С помощью подсказки мы показываем агенту, как он будет использовать инструменты для выполнения того, что было запрошено в запросе. ["Источник"]

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

Практическое занятие: настройка и инициализация агента

Запустим первую ячейку блокнота Google Colab. Здесь мы должны выбрать последнюю версию трансформеров (v4.29.0), а затем, при появлении запроса, ввести токен доступа пользователя HuggingFace.

#@title Setup
transformers_version = "v4.29.0" #@param ["main", "v4.29.0"] {allow-input: true}

print(f"Setting up everything with transformers version {transformers_version}")

!pip install huggingface_hub>=0.14.1 git+https://github.com/huggingface/transformers@$transformers_version -q diffusers accelerate datasets torch soundfile sentencepiece opencv-python openai

import IPython
import soundfile as sf

def play_audio(audio):
    sf.write("speech_converted.wav", audio.numpy(), samplerate=16000)
    return IPython.display.Audio("speech_converted.wav")

from huggingface_hub import notebook_login
notebook_login()

После успешного входа в систему мы можем двигаться вперед и инициализировать агент, который представляет собой большую языковую модель (LLM). Для достижения наилучших результатов можно использовать OpenAI, но также доступны модели с полностью открытым исходным кодом, такие как StarCoder или OpenAssistant. В нашей демонстрации использовался агент StarCoder.