Перейти к содержанию

← Применение

Промпт-инжиниринг / Применение

Функции промптов: как создать свой набор инструментов для GPT

Представьте, что вы общаетесь с GPT не как с собеседником, а как с исполнителем команд. Вы можете создать для него набор четких инструкций - «функций» - с уникальными названиями. Когда вы «вызываете» функцию, передавая ей входные данные, модель выполняет задачу строго по заданному правилу. Это похоже на создание собственной библиотеки инструментов внутри чата: вы определяете шаги, а GPT становится вашим автоматизированным помощником.

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

Но прежде чем использовать функцию, нужно «объяснить» ее GPT. Для этого используется специальный шаблон - «мета-промпт». Он задает формат, в котором вы будете описывать все будущие функции.

Промпт:

Hello, ChatGPT! I hope you are doing well. I am reaching out to you for assistance with a specific function. I understand that you have the capability to process information and perform various tasks based on the instructions provided. In order to help you understand my request more easily, I will be using a template to describe the function, input, and instructions on what to do with the input. Please find the details below:

function_name: [Function Name]
input: [Input]
rule: [Instructions on how to process the input]

I kindly request you to provide the output for this function, based on the details I have provided. Your assistance is greatly appreciated. Thank you!
I will replace the text inside the brackets with the relevant information for the function I want you to perform. This detailed introduction should help you understand my request more efficiently and provide the desired output. The format is function_name(input) If you understand, just answer one word with ok.

Этот промпт был проверен на GPT-3.5 и работает еще лучше на GPT-4. После того как модель ответит «ok», она готовка принимать ваши функции в заданном формате.

Практические примеры использования функций

Создание ассистента для изучения английского

Допустим, вы хотите использовать GPT для практики английского языка. Вместо того чтобы каждый раз писать длинные инструкции для переводов или улучшения текста, вы создаете набор функций.

После отправки мета-промпта, вы определяете первую функцию trans_word для перевода текста на английский.

Промпт:

function_name: [trans_word]
input: ["text"]
rule: [I want you to act as an English translator, spelling corrector and improver. I will provide you with input forms including "text" in any language and you will detect the language, translate it and answer in the corrected of my text, in English.]

Затем можно добавить функцию expand_word для литературного расширения текста без изменения смысла.

Промпт:

function_name: [expand_word]
input: ["text"]
rule: [Please serve as a Chatterbox, spelling corrector, and language enhancer. I will provide you with input forms including "text" in any language, and output the original language.I want you to Keep the meaning same, but make them more literary.]

И функцию fix_english для улучшения лексики и грамматики текста, делая его более естественным и элегантным.

Промпт:

function_name: [fix_english]
input: ["text"]
rule: [Please serve as an English master, spelling corrector, and language enhancer. I will provide you with input forms including "text", I want you to improve the text's vocabulary and sentences with more natural and elegent. Keep the meaning same.]

Теперь вы можете вызывать функции по отдельности или соединять их в цепочку, как в программировании.

Промпт:

trans_word('婆罗摩火山处于享有“千岛之国”美称的印度尼西亚. 多岛之国印尼有4500座之多的火山, 世界著名的十大活火山有三座在这里.')
fix_english('Finally, you can run the function independently or chain them together.')
fix_english(expand_word(trans_word('婆罗摩火山处于享有“千岛之国”美称的印度尼西亚. 多岛之国印尼有4500座之多的火山, 世界著名的十大活火山有三座在这里.')))

Такой формат делает рабочий процесс понятным: каждая функция имеет имя, входные данные и правило обработки. Это особенно полезно для рутинных задач, например, для подготовки контента или проверки документов.

Совет: Если вам нужен только результат без дополнительных комментариев модели, добавьте после описания правила функции строгое указание:

DO NOT SAY THINGS ELSE OK, UNLESS YOU DONT UNDERSTAND THE FUNCTION

Функция с несколькими параметрами

Функции могут принимать несколько аргументов. Например, создадим генератор паролей pg, который использует пять параметров для создания сложного пароля.

Промпт:

function_name: [pg]
input: ["length", "capitalized", "lowercase", "numbers", "special"]
rule: [I want you to act as a password generator for individuals in need of a secure password. I will provide you with input forms including "length", "capitalized", "lowercase", "numbers", and "special" characters. Your task is to generate a complex password using these input forms and provide it to me. Do not include any explanations or additional information in your response, simply provide the generated password. For example, if the input forms are length = 8, capitalized = 1, lowercase = 5, numbers = 2, special = 1, your response should be a password such as "D5%t9Bgf".]

Вызывать функцию можно с явным указанием параметров или просто передавая значения по порядку.

pg(length = 10, capitalized = 1, lowercase = 5, numbers = 2, special = 1)
pg(10,1,5,2,1)

Как это использовать в реальной работе

Существуют мощные проекты для программирования взаимодействия с GPT, такие как GitHub Copilot, LangChain или Marvin. Но они часто требуют навыков программирования или являются частью коммерческих продуктов.

Для обычного пользователя, который хочет автоматизировать свои ежедневные задачи в ChatGPT, YandexGPT или GigaChat, подход с функциями через мета-промпт - это простой и практичный способ. Вы можете: 1. Определить набор функций для своих повторяющихся задач (например, генерация ответов на типовые запросы клиентов, проверка текстов договоров, составление планов мероприятий). 2. Сохранить их в заметках или текстовом файле как свою «библиотеку промптов». 3. При каждом новом чате сначала отправлять мета-промпт, затем свои функции - и работать с ними как с готовыми инструментами.

Этот метод также можно использовать в некоторых открытых клиентах для ChatGPT, которые позволяют добавлять предифинированные промпты перед началом диалога. Таким образом, вы создаете персонализированную среду для работы с моделью, повышая свою эффективность без сложного кода.

Попробуйте ENGRAM на своих данных

Нейросеть на ваших встречах, документах и переписке: отвечает со ссылкой на источник. Это ваша вторая память на базе ИИ. Данные хранятся в России, старт бесплатный.

Зарегистрироваться бесплатно
Обучаем команды работе с нейросетями под ваши процессы. Узнать о корпоративном обучении