Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Инженерия промптов

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

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

Механика эффективного подсказывания

В своей основе инженерия подсказок опирается на понимание того, как базовые модели обрабатывают контекст и инструкции. Хорошо сконструированная подсказка снижает неоднозначность, предоставляя явные ограничения, желаемые форматы вывода (такие как JSON или Markdown) и соответствующую справочную информацию. Опытные специалисты используют такие методы, как обучение по нескольким примерам, когда пользователь предоставляет несколько примеров пар входных и выходных данных в подсказке, чтобы продемонстрировать желаемый шаблон.

Еще одна эффективная стратегия — подсказки по цепочке мыслей, которые помогают модели разбивать сложные задачи на промежуточные шаги. Это значительно улучшает производительность при обработке запросов, требующих логического мышления. Кроме того, оптимизация использования контекстного окна— ограничения на объем текста, который модель может обрабатывать за один раз — имеет решающее значение для поддержания связности в длительных взаимодействиях. Внешние ресурсы, такие как руководство OpenAI по дизайну подсказок, подчеркивают важность итеративного усовершенствования для эффективной обработки крайних случаев.

Релевантность в компьютерном зрении

Хотя промпт-инжиниринг часто ассоциируется с текстом, он становится все более важным в компьютерном зрении (CV). Современные мультимодальные модели и детекторы с открытым словарем, такие как YOLO, позволяют пользователям определять цели обнаружения с помощью обработки естественного языка (NLP) , а не заранее определенных числовых идентификаторов классов.

detect этом контексте «подсказка» представляет собой текстовое описание объекта (например, «человек в красном шлеме»). Эта возможность, известная как обучение без примеров, позволяет системам обнаруживать объекты, на которых они явно не были обучены, используя выученные ассоциации между визуальными характеристиками и семантическими вложениями. Для высокоскоростных производственных сред, где классы фиксированы, разработчики могут в конечном итоге перейти от моделей с подсказками к эффективным, переобученным моделям, таким как YOLO26, но инжиниринг подсказок остается ключом к быстрому прототипированию и гибкости.

Применение в реальном мире

Программная инженерия повышает ценность различных отраслей, обеспечивая гибкую и интеллектуальную автоматизацию:

  • track намическая визуальная аналитика: в сфере искусственного интеллекта в розничной торговле менеджеры магазинов используют модели визуального распознавания на основе подсказок для поиска конкретных товаров без технического вмешательства. Системе можно дать команду отслеживать «пустые полки» в один день и «неправильно размещенные товары» на следующий. Такая гибкость позволяет предприятиям незамедлительно адаптировать свои системы обнаружения объектов к сезонным тенденциям.
  • Автоматическое создание контента: маркетинговые команды полагаются на подробные подсказки для управления генераторами текста в изображения, такими как Stable Diffusion или Midjourney. Разрабатывая подсказки, которые определяют освещение, художественный стиль и композицию, дизайнеры могут быстро создавать визуальные ресурсы.
  • Интеллектуальный поиск знаний: в службе поддержки клиентов инженеры разрабатывают «системные подсказки», которые инструктируют чат-ботов отвечать на запросы, используя только проверенные данные компании. Это ключевой компонент Retrieval-Augmented Generation (RAG), который гарантирует, что ИИ сохраняет полезную личность, избегая при этом галлюцинаций в LLM.

Реализация с помощью Ultralytics

В следующем примере показано, как программно применяется проектирование подсказок с помощью ultralytics пакет. Здесь мы используем модель YOLO, которая принимает текстовые подсказки для определения объектов, которые необходимо динамически искать, в отличие от стандартных моделей, таких как YOLO26 которые используют фиксированные списки классов.

from ultralytics import YOLO

# Load a YOLO-World model capable of interpreting text prompts
model = YOLO("yolov8s-world.pt")

# Apply prompt engineering to define custom classes dynamically
# The model maps these text descriptions to visual features
model.set_classes(["person in safety vest", "forklift", "blue hardhat"])

# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Show results - the model only detects objects matching the prompts
results[0].show()

Различение смежных понятий

Для эффективного внедрения решений искусственного интеллекта через Ultralytics важно отличать промпт-инжиниринг от схожих методов оптимизации:

  • Программирование подсказок и настройка подсказок: Программирование подсказок включает в себя ручное создание входных данных на естественном языке. Настройка подсказок, напротив, представляет собой метод точной настройки параметров (PEFT) , который обучается «мягким подсказкам» (непрерывным векторным вложениям) на этапе обучения. Эти мягкие подсказки представляют собой математические оптимизации, невидимые для пользователя.
  • Программирование подсказок против тонкой настройки: Тонкая настройка постоянно обновляет веса модели с использованием определенного набора данных для обучения, чтобы специализировать ее для выполнения задачи. Программирование подсказок не изменяет саму модель; оно только оптимизирует вводные данные во время вывода в реальном времени.
  • Программирование подсказок против введения подсказок: В то время как программирование является конструктивным, введение подсказок представляет собой уязвимость безопасности, при которой злонамеренные вводные данные манипулируют моделью, заставляя ее игнорировать ограничения безопасности. Обеспечение безопасности ИИ требует надежной защиты от таких враждебных подсказок.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас