Трансформеры версии 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.