Системные инструкции — это своего рода «преамбула», которую вы добавляете перед тем, как модель получит дальнейшие инструкции от конечного пользователя. Они позволяют вам управлять поведением модели в соответствии с вашими конкретными потребностями и вариантами использования.
Задавая системную инструкцию, вы предоставляете модели дополнительный контекст для понимания задачи, предоставления более персонализированных ответов и соблюдения конкретных правил при всём взаимодействии пользователя с моделью. В системных инструкциях можно задать поведение на уровне продукта, отдельно от подсказок, предоставляемых конечными пользователями. Например, можно включить такие элементы, как роль или персону, контекстную информацию и инструкции по форматированию.
Вы можете использовать системные инструкции разными способами, включая:
- Определение персоны или роли (например, для чат-бота)
- Определение формата вывода (Markdown, YAML и т. д.)
- Определение стиля и тона выходных данных (например, многословность, формальность и целевой уровень чтения)
- Определение целей или правил для задачи (например, возврат фрагмента кода без дополнительных пояснений)
- Предоставление дополнительного контекста для подсказки (например, предельный уровень знаний)
Когда задана системная инструкция, она применяется ко всему запросу. Она действует для нескольких ходов пользователя и модели, если включена в подсказку. Хотя системные инструкции отделены от содержимого подсказки, они по-прежнему являются частью ваших общих подсказок и, следовательно, регулируются стандартными политиками использования данных.
Системные инструкции поддерживаются всеми моделями Gemini . Модели Imagen 3 их не поддерживают.
Установить системные инструкции
Щелкните своего поставщика API Gemini , чтобы просмотреть специфичный для этого поставщика контент и код на этой странице. |
Установить системные инструкции для общих случаев использования
Быстрый
Вы указываете systemInstruction
при создании экземпляра GenerativeModel
.
import FirebaseAI
// Specify the system instructions as part of creating the `GenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
modelName: "GEMINI_MODEL_NAME",
systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko.")
)
Kotlin
Вы указываете systemInstruction
при создании экземпляра GenerativeModel
.
// Specify the system instructions as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
modelName = "GEMINI_MODEL_NAME",
systemInstruction = content { text("You are a cat. Your name is Neko.") }
)
Java
Вы указываете systemInstruction
при создании экземпляра GenerativeModel
.
// Specify the system instructions as part of creating the `GenerativeModel` instance
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
/* modelName */ "GEMINI_MODEL_NAME",
/* generationConfig (optional) */ null,
/* safetySettings (optional) */ null,
/* requestOptions (optional) */ new RequestOptions(),
/* tools (optional) */ null,
/* toolsConfig (optional) */ null,
/* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
);
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
Вы указываете systemInstruction
при создании экземпляра GenerativeModel
.
// ...
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Specify the system instructions as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, {
model: "GEMINI_MODEL_NAME",
systemInstruction: "You are a cat. Your name is Neko."
});
Dart
Вы указываете systemInstruction
при создании экземпляра GenerativeModel
.
// ...
// Specify the system instructions as part of creating the `GenerativeModel` instance
final model = FirebaseAI.googleAI().generativeModel(
model: 'GEMINI_MODEL_NAME',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);
// ...
Единство
Вы указываете systemInstruction
при создании экземпляра GenerativeModel
.
// ...
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Specify the system instructions as part of creating the `GenerativeModel` instance
var model = ai.GetGenerativeModel(
modelName: "GEMINI_MODEL_NAME",
systemInstruction: ModelContent.Text("You are a cat. Your name is Neko.")
);
Установите системные инструкции для Gemini Live API
Примеры
Вот несколько примеров системных подсказок, определяющих ожидаемое поведение модели.
Генерация кода
- Система: Вы — эксперт по кодированию, специализирующийся на рендеринге кода для фронтенд-интерфейсов. Когда я описываю компонент веб-сайта, который хочу создать, пожалуйста, верните HTML и CSS, необходимые для этого. Не давайте пояснений к этому коду. Также предложите несколько советов по дизайну пользовательского интерфейса.
- Пользователь: Создайте блок в центре страницы, содержащий чередующиеся изображения с подписью к каждому. Изображение в центре страницы должно иметь тень позади, чтобы выделяться. Оно также должно ссылаться на другую страницу сайта. Оставьте поле URL пустым, чтобы я мог его заполнить.
Генерация форматированных данных
Система: Вы — помощник домашнего повара. Вы получаете список ингредиентов и отвечаете списком рецептов, в которых они используются. Рецепты, не требующие дополнительных ингредиентов, всегда следует перечислять перед рецептами, в которых они требуются.
Ваш ответ должен представлять собой JSON-объект, содержащий 3 рецепта. Объект рецепта имеет следующую схему:
- имя: Название рецепта
- Используемые ингредиенты: ингредиенты в рецепте, указанные в списке.
- otherIngredients: Ингредиенты в рецепте, которые не были указаны в списке (исключаются, если других ингредиентов нет)
- Описание: Краткое описание рецепта, написанное в позитивном ключе, как будто для того, чтобы его продать.
Пользователь:
- 1 фунт замороженной брокколи
- 1 пинта жирных сливок
- 1 фунт сырных кончиков и кусочков
Музыкальный чат-бот
- Система: Вы будете отвечать как музыковед, демонстрируя глубокие познания в различных музыкальных жанрах и приводя соответствующие примеры. Ваш тон будет оптимистичным и воодушевлённым, вы будете дарить радость музыки. Если вопрос не связан с музыкой, ответ должен быть: «Это выше моих познаний».
- Пользователь: Если человек родился в шестидесятых, какой музыкальный жанр был самым популярным? Перечислите пять песен по пунктам.
Другие варианты управления генерацией контента
- Узнайте больше о разработке подсказок , чтобы вы могли влиять на модель и генерировать выходные данные, соответствующие вашим потребностям.
- Настройте параметры модели , чтобы управлять её генерацией. Для моделей Gemini к этим параметрам относятся максимальное количество выходных токенов, температура, topK и topP. Для моделей Imagen к ним относятся соотношение сторон, генерация персон, наложение водяных знаков и т. д.
- Используйте настройки безопасности , чтобы отрегулировать вероятность получения ответов, которые могут считаться вредоносными, включая высказывания, разжигающие ненависть, и материалы откровенно сексуального характера.
- Передайте схему ответа вместе с запросом на указание конкретной схемы выходных данных. Эта функция чаще всего используется при генерации выходных данных JSON , но её также можно использовать для задач классификации (например, когда требуется, чтобы модель использовала определённые метки или теги).