Инженерный колледж AI: 1. Инженерный колледж Cue
🚀 Совет для проекта
Ключевым навыком в эпоху генеративного ИИ является Prompt Engineering - искусство и наука разработки эффективных инструкций для управления языковыми моделями при генерации желаемых результатов. Эта развивающаяся дисциплина включает в себя разработку и оптимизацию подсказок для получения конкретных ответов от моделей ИИ, особенно больших языковых моделей LLM, формируя способ взаимодействия и использования возможностей ИИ, сообщает DataCamp.
📚 Структура склада
Название документа | описания |
---|---|
Основные подсказки Дизайн | Введение в концепции и структуры базовой оперативной инженерии. |
Усовершенствованный дизайн кия | Продвинутые советы по оптимизации и структурированию вывода. |
Практическое занятие по усовершенствованию конструкции кия | Практическое руководство по применению передовых методов оперативного проектирования. |
Понимание API OpenAI | Обзор подсказок с использованием API OpenAI. |
Вызовы функций в LLM | Блокнот, демонстрирующий функциональность вызова функций в языковой модели. |
Интегрированные советы Инженерный блокнот | Jupyter Notebook, охватывающий широкий спектр методов быстрого проектирования. |
🎯 Краткое описание дизайна кия
Подсказывание - это процесс предоставления модели ИИ определенных инструкций или входных данных, чтобы вызвать желаемый результат или поведение. Это важный интерфейс между людьми и системами ИИ, позволяющий пользователю эффективно управлять реакцией модели. В контексте больших языковых моделей (БЯМ) подсказки могут быть расширены от простых запросов до сложных наборов инструкций, включая контекст и руководства по стилю.
Ключевые аспекты оперативного проектирования включают:
- Универсальность: в зависимости от модели ИИ и задачи подсказки могут быть текстовыми, визуальными или слуховыми.
- Специфичность: хорошо продуманные подсказки содержат точные сведения, позволяющие получить более точные и релевантные результаты
- Итеративная оптимизация: разработка подсказок обычно включает в себя интерпретацию реакции модели и корректировку последующих подсказок для достижения лучших результатов
- Разнообразие приложений: подсказки используются в таких разных областях, как генерация текста, распознавание изображений, анализ данных и разговорный ИИ.
🌟 Советы о важности инженерного дела
- Улучшение работы ИИ: хорошо продуманные слова-подсказки могут значительно повысить качество и релевантность генерируемых ИИ результатов. Предоставляя четкие инструкции и контекст, инженерные подсказки позволяют моделям генерировать более точные, последовательные и полезные ответы.
- Кастомизация и гибкость: Cue Engineering позволяет пользователям адаптировать ответы ИИ к конкретным потребностям и областям без необходимости длительного переобучения моделей. Такая гибкость позволяет системам ИИ лучше адаптироваться к разнообразным приложениям в различных отраслях.
- Уменьшение предвзятости: предвзятость результатов работы ИИ можно уменьшить с помощью слов-подсказок, которые помогут модели рассмотреть несколько точек зрения или сосредоточиться на конкретных источниках непредвзятой информации.
- Улучшение пользовательского опыта: эффективная разработка подсказок улучшает пользовательский опыт, устраняя разрыв между человеческими намерениями и машинным пониманием, делая инструменты ИИ более доступными и удобными для пользователя [4].
- Экономическая эффективность: оптимизация слов-подсказок позволяет более эффективно использовать вычислительные ресурсы и снижает потребность в больших, более дорогих моделях для достижения желаемых результатов.
- Быстрое прототипирование и итерации: Cue Engineering поддерживает быстрое экспериментирование и оптимизацию приложений ИИ, ускоряя циклы разработки и инновации.
- Этические аспекты: продуманный дизайн подсказок помогает гарантировать, что системы ИИ будут следовать этическим нормам и генерировать подходящий контент для различных контекстов и аудиторий.
- Масштабируемость: после разработки эффективных сигналов их можно легко распространить по всей организации, чтобы обеспечить последовательное и качественное взаимодействие с ИИ.
- Междисциплинарные приложения: Cue Engineering объединяет технические знания и опыт в конкретной области, позволяя профильным специалистам использовать возможности ИИ без глубоких технических знаний.
Советы по проектированию
- Введение в кий-инжиниринг: базовый обзор концепций кий-инжиниринга, включая основные принципы, структурированные кии, сравнительный анализ и применение для решения проблем.
- Основные структуры подсказок: рассматриваются однораундовые и многораундовые подсказки, показывается, как создавать простые подсказки и вести диалог с моделями ИИ.
- Шаблоны и переменные в подсказках: введение в использование шаблонов и переменных в подсказках, с акцентом на создание гибких и многократно используемых структур подсказок с помощью таких инструментов, как Jinja2.
- Zero Sample Prompting: демонстрирует, как модели ИИ можно направлять на выполнение задач с помощью прямого указания задачи и ролевых методов подсказки в отсутствие конкретного примера.
- Обучение без примеров и контекстное обучение: охватывает методы, которые повышают производительность при выполнении конкретных задач без необходимости тонкой настройки за счет предоставления небольшого количества примеров, на которые ориентируется ИИ.
- Совет по цепному мышлению (CoT): поощряйте модели ИИ разбивать сложные задачи на пошаговые процессы рассуждений, чтобы улучшить решение проблем.
- Самосогласованность и многопутевые рассуждения: изучение методов генерации различных путей рассуждений и агрегирования результатов для повышения точности и надежности результатов ИИ.
- Ограниченная и управляемая генерация: фокусируется на установке ограничений на выходные данные модели и реализации генерации на основе правил для контроля и управления реакцией ИИ.
- Подсказки по ролям: демонстрирует, как назначать определенные роли моделям ИИ и разрабатывать эффективные описания ролей, чтобы вызвать требуемое поведение или опыт.
- Подсказки для разбивки задач: изучите методы разбивки сложных задач на более мелкие, управляемые подзадачи в подсказках.
- Цепочки и последовательности подсказок: демонстрирует, как соединить несколько подсказок в логический поток, чтобы справиться со сложными многоэтапными задачами.
- Инженерия директив: фокусируется на разработке четких и эффективных директив для языковых моделей, балансируя между специфичностью и общностью для оптимизации производительности.
- Техники оптимизации подсказок: рассматриваются передовые методы улучшения подсказок, включая A/B-тестирование и итеративную оптимизацию на основе показателей эффективности.
- Работа с двусмысленностью и повышение ясности: изучение методов распознавания и решения двусмысленных вопросов, а также стратегий написания более четких и эффективных вопросов.
- Управление длиной и сложностью подсказок: изучите стратегии управления длинными или сложными подсказками, включая методы разбивки на части и подведения итогов.
- Негативные сигналы и избегание нежелательных результатов: показывает, как использовать негативные примеры и ограничения, чтобы увести модель от нежелательных реакций.
- Форматы и структуры подсказок: исследуются различные форматы подсказок и структурные элементы для оптимизации реакции модели ИИ.
- Подсказки для конкретных задач: сосредоточьтесь на разработке подсказок для конкретных задач, таких как конспекты, викторины, генерация кода и творческое письмо.
- Многоязычные и межъязыковые подсказки: изучите методы разработки подсказок, которые эффективно работают на нескольких языках, а также разработку подсказок для задач перевода.
- Этические соображения при разработке подсказок: этические аспекты предотвращения предвзятости и создания инклюзивных подсказок.
- Меры безопасности и защиты от оперативного вмешательства: рассказывается о методах предотвращения оперативного внедрения и фильтрации контента для обеспечения безопасности приложений ИИ.
- Оценка валидности подсказки: изучите методы оценки и измерения валидности подсказки, включая ручные и автоматизированные методы оценки.
Основные советы по подаче сигнала
Инженерия реплик включает в себя ряд приемов, направленных на оптимизацию взаимодействия с моделями ИИ. Эти базовые методы формируют основу для более сложных стратегий и являются необходимыми навыками для тех, кто хочет использовать весь потенциал инструментов генеративного ИИ.
Подсказки с нулевым образцом - это самая простая техника, т. е. задание инструкций или вопросов непосредственно ИИ без дополнительного контекста или примеров [1][2]. Такой подход подходит для простых задач или для быстрого получения ответов. Например, вопрос "Где находится столица Франции?" является подсказкой с нулевой выборкой.
Подсказки с одним образцом добавляют пример к подсказкам с нулевым образцом, чтобы направить реакцию ИИ [3]. Эта техника особенно полезна при работе с конкретными форматами или стилями. Например, для создания описания товара можно предоставить пример описания, а затем попросить создать другое описание для другого товара.
Подсказка "меньше примеров" расширяет эту концепцию, предоставляя ИИ несколько примеров [2]. Этот подход особенно эффективен при решении сложных задач или когда требуется согласованность вывода. Предоставляя несколько примеров требуемого формата или стиля вывода, ИИ может лучше понять и воспроизвести шаблоны.
Ролевые подсказки существенно влияют на тон и содержание ответа ИИ, назначая ему определенную роль или личность [1]. Например, указание ИИ "сыграть специалиста технической поддержки" перед тем, как задать вопрос, может привести к более техническому и поддерживающему ответу.
Рефрейминг подсказки - это техника, позволяющая направить ИИ на предоставление другой точки зрения или более тонкого ответа путем изменения формулировки или реструктуризации подсказки [3]. Этот подход особенно полезен, когда первоначальные результаты неудовлетворительны или когда необходимо изучить несколько аспектов темы. Например, вместо вопроса "Каковы преимущества возобновляемых источников энергии?" его можно переформулировать так: "Как возобновляемые источники энергии влияют на различные сектора экономики?".
Комбинация подсказок объединяет несколько инструкций или вопросов в одну комплексную подсказку [3]. Этот прием полезен для получения нескольких ответов или решения сложных вопросов. Например, объединение в одной подсказке вопросов "Объясните разницу между виртуальным и VPS-хостингом" и "Посоветуйте, какой хостинг больше подходит для небольших сайтов электронной коммерции" позволяет получить более полный и индивидуальный ответ.
Эти фундаментальные методы закладывают прочный фундамент для эффективной разработки подсказок, позволяя пользователям направлять модели ИИ на создание более точных, релевантных и полезных результатов в широком спектре приложений.
Продвинутая стратегия подачи сигнала
Продвинутые методы разработки подсказок используют более сложные методы для повышения производительности и расширения возможностей больших языковых моделей. Эти методы выходят за рамки базовых подсказок и направлены на достижение более сложных рассуждений и результатов, специфичных для конкретной задачи.
Подсказки для развития связного мышления (CoT)
Эта техника улучшает работу модели в сложных задачах рассуждения, предоставляя серию промежуточных этапов рассуждения. Когерентные сигналы мышления позволяют языковой модели разбивать сложные задачи на более мелкие и управляемые шаги, тем самым генерируя более точный и логичный результат.
самодостаточность
В качестве дополнения к CoT подход, основанный на самосогласованности, предполагает выборку нескольких путей рассуждений и выбор наиболее последовательного ответа. Этот подход особенно эффективен в задачах, где существует несколько правильных решений, поскольку позволяет модели исследовать несколько стратегий рассуждений, прежде чем определить наиболее надежный результат.
ReAct
ReAct Этот метод сочетает в себе рассуждения и действия, причем модель генерирует как процесс рассуждений, так и конкретные действия. Такой подход позволяет ИИ динамически планировать, выполнять и адаптировать свои действия, что делает его идеальным для сложных сценариев решения проблем, требующих взаимодействия с внешними источниками информации.
Мультимодальная инженерия подсказок
Эта передовая техника предполагает разработку подсказок, включающих несколько типов ввода, таких как текст, изображения и аудио. Используя различные типы данных, мультимодальные подсказки делают взаимодействие ИИ более целостным и контекстуально релевантным, имитируя человеческое восприятие и коммуникационные возможности.
Оптимизация оповещений в режиме реального времени
Эта новая технология обеспечивает немедленную обратную связь с валидностью подсказок, оценивая ясность, потенциальную предвзятость и соответствие подсказок желаемому результату. Такое руководство в режиме реального времени упрощает процесс составления подсказок как для новичков, так и для опытных пользователей.
Проактивные советы
Этот динамический подход позволяет адаптировать подсказки на основе взаимодействия с пользователем и обратной связи. Проактивные подсказки позволяют модели ИИ адаптировать свои ответы в режиме реального времени, тем самым повышая релевантность и достоверность результатов на протяжении всего взаимодействия.
Советы по получению знаний
Эта техника использует языковые модели для генерирования релевантных знаний перед ответом на вопрос, повышая эффективность их рассуждений на основе здравого смысла. Сначала генерируя релевантную информацию, а затем включая ее в ответ, модель может дать более глубокий и контекстуальный ответ.
Эти передовые методы представляют собой передний край инженерии кия, обеспечивая мощные инструменты для оптимизации работы ИИ в широком диапазоне областей применения и проблемных областей.
логическое мышление
Метод когерентного мышления (Coherent Thinking, CoT) - это передовой метод оперативной инженерии, предназначенный для расширения возможностей рассуждений больших языковых моделей. Метод предполагает генерирование нескольких путей рассуждений для данной проблемы и выбор наиболее последовательного или комплексного решения. Многократное выполнение CoT-рассуждений позволяет инженерам-разработчикам подсказок повысить способность модели решать задачи, требующие логического мышления и выполнения нескольких шагов.
Ключевые моменты рассуждений CoT
- декодирование автозаполнения: Выберите наиболее распространенные выводы в многочисленных рассуждениях.
- Советы на основе комплексности: Выберите результат с самой длинной цепочкой умозаключений.
- вмешательство человека: Корректируйте цепочку выводов с помощью ручной коррекции, если результаты выводов существенно противоречат друг другу.
- Повышение точности: Улучшение работы модели в задачах, связанных с рассуждениями, вычислениями и принятием решений.
Используя CoT-рассуждения, инженеры могут создавать более надежные и прочные системы ИИ, способные решать сложные задачи в самых разных областях.
Пример подсказки ReAct
Метод подсказок ReAct (Reasoning and Acting) - это высокоуровневая техника, объединяющая процессы рассуждения и действия, специфичные для конкретной задачи, для расширения возможностей решения задач большими языковыми моделями (LLM). Этот подход позволяет LLM попеременно генерировать лингвистические шаги рассуждения и выполнять действия, что приводит к более эффективному и динамичному решению проблем.
Типичный совет ReAct
- Мысль: Процесс рассуждения модели.
- Действие: Конкретная задача или запрос, который необходимо выполнить.
- Наблюдение: Результаты или информация, полученные в результате какого-либо действия.
типичный пример
вопросы: Как называется столица страны, в которой находится Эйфелева башня?
- размышления: Чтобы ответить на этот вопрос, мне нужно выяснить, где находится Эйфелева башня, а затем определить столицу этой страны.
- акт: Поиск "Расположение Эйфелевой башни".
- прислушаться: Эйфелева башня находится в Париже, Франция.
- размышления: Теперь, когда я знаю, что Эйфелева башня находится во Франции, мне нужно найти столицу Франции.
- актПоиск "столица Франции".
- прислушаться: Столица Франции - Париж.
- размышления: У меня есть вся необходимая информация для ответа на этот вопрос.
- акт: Предоставьте ответы.
- решение: Столица страны, в которой находится Эйфелева башня, - Париж, Франция.
Применение подсказки ReAct
- вопрос и ответ: Повышение способности моделей к декомпозиции сложных проблем и получению необходимой информации.
- Автоматизация задач: Проведите модель через многоступенчатый процесс, сочетая рассуждения и действия.
- Взаимодействие с внешними базами знаний: Позволяет модели получать и включать дополнительную информацию для поддержки своих рассуждений.
- Принятие решений: Улучшить способность моделей оценивать варианты и делать обоснованный выбор на основе имеющихся данных.
Реализовав подсказку ReAct, разработчики и исследователи смогут создавать более надежные и адаптируемые системы ИИ, способные решать сложные задачи рассуждения и реалистичные сценарии решения проблем.
Целенаправленная подача стимулов
Направленные стимулы (Directional Stimulus Prompting, DSP) - это инновационная система, позволяющая направлять большие языковые модели (LLM) на создание определенных желаемых результатов. Метод использует небольшую, настраиваемую стратегическую модель для создания вспомогательных направленных стимулов для каждого входного экземпляра, которые действуют как нюансы, направляющие LLM на создание желаемых результатов.
Ключевые особенности DSP
- Генерация ориентированных стимулов с помощью небольшой настраиваемой модели стратегии (например, T5).
- Оптимизация с помощью контролируемой тонкой настройки и интенсивного обучения.
- Может применяться для решения различных задач, включая составление резюме, генерацию диалоговых ответов и цепочечные рассуждения.
- Значительное повышение производительности при использовании ограниченного количества аннотационных данных, например, при использовании всего 80 диалогов, путем преобразования ChatGPT Производительность на наборе данных MultiWOZ улучшилась на 41,41 TP3T.
Используя DSP, исследователи и практики могут расширить возможности LLM без непосредственного изменения его параметров, обеспечивая гибкий и эффективный подход к разработке подсказок.
Подсказки для получения знаний
Генерирование знаний улучшает производительность моделей ИИ, предлагая им генерировать соответствующие факты перед ответом на вопрос или выполнением задачи. Этот двухэтапный процесс включает в себя генерацию знаний (когда модель генерирует релевантную информацию) и интеграцию знаний (когда эта информация используется для формирования более точных и контекстуальных ответов).
Ключевые преимущества
- Повышение точности и надежности контента, создаваемого ИИ.
- Улучшение контекстного понимания заданных тем.
- Способность привязывать ответы к фактической информации.
- Знания могут быть расширены за счет использования внешних источников, таких как API или базы данных.
Побуждая модель в первую очередь рассматривать релевантные факты, метод подсказок для генерации знаний помогает создавать более информативные и разумные результаты, особенно в сложных задачах или при работе со специализированными темами.
Подсказки по практическим инженерным техникам
Данное техническое руководство по проектированию наконечников полностью основано на NirDiamant Хранилище отличных практик. Авторские права на все содержимое и блокнот Jupyter принадлежат оригинальному хранилищу:Prompt Engineering.
Я добавляю это сюда, потому что это потрясающий учебный ресурс, полное авторское право Prompt Engineering Склад.
🌱 Основные понятия
- Профиль проекта Tip
Обзор 🔎
Подробное введение в концепции, лежащие в основе ИИ и разработки реплик языковых моделей.
Реализовано 🛠️
Сочетание теоретических объяснений с практическими демонстрациями, охватывающими фундаментальные концепции, структурированные подсказки, сравнительный анализ и приложения для решения проблем.
- Основная структура реплики
Обзор 🔎
Изучите две основные структуры подсказок: однораундовые подсказки и многораундовые подсказки (диалоги).
Реализовано 🛠️
Демонстрация одно- и многораундовых подсказок, шаблонов подсказок и диалоговых цепочек с использованием модели GPT OpenAI и LangChain.
- Шаблоны советов и переменные
Обзор 🔎
Описывается, как создавать и использовать шаблоны подсказок с переменными с помощью Python и шаблонизатора Jinja2.
Реализовано 🛠️
Создание шаблонов, вставка переменных, условное содержимое, обработка списков и интеграция с OpenAI API.
🔧 Основные технологии
- Наконечник для нулевой пробы
Обзор 🔎
Изучение сигналов нулевой выборки для того, чтобы языковые модели могли выполнять задачи без конкретных примеров или предварительного обучения.
Реализовано 🛠️
Демонстрация прямой постановки задачи, ролевых подсказок, спецификации формата и многоступенчатых выводов с помощью OpenAI и LangChain.
- Обучение без проб в сравнении с контекстным обучением
Обзор 🔎
Изучите примеры методов меньшего обучения и контекстного обучения с помощью моделей GPT OpenAI и библиотеки LangChain.
Реализовано 🛠️
Передовые методы реализации базового и продвинутого обучения с меньшим количеством примеров, контекстного обучения, а также выбора и оценки примеров.
- Советы по цепному мышлению (CoT)
Обзор 🔎
Внедрение подсказок Chain Thinking (CoT) для управления моделями ИИ при разбиении сложных проблем на пошаговые процессы рассуждений.
Реализовано 🛠️
Охватывает основные и продвинутые техники CoT, применяет их к различным сценариям решения проблем и сравнивает со стандартными подсказками.
🔍 Продвинутая стратегия
- Самосогласованность и многопутевые рассуждения
Обзор 🔎
Изучите методы создания различных путей вывода и агрегирования результатов для повышения качества ответов, генерируемых ИИ.
Реализовано 🛠️
Демонстрируйте разработку разнообразных подсказок для умозаключений, генерирование нескольких ответов, применение методов агрегирования и проверки на самосогласованность.
- Ограниченная и бутстрапная генерация
Обзор 🔎
Основное внимание уделяется методам наложения ограничений на выходные данные модели и реализации генерации на основе правил.
Реализовано 🛠️
Используйте шаблон PromptTemplate от LangChain, чтобы создавать структурированные подсказки, накладывать ограничения и изучать методы генерации на основе правил.
- Советы по выбору персонажа
Обзор 🔎
Изучите методы назначения определенных ролей для моделей ИИ и разработки эффективных описаний ролей.
Реализовано 🛠️
Продемонстрируйте создание ролевых подсказок, назначение ролей моделям ИИ и оптимизацию описания ролей для различных сценариев.
🚀 Продвинутая реализация
- Советы по разбивке задач
Обзор 🔎
Изучите приемы разбиения сложных задач на части и соединения подзадач в подсказках.
Реализовано 🛠️
Включает в себя анализ проблемы, определение подзадач, разработку подсказок к цели, последовательное выполнение и обобщение результатов.
- Цепочка реплик и сериализация
Обзор 🔎
Продемонстрируйте, как соединить несколько подсказок и построить логические потоки для сложных задач, управляемых искусственным интеллектом.
Реализовано 🛠️
Изучите основные цепочки подсказок, последовательные подсказки, динамическую генерацию подсказок и обработку ошибок в цепочках подсказок.
- командная инженерия
Обзор 🔎
Сосредоточьтесь на разработке четких и эффективных инструкций для языковых моделей, соблюдая баланс между конкретностью и обобщенностью.
Реализовано 🛠️
Создание и оптимизация инструкций, опробование различных структур и итеративное совершенствование на основе откликов моделей.
🎨 Оптимизация и совершенствование
- Методы оптимизации реплик
Обзор 🔎
Изучите передовые методы оптимизации подсказок с упором на A/B-тестирование и итеративное улучшение.
Реализовано 🛠️
Продемонстрируйте оперативное A/B-тестирование, процесс итеративного улучшения и оценку эффективности с помощью соответствующих показателей.
- Устранение двусмысленности и повышение ясности
Обзор 🔎
В центре внимания - техники распознавания и решения двусмысленных вопросов и составления более четких вопросов.
Реализовано 🛠️
Включает анализ двусмысленных подсказок, применение стратегий разрешения двусмысленности и изучение техник написания более четких подсказок.
- Управление длиной и сложностью реплик
Обзор 🔎
Изучите методы управления длиной и сложностью запроса при использовании больших языковых моделей.
Реализовано 🛠️
Демонстрировать приемы, позволяющие сбалансировать детализацию и краткость, а также стратегии работы с длинными контекстами, включая разбивку на части, обобщение и итеративную обработку.
🛠️ Специализированные приложения
- Негативные сигналы и избегание неожиданного выхода
Обзор 🔎
Изучение негативных сигналов и методов предотвращения нежелательного вывода больших языковых моделей.
Реализовано 🛠️
Включает базовые негативные примеры, явные исключения, реализацию ограничений с помощью LangChain, а также методы оценки и улучшения негативных подсказок.
- Форматирование и структура реплик
Обзор 🔎
Изучите различные форматы подсказок и структурные элементы и продемонстрируйте их влияние на реакцию модели ИИ.
Реализовано 🛠️
Продемонстрируйте создание нескольких форматов подсказок, интеграцию структурных элементов и сравнение реакций на различные структуры подсказок.
- Советы по выполнению конкретной задачи
Обзор 🔎
Изучите создание и использование подсказок для выполнения конкретных задач, таких как составление краткого содержания текста, викторины, генерация кода и написание творческих работ.
Реализовано 🛠️
Это включает в себя разработку шаблонов подсказок для конкретных задач, их реализацию с помощью LangChain, выполнение с образцами входных данных и анализ результатов для каждого типа задач.
🌍 Расширенные приложения
- Многоязычные и межъязыковые подсказки
Обзор 🔎
Изучение методов разработки эффективных подсказок для многоязычных задач и задач языкового перевода.
Реализовано 🛠️
Сюда входит создание многоязычных подсказок, реализация функции определения и адаптации языка, разработка межъязыковых подсказок, работа с различными системами письма и наборами символов.
- Этические соображения при создании кия
Обзор 🔎
Изучите этические аспекты разработки подсказок, уделяя особое внимание тому, как избежать предвзятости и создать инклюзивные и справедливые подсказки.
Реализовано 🛠️
Включает методы выявления предвзятости в подсказках, реализацию стратегий создания инклюзивных подсказок, а также оценку и повышение этического качества результатов ИИ.
- Советы Безопасность и защита
Обзор 🔎
Рассказывается о том, как предотвратить внедрение подсказок и реализовать фильтрацию содержимого в подсказках для обеспечения безопасности приложений искусственного интеллекта.
Реализовано 🛠️
Включает в себя методы предотвращения оперативного внедрения, реализацию контентной фильтрации и тестирование эффективности мер безопасности.
- Оценка эффективности подсказок
Обзор 🔎
Изучите методы и способы оценки достоверности подсказок языковой модели ИИ.
Понимание API Большой языковой модели (LLM)
Давайте обсудим API Large Language Model (LLM).
Есть несколько способов использовать API: один из них - отправить прямой HTTP-запрос, а другой - установить официальный пакет OpenAI через pip, который всегда обновляется с помощью новейших функций.
pip install openai
Поскольку этот формат API настолько популярен, многие другие провайдеры предлагают API в том же формате, который называется "совместимым с OpenAI".
Список поставщиков, предлагающих API, совместимые с OpenAI
Ниже приведен список поставщиков, которые совместимы с OpenAI API, и разработчики могут воспользоваться этими услугами аналогично тому, что предоставляет OpenAI:
- Groq
- Groq Большинство предоставляемых API совместимы с клиентскими библиотеками OpenAI. Пользователям нужно только изменить
base_url
и использовать API-ключ Groq для настройки своих приложений для работы на Groq.
- Groq Большинство предоставляемых API совместимы с клиентскими библиотеками OpenAI. Пользователям нужно только изменить
- Мистраль ИИ
- Мистраль Предоставляет API, поддерживающий OpenAI-совместимые запросы, что позволяет разработчикам получать доступ к различным моделям через этот сервис.
- Обнимающееся лицо
- Hugging Face предоставляет доступ к большому количеству моделей через API, настроенный аналогично API OpenAI. Hugging Face известен своей большой библиотекой моделей.
- Google Vertex AI
- Google Vertex AI позволяет пользователям взаимодействовать с большими языковыми моделями в соответствии с API OpenAI.
- Microsoft Azure OpenAI
- Microsoft предоставляет доступ к моделям OpenAI через свою платформу Azure для простой интеграции с существующими сервисами Azure.
- Антропология
- Антропология Доступ к моделям также осуществляется через API, имитирующий структуру OpenAI, что позволяет осуществлять аналогичное взаимодействие.
Эти провайдеры позволяют разработчикам использовать различные возможности ИИ, сохраняя при этом совместимость с привычной структурой API OpenAI, что облегчает интеграцию в приложения и рабочие процессы.
Существуют также провайдеры, использующие различные архитектуры и типы API, но мы можем использовать что-то вроде litellm Такая клиентская библиотека предоставляет единый клиентский пакет для различных типов больших языковых моделей.
Кроме того, такие как Портключ Такой шлюз предоставляет OpenAI-совместимые API для любой большой языковой модели.
В этой статье вы узнаете о различных параметрах API.
Основные параметры
Температура
- описанияПараметр : Temperature управляет случайностью выходных данных модели, варьируясь от 0 до 2.
- влиять (обычно негативно):
- Низкое значение (0-0,3): Результаты более детерминированы и сфокусированы, часто повторяются похожие ответы.
- Средний (0,4-0,7):: Найдите баланс между креативностью и последовательностью.
- Высокое значение (0,8-2): Генерируют более разнообразные и творческие результаты, но могут давать бессмысленные результаты.
- типичный пример:
response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "完成句子:'幸福的关键是'。"}], temperature=1 )
Top_p
- описанияЭтот параметр обеспечивает выборку ядер, при которой модель учитывает только самые высокие
p
Вероятностное качество вывода. - царство: От 0 до 1, меньшие значения ограничивают вывод более вероятным Токеном.
- типичный пример:
response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "写一首诗。"}], top_p=0.9 )
Максимальное количество жетонов
- описания: Определите максимальное количество Токен Количество (слов или частей слов).
- значение по умолчанию: Для большинства моделей обычно устанавливается максимальное значение 4096 Token.
- типичный пример:
response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "讲一个故事。"}], max_tokens=150 )
Вызов функции
- описания: Эта функция позволяет модели взаимодействовать с внешними API или сервисами, вызывая предопределенные функции на основе пользовательского ввода.
- типичный пример:
functions = [ { "name": "get_current_weather", "description": "获取某地的当前天气。", "parameters": { "type": "object", "properties": { "location": {"type": "string"}, "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]} }, "required": ["location"] } } ] response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "纽约的天气如何?"}], functions=functions, function_call={"name": "get_current_weather"} )
Роли в вызовах API
Понимание ролей, участвующих в вызове API, помогает эффективно структурировать взаимодействие.
Роль в системе
- гол: Предоставляет инструкции высокого уровня или контекст, который направляет поведение модели в ходе диалога.
- использование: Задается в начале массива сообщений для установления тона или правил взаимодействия.
- типичный пример::
messages = [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "What can you do?"} ]
роль пользователя
- гол: представляет собой ввод данных от пользователя, направляя диалог с помощью запросов или подсказок.
- использование: Чаще всего используется во взаимодействии, чтобы задавать вопросы или делать заявления.
- типичный пример::
{"role": "user", "content": "Can you explain how OpenAI works?"}
Роль помощника
- гол: представляет собой отклик, генерируемый моделью на основе входных данных пользователя и команд системы.
- использование: При ответе на запрос пользователя модель автоматически принимает на себя эту роль.
- типичный пример::
{"role": "assistant", "content": "OpenAI uses advanced machine learning techniques to generate text."}
Другие параметры
поток (воды и т.д.)
- описания: Если установлено значение true, разрешает потоковую передачу при генерации частичных ответов, для приложений реального времени.
Logprobs
- описания: Возвращает логарифмическую вероятность предсказания Токена, которая используется для понимания поведения модели и улучшения результатов.
резюме
API OpenAI предоставляет мощный набор параметров и ролей, которые разработчики могут использовать для создания высокоинтерактивных приложений. Настраивая такие параметры, как температура, и эффективно используя структурированные роли, пользователи могут адаптировать ответы к конкретным потребностям, обеспечивая при этом ясность и контроль над диалогом.
Ниже приведены примеры использования API различных провайдеров, совместимых с OpenAI, а также примеры применения облегченной модели большого языка (LLM).
Пример использования OpenAI API совместимого провайдера
1. Groq
Чтобы использовать API Groq, необходимо задать базовый URL и предоставить ключ API Groq.
import os
import openai
client = openai.OpenAI(
base_url="https://api.groq.com/openai/v1",
api_key=os.environ.get("GROQ_API_KEY")
)
response = client.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Tell me a joke."}]
)
print(response.choices[0].message['content'])
2. Мистраль ИИ
Мистраль ИИ Он также предоставляет API, совместимый с OpenAI, и вот как его использовать:
import requests
url = "https://api.mistral.ai/v1/chat/completions"
headers = {
"Authorization": f"Bearer {os.environ.get('MISTRAL_API_KEY')}",
"Content-Type": "application/json"
}
data = {
"model": "mistral-7b",
"messages": [{"role": "user", "content": "What is the capital of France?"}]
}
response = requests.post(url, headers=headers, json=data)
print(response.json()['choices'][0]['message']['content'])
3. Обнимающееся лицо
Для использования API Hugging Face требуются токены доступа. Ниже приведен пример кода:
import requests
url = "https://api-inference.huggingface.co/models/gpt2"
headers = {
"Authorization": f"Bearer {os.environ.get('HUGGINGFACE_API_KEY')}"
}
data = {
"inputs": "Once upon a time in a land far away,"
}
response = requests.post(url, headers=headers, json=data)
print(response.json()[0]['generated_text'])
4. Google Vertex AI
Следующий код можно использовать для взаимодействия с Google Vertex AI:
from google.cloud import aiplatform
aiplatform.init(project='your-project-id', location='us-central1')
response = aiplatform.gapic.PredictionServiceClient().predict(
endpoint='projects/your-project-id/locations/us-central1/endpoints/your-endpoint-id',
instances=[{"content": "Who won the World Series in 2020?"}],
)
print(response.predictions)
5. Microsoft Azure OpenAI
Ниже приведен пример кода, вызывающего службу OpenAI в Azure:
import requests
url = f"https://your-resource-name.openai.azure.com/openai/deployments/your-deployment-name/chat/completions?api-version=2023-05-15"
headers = {
"Content-Type": "application/json",
"api-key": os.environ.get("AZURE_OPENAI_API_KEY")
}
data = {
"messages": [{"role": "user", "content": "What's the weather today?"}],
"model": "gpt-35-turbo"
}
response = requests.post(url, headers=headers, json=data)
print(response.json()['choices'][0]['message']['content'])
6. Антропология
Использование антропного Клод Пример кода для модели и ее API показан ниже:
import requests
url = "https://api.anthropic.com/v1/complete"
headers = {
"Authorization": f"Bearer {os.environ.get('ANTHROPIC_API_KEY')}",
"Content-Type": "application/json"
}
data = {
"model": "claude-v1",
"prompt": "Explain quantum physics in simple terms.",
}
response = requests.post(url, headers=headers, json=data)
print(response.json()['completion'])
Пример показывает, как эффективно использовать облегченную модель, добиваясь значимого результата в задаче генерации текста.
Источник:
https://www.coltsteele.com/tips/understanding-openai-s-temperature-parameter
https://community.make.com/t/what-is-the-difference-between-system-user-and-assistant-roles-in-chatgpt/36160
https://arize.com/blog-course/mastering-openai-api-tips-and-tricks/
https://learn.microsoft.com/ko-kr/Azure/ai-services/openai/reference
https://community.openai.com/t/the-system-role-how-it-influences-the-chat-behavior/87353
https://community.openai.com/t/understanding-role-management-in-openais-api-two-methods-compared/253289
https://platform.openai.com/docs/advanced-usage
https://platform.openai.com/docs/api-reference
https://console.groq.com/docs/openai
https://docs.jabref.org/ai/ai-providers-and-api-keys
https://www.reddit.com/r/LocalLLaMA/comments/16csz5n/best_openai_api_compatible_application_server/
https://docs.gptscript.ai/alternative-model-providers
https://towardsdatascience.com/how-to-build-an-openai-compatible-api-87c8edea2f06?gi=5537ceb80847
https://modelfusion.dev/integration/model-provider/openaicompatible/
https://docs.jabref.org/ai/ai-providers-and-api-keys
https://docs.gptscript.ai/alternative-model-providers
https://console.groq.com/docs/openai
Tip Project Primer II (Вызовы функций)
Для загрузки необходимы следующие библиотеки, инструменты и конфигурации.
https://colab.research.google.com/github/adithya-s-k/AI-Engineering.academy/blob/main/PromptEngineering/function_calling.ipynb
Начало работы с Cue Engineering
Для загрузки необходимы следующие библиотеки, инструменты и конфигурации.
https://colab.research.google.com/github/adithya-s-k/AI-Engineering.academy/blob/main/PromptEngineering/prompt_engineering.ipynb
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...