From 094190d21cb24b3ac736f7ecb00db2255fece505 Mon Sep 17 00:00:00 2001 From: ThunderCat Date: Fri, 26 Jan 2024 22:24:59 +0300 Subject: [PATCH 1/5] Update prompt_chaining.ru.mdx --- pages/techniques/prompt_chaining.ru.mdx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pages/techniques/prompt_chaining.ru.mdx b/pages/techniques/prompt_chaining.ru.mdx index c6ddc4f..dfbc18f 100644 --- a/pages/techniques/prompt_chaining.ru.mdx +++ b/pages/techniques/prompt_chaining.ru.mdx @@ -1,3 +1,13 @@ -# Prompt Chaining +# Создание цепочек промптов -This page needs a translation! Feel free to contribute a translation by clicking the `Edit this page` button on the right side. \ No newline at end of file +## Введение в Создание цепочек промптов + +Для повышения надежности и производительности LLM, Одним из важных приемов промпт-инжиниринга является разбиение задачи на подзадачи. После того как эти подзадачи определены, для LLM предлогаются подзадачи, а затем ее ответ используется в качестве входных данных для другого запроса. Это то, что называется Prompt Chaining, когда задача разбивается на подзадачи с целью создания цепочки операций промптов. + +Создание цепочек промтов полезно для решения сложных задач, которые LLM может с трудом решить, если будет предложено очень подробное промпт. При создание цепочки прмптов цепочки промптов выполняют преобразования или дополнительные процессы над сгенерированными ответами, прежде чем достичь конечного желаемого состояния. + +Помимо повышения производительности, цепочки промптов помогают повысить прозрачность вашего применения LLM, повышает управляемость и надежность. Это означает, что вы можете гораздо проще отлаживать проблемы с ответами модели, а также анализировать и улучшать производительность на различных этапах, которые нуждаются в улучшении. + +Цепочка промптов особенно полезна при создании диалоговых помощников на базе LLM и улучшении персонализации и пользовательского опыта ваших приложений. + +This page needs a translation! Feel free to contribute a translation by clicking the `Edit this page` button on the right side. From 7bd0db9cc57722f26de0023b2decf7fd6d075d50 Mon Sep 17 00:00:00 2001 From: ThunderCat Date: Fri, 26 Jan 2024 23:00:11 +0300 Subject: [PATCH 2/5] Update prompt_chaining.ru.mdx --- pages/techniques/prompt_chaining.ru.mdx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pages/techniques/prompt_chaining.ru.mdx b/pages/techniques/prompt_chaining.ru.mdx index dfbc18f..c5ea43c 100644 --- a/pages/techniques/prompt_chaining.ru.mdx +++ b/pages/techniques/prompt_chaining.ru.mdx @@ -10,4 +10,14 @@ Цепочка промптов особенно полезна при создании диалоговых помощников на базе LLM и улучшении персонализации и пользовательского опыта ваших приложений. +## Случаи использования Создания цепочек промптов + +### Создание цепочек промптов для контроля качества документа + +Цепочки промптов могут использоваться в различных сценариях, которые могут включать несколько операций или преобразований. Например, один из распространенных вариантов использования LLM предполагает ответы на вопросы о большом текстовом документе. + +Вам поможет, если вы создадите два разных промпт, где первое промпт отвечает за извлечение соответствующих цитат для ответа на вопрос, а второй промпт принимает в качестве входных данных цитаты и исходный документ для ответа на заданный вопрос. Другими словами, вы создадите две разных промпта для выполнения ответа на вопрос о документе. + + + This page needs a translation! Feel free to contribute a translation by clicking the `Edit this page` button on the right side. From 5e34a50735678ffe4c4d222e2b545841c337c81c Mon Sep 17 00:00:00 2001 From: ThunderCat Date: Fri, 26 Jan 2024 23:11:39 +0300 Subject: [PATCH 3/5] Update prompt_chaining.ru.mdx --- pages/techniques/prompt_chaining.ru.mdx | 37 ++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/pages/techniques/prompt_chaining.ru.mdx b/pages/techniques/prompt_chaining.ru.mdx index c5ea43c..84b2362 100644 --- a/pages/techniques/prompt_chaining.ru.mdx +++ b/pages/techniques/prompt_chaining.ru.mdx @@ -1,5 +1,8 @@ # Создание цепочек промптов +import {Screenshot} from 'components/screenshot' +import PC1 from '../../img/prompt_chaining/prompt-chaining-1.png' + ## Введение в Создание цепочек промптов Для повышения надежности и производительности LLM, Одним из важных приемов промпт-инжиниринга является разбиение задачи на подзадачи. После того как эти подзадачи определены, для LLM предлогаются подзадачи, а затем ее ответ используется в качестве входных данных для другого запроса. Это то, что называется Prompt Chaining, когда задача разбивается на подзадачи с целью создания цепочки операций промптов. @@ -18,6 +21,38 @@ Вам поможет, если вы создадите два разных промпт, где первое промпт отвечает за извлечение соответствующих цитат для ответа на вопрос, а второй промпт принимает в качестве входных данных цитаты и исходный документ для ответа на заданный вопрос. Другими словами, вы создадите две разных промпта для выполнения ответа на вопрос о документе. - +Первая промпт ниже извлекает соответствующие цитаты из документа, заданного в вопросе. Обратите внимание, что для простоты мы добавили заполнитель для документа `{{document}}`. Чтобы протестировать подсказку, вы можете скопировать и вставить статью из Википедии, например, эту страницу, посвященную [Техника подсказок](https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0_%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B7%D0%BE%D0%BA). Из-за более большого контекста, используемого для этой задачи, мы используем модель `gpt-4-1106-preview` от OpenAI. Вы можете использовать промты с длинным контекстом с другими LLM, такими как Claude. + +Prompt 1: +``` +You are a helpful assistant. Your task is to help answer a question given a document. The first step is to extract quotes relevant to the question from the document, delimited by ####. Please output the list of quotes using . Respond with "No relevant quotes found!" if no relevant quotes were found. + + +#### +{{document}} +#### +``` + +Вот скриншот всего промпта, включая вопрос, который передается с использованием роли `пользователя`. + + + +Output of Prompt 1: +``` + +- Chain-of-thought (CoT) prompting[27] +- Generated knowledge prompting[37] +- Least-to-most prompting[38] +- Self-consistency decoding[39] +- Complexity-based prompting[41] +- Self-refine[42] +- Tree-of-thought prompting[43] +- Maieutic prompting[45] +- Directional-stimulus prompting[46] +- Textual inversion and embeddings[59] +- Using gradient descent to search for prompts[61][62][63][64] +- Prompt injection[65][66][67] + +``` This page needs a translation! Feel free to contribute a translation by clicking the `Edit this page` button on the right side. From 33c6240a5846bc73c9d33746da49dc708d290944 Mon Sep 17 00:00:00 2001 From: ThunderCat Date: Fri, 26 Jan 2024 23:23:38 +0300 Subject: [PATCH 4/5] Update prompt_chaining.ru.mdx --- pages/techniques/prompt_chaining.ru.mdx | 29 ++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/pages/techniques/prompt_chaining.ru.mdx b/pages/techniques/prompt_chaining.ru.mdx index 84b2362..a471c71 100644 --- a/pages/techniques/prompt_chaining.ru.mdx +++ b/pages/techniques/prompt_chaining.ru.mdx @@ -55,4 +55,31 @@ Output of Prompt 1: ``` -This page needs a translation! Feel free to contribute a translation by clicking the `Edit this page` button on the right side. +Цитаты, возвращенные в первом промпте, теперь можно использовать в качестве входных данных для второго промпта ниже. Обратите внимание, что вы можете еще немного очистить цитаты, то есть удалить цитаты. Эти цитаты можно удалить или использовать как часть другой подсказки в цепочке, но пока мы это игнорируем. + +Затем второй промпт берет соответствующие цитаты, извлеченные с помощью промпта 1, и готовит ответ на вопрос с учетом документа и извлеченных цитат. Второй промпт может быть следующим: + +Output of Prompt 2: + +``` +The prompting techniques mentioned in the document include: + +1. Chain-of-thought (CoT) prompting[27] +2. Generated knowledge prompting[37] +3. Least-to-most prompting[38] +4. Self-consistency decoding[39] +5. Complexity-based prompting[41] +6. Self-refine[42] +7. Tree-of-thought prompting[43] +8. Maieutic prompting[45] +9. Directional-stimulus prompting[46] +10. Textual inversion and embeddings[59] +11. Using gradient descent to search for prompts[61][62][63][64] +12. Prompt injection[65][66][67] + +Each of these techniques employs unique strategies to enhance or specify the interactions with large language models to produce the desired outcomes. +``` + +Как видите, упрощение и создание цепочек промптов — это полезный подход к промптам, когда ответы необходимо подвергнуть нескольким операциям или преобразованиям. В качестве упражнения вы можете создать промпт, которая удаляет цитаты (например, [27]) из ответа, прежде чем отправлять его в качестве окончательного ответа пользователю вашего приложения. + +В этой [документации](https://docs.anthropic.com/claude/docs/prompt-chaining) вы также можете найти дополнительные примеры цепочек подсказок, в которых используется Claude LLM. Наш пример вдохновлен и заимствован из их примеров. From a4bfb9ae1c5cf269cd01c06003bec9b1879dcf5d Mon Sep 17 00:00:00 2001 From: ThunderCat Date: Fri, 26 Jan 2024 23:37:40 +0300 Subject: [PATCH 5/5] Update prompt_chaining.ru.mdx --- pages/techniques/prompt_chaining.ru.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pages/techniques/prompt_chaining.ru.mdx b/pages/techniques/prompt_chaining.ru.mdx index a471c71..483c6df 100644 --- a/pages/techniques/prompt_chaining.ru.mdx +++ b/pages/techniques/prompt_chaining.ru.mdx @@ -5,9 +5,9 @@ import PC1 from '../../img/prompt_chaining/prompt-chaining-1.png' ## Введение в Создание цепочек промптов -Для повышения надежности и производительности LLM, Одним из важных приемов промпт-инжиниринга является разбиение задачи на подзадачи. После того как эти подзадачи определены, для LLM предлогаются подзадачи, а затем ее ответ используется в качестве входных данных для другого запроса. Это то, что называется Prompt Chaining, когда задача разбивается на подзадачи с целью создания цепочки операций промптов. +Для повышения надежности и производительности LLM, одним из важных приемов промпт-инжиниринга является разбиение задачи на подзадачи. После того как эти подзадачи определены, для LLM предлогаются подзадачи, а затем ее ответ используется в качестве входных данных для другого запроса. Это то, что называется Создание цепочек промптов, когда задача разбивается на подзадачи с целью создания цепочки операций промптов. -Создание цепочек промтов полезно для решения сложных задач, которые LLM может с трудом решить, если будет предложено очень подробное промпт. При создание цепочки прмптов цепочки промптов выполняют преобразования или дополнительные процессы над сгенерированными ответами, прежде чем достичь конечного желаемого состояния. +Создание цепочек промтов полезно для решения сложных задач, которые LLM может с трудом решить, если будет предложен очень большой промпт. При создание цепочки промптов, цепочки промптов выполняют преобразования или дополнительные процессы над сгенерированными ответами, прежде чем достичь конечного желаемой формы. Помимо повышения производительности, цепочки промптов помогают повысить прозрачность вашего применения LLM, повышает управляемость и надежность. Это означает, что вы можете гораздо проще отлаживать проблемы с ответами модели, а также анализировать и улучшать производительность на различных этапах, которые нуждаются в улучшении. @@ -19,9 +19,9 @@ import PC1 from '../../img/prompt_chaining/prompt-chaining-1.png' Цепочки промптов могут использоваться в различных сценариях, которые могут включать несколько операций или преобразований. Например, один из распространенных вариантов использования LLM предполагает ответы на вопросы о большом текстовом документе. -Вам поможет, если вы создадите два разных промпт, где первое промпт отвечает за извлечение соответствующих цитат для ответа на вопрос, а второй промпт принимает в качестве входных данных цитаты и исходный документ для ответа на заданный вопрос. Другими словами, вы создадите две разных промпта для выполнения ответа на вопрос о документе. +Вам поможет, если вы создадите два разных промпта, где первый промпт отвечает за извлечение соответствующих цитат для ответа на вопрос, а второй промпт принимает в качестве входных данных цитаты и исходный документ для ответа на заданный вопрос. Другими словами, вы создадите две разных промпта для выполнения ответа на вопрос о документе. -Первая промпт ниже извлекает соответствующие цитаты из документа, заданного в вопросе. Обратите внимание, что для простоты мы добавили заполнитель для документа `{{document}}`. Чтобы протестировать подсказку, вы можете скопировать и вставить статью из Википедии, например, эту страницу, посвященную [Техника подсказок](https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0_%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B7%D0%BE%D0%BA). Из-за более большого контекста, используемого для этой задачи, мы используем модель `gpt-4-1106-preview` от OpenAI. Вы можете использовать промты с длинным контекстом с другими LLM, такими как Claude. +Первый промпт ниже извлекает соответствующие цитаты из документа, заданного в вопросе. Обратите внимание, что для простоты мы добавили заполнитель для документа `{{document}}`. Чтобы протестировать подсказку, вы можете скопировать и вставить статью из Википедии, например, эту страницу, посвященную [технике подсказок](https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0_%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B7%D0%BE%D0%BA). Из-за более большого контекста, используемого для этой задачи, мы используем модель `gpt-4-1106-preview` от OpenAI. Вы можете использовать промты с длинным контекстом с другими LLM, такими как Claude. Prompt 1: ``` @@ -55,7 +55,7 @@ Output of Prompt 1: ``` -Цитаты, возвращенные в первом промпте, теперь можно использовать в качестве входных данных для второго промпта ниже. Обратите внимание, что вы можете еще немного очистить цитаты, то есть удалить цитаты. Эти цитаты можно удалить или использовать как часть другой подсказки в цепочке, но пока мы это игнорируем. +Цитаты, возвращенные в первом промпте, теперь можно использовать в качестве входных данных для второго промпта ниже. Обратите внимание, что вы можете еще немного очистить цитаты, то есть удалить цитаты. Эти цитаты можно удалить или использовать как часть другой подсказки в цепочке, но пока мы это проигнорируем. Затем второй промпт берет соответствующие цитаты, извлеченные с помощью промпта 1, и готовит ответ на вопрос с учетом документа и извлеченных цитат. Второй промпт может быть следующим: @@ -80,6 +80,6 @@ The prompting techniques mentioned in the document include: Each of these techniques employs unique strategies to enhance or specify the interactions with large language models to produce the desired outcomes. ``` -Как видите, упрощение и создание цепочек промптов — это полезный подход к промптам, когда ответы необходимо подвергнуть нескольким операциям или преобразованиям. В качестве упражнения вы можете создать промпт, которая удаляет цитаты (например, [27]) из ответа, прежде чем отправлять его в качестве окончательного ответа пользователю вашего приложения. +Как видите, упрощение и создание цепочек промптов — это полезный подход к промптам, когда ответы необходимо подвергнуть нескольким операциям или преобразованиям. В качестве упражнения вы можете создать промпт, который удаляет цитаты (например, [27]) из ответа, прежде чем отправлять его в качестве окончательного ответа пользователю вашего приложения. В этой [документации](https://docs.anthropic.com/claude/docs/prompt-chaining) вы также можете найти дополнительные примеры цепочек подсказок, в которых используется Claude LLM. Наш пример вдохновлен и заимствован из их примеров.