Шаблон промпта (Prompt Template)
Описание
Используйте базовый компонент Prompt Template для создания промпта, который передает инструкции и контекст языковой модели (LLM) или агенту отдельно от других входных данных, таких как сообщения чата или загруженные файлы.
Промпты представляют собой структурированные входные данные, использующие естественный язык, фиксированные значения и динамические переменные для создания базового контекста для LLM. Например, они позволяют:
- Определить постоянную структуру пользовательских запросов, чтобы модели было легче понимать их и отвечать соответствующим образом.
- Задать специфический формат вывода для модели, например JSON или структурированный текст.
- Назначить роль для LLM, например: «You are a helpful assistant» или «You are an expert in microbiology».
- Позволить модели обращаться к памяти чата.
Компонент Prompt Template также может передавать инструкции в виде переменных другим компонентам, находящимся далее по потоку.
Параметры компонента
| Название (Name) | Отображаемое имя | Описание (Description) |
|---|---|---|
template | Template | Входной параметр. Создайте шаблон промпта с динамическими переменными в фигурных скобках, например {VARIABLE_NAME}. Если ваш шаблон содержит обычный текст с фигурными скобками, используйте двойные скобки {{...}}, чтобы избежать их интерпретации как переменных. |
prompt | Prompt Message | Выходной параметр. Сформированное сообщение промпта, возвращаемое методом build_prompt. |
Определение переменных в промптах
Переменные в компоненте Prompt Template динамически добавляют поля в сам компонент. Это позволяет вашему потоку получать значения для этих полей из других компонентов, глобальных переменных Langflow или фиксированного ввода.
Например, при использовании компонента Message History вы можете использовать переменную {memory} для передачи истории чата в промпт. Однако стоит помнить, что компонент Agent уже включает в себя встроенную память чата, активированную по умолчанию.
Как добавить переменные в компонент Prompt Template
- Создайте поток на основе шаблона Basic Prompting.
- Этот шаблон уже содержит компонент Prompt Template, но он включает только текстовые инструкции без переменных. Такой промпт определяет роль LLM, но не может динамически адаптироваться к изменяющемуся контексту.
- Добавьте переменные в поле Template:
- Переменные объявляются путем заключения имени переменной в фигурные скобки, например
{имя_переменной}. - Пример шаблона с переменными
contextиuser_question:
Учитывая контекст:
{context}
Ответь на вопрос:
{user_question}. - Если ваш шаблон должен содержать обычные фигурные скобки как текст, используйте двойные скобки
{{...}}, чтобы система не приняла их за переменную.
- Переменные объявляются путем заключения имени переменной в фигурные скобки, например
- Нажмите Check & Save, чтобы сохранить шаблон.
- После сохранения для каждой переменной в компоненте Prompt Template появятся новые входные поля.
- Укажите данные для полей переменных:
- Подключите поля к другим компонентам, чтобы передавать их вывод в переменные.
- Используйте глобальные переменные конструктора.
- Введите фиксированные значения напрямую в поля.
Вы можете добавлять неограниченное количество переменных, таких как {references} или {instructions}, и наполнять их данными из таких компонентов, как Text Input, URL или Read File.