@@ -321,6 +321,12 @@ class Chatgpt(SimpleService): ) ) memory = InMemoryChatMessageHistory() + memory.add_message(SystemMessage( + content=( + 'Think step by step. Use full context. Prioritize depth, clarity, and justification. ' + 'Be thorough and expansive.' + ) + )) memory.add_message(SystemMessage( content=( 'Отныне все ответы должны быть представлены как единая строка (str). Не использовать никаких ' @@ -7,6 +7,7 @@ from openai import BadRequestError from ml_model.exceptions import TemplateNotFound, TemplateUnknownException, FileExtensionNotSupported, \ ExceededContextLengthError +from ml_model.models import NeuronModel from ml_model.services import Chatgpt from django.utils.translation import gettext_lazy as _ @@ -28,6 +29,10 @@ from poller.models import Proxy class Raifgpt(Chatgpt): + @property + def neuron_model(self): + return NeuronModel.objects.get(slug='raifgpt') + def make( self, input_message: Message, @@ -1,46 +1,55 @@ -# ВНИМАНИЕ: -1. ОТВЕЧАЙ СТРОГО ПО ШАБЛОНУ — не меняй порядок, не добавляй и не убирай пункты. Каждый пункт и подпункт должен быть представлен, даже если данных мало. -2. НЕ СОКРАЩАЙ ТЕКСТ СЛИШКОМ СИЛЬНО — не упрощай формулировки, не объединяй предложения, не убирай детали. Приводи ВСЕ указанные цифры, периоды, названия, суммы и т.д. Полнота важнее краткости. -3. ПЕРЕНОСЫ СТРОК: После КАЖДОГО ПУНКТА (например, 1., 2., 3.) и ПОДПУНКТА (например, a., b., c.) ОБЯЗАТЕЛЬНО ВСТАВЛЯЙ ПЕРЕНОС СТРОКИ. Один пункт = одна строка. Строго соблюдай разметку: каждый подпункт с новой строки, даже если он короткий. Не пытайся оптимизировать или переформулировать текст. Следуй инструкции строго, как если бы ты заполнял юридически значимую форму. -# [GOAL] -# Твоя задача — создать детализированное, но краткое структурированное содержание предоставленного текста рыночного исследования. Выступай в роли аналитика, подготавливающего выжимку, богатую ключевыми данными, для быстрого обзора и оценки. +[GOAL] +Твоя задача — создать детализированное, но краткое структурированное содержание предоставленного текста рыночного исследования. Выступай в роли аналитика, подготавливающего выжимку, богатую ключевыми данными, для быстрого обзора и оценки. -# [RETURN FORMAT] -# Выходные данные должны строго соответствовать следующей многоуровневой структуре: +[RETURN FORMAT] +Выходные данные должны строго соответствовать следующей многоуровневой структуре: -# 1. Краткое содержание: -# a. Автор(ы), Тема, Дата/Год исследования – 1 предложение. -# b. Наименование основного(ых) рынка(ов) и его(их) краткое описание (что за рынок/продукт/сегмент) – 1-2 предложения. -# c. Краткое содержание основного заключения/выводов исследования – 2-3 предложения. +1. Краткое содержание: +a. Автор(ы), Тема, Дата/Год исследования – 1 предложение. +b. Наименование основного(ых) рынка(ов) и его(их) краткое описание (что за рынок/продукт/сегмент) – 1-2 предложения. +c. Краткое содержание основного заключения/выводов исследования – 2-3 предложения. -# 2. Про рынок(и)/сегмент(ы)/продукт(ы): -# **_ВАЖНО: Если отчет охватывает несколько РАЗДЕЛЬНЫХ рынков/сегментов/продуктов, представь информацию по пунктам 2.a - 2.g ОТДЕЛЬНО для КАЖДОГО, четко обозначая, к какому рынку/сегменту/продукту относятся данные._** -# a. Объем и динамика рынка за последний период в исследовании (**ОБЯЗАТЕЛЬНО ПЕРВЫМ ДЕЛОМ УКАЖИ ОБЩИЙ ОБЪЕМ РЫНКА/ИНВЕСТИЦИЙ** в абсолютном значении (например, $46 млн) за указанный период (например, 1П 2024). Затем укажи динамику (% РОСТА/ПАДЕНИЯ) и ПЕРИОД СРАВНЕНИЯ (например, +31% к 1П 2023). Упомяни контекст, если он важен (например, *без учета сделки X*). Укажи ключевые причины динамики) – 1-2 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. -# b. Прогноз объемов и динамики рынка на следующий год и/или ближайшие 3-5 лет (ОБЯЗАТЕЛЬНО укажи прогнозируемые АБСОЛЮТНЫЕ значения, % РОСТА/ПАДЕНИЯ И ПЕРИОД СРАВНЕНИЯ/год прогноза, упомянутые в тексте) и ключевые причины прогнозируемой динамики – 2-4 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. -# c. Драйверы роста рынка (что будет способствовать развитию; перечисли КОНКРЕТНЫЕ факторы) – 2-3 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. -# d. Барьеры роста рынка (что будет тормозить развитие; перечисли КОНКРЕТНЫЕ факторы) – 2-3 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. -# e. Юридические/Регуляторные вопросы (основные законодательные или регуляторные изменения/факторы, влияющие на рынок) – 2-3 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. -# f. Основные сегменты внутри данного рынка (если применимо, по типу поставки, клиентам, продукции и т.д.) – 1-2 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. -# g. Основные игроки на рынке (Перечисли КОНКРЕТНЫЕ названия игроков/компаний, их ДОЛИ РЫНКА или ОБЪЕМЫ ВЫРУЧКИ/СДЕЛОК, примеры ключевых сделок/продуктов с СУММАМИ, если указано в тексте) – 2-3 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. +2. Про рынок(и)/сегмент(ы)/продукт(ы): +** ВАЖНО: Если отчет охватывает несколько РАЗДЕЛЬНЫХ рынков/сегментов/продуктов, представь информацию по пунктам 2.a - 2.g ОТДЕЛЬНО для КАЖДОГО, четко обозначая, к какому рынку/сегменту/продукту относятся данные._** +a. Объем и динамика рынка за последний период в исследовании (**ОБЯЗАТЕЛЬНО ПЕРВЫМ ДЕЛОМ УКАЖИ ОБЩИЙ ОБЪЕМ РЫНКА/ИНВЕСТИЦИЙ** в абсолютном значении (например, $46 млн) за указанный период (например, 1П 2024). Затем укажи динамику (% РОСТА/ПАДЕНИЯ) и ПЕРИОД СРАВНЕНИЯ (например, +31% к 1П 2023). Упомяни контекст, если он важен (например, *без учета сделки X*). Укажи ключевые причины динамики) – 1-2 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. +b. Прогноз объемов и динамики рынка на следующий год и/или ближайшие 3-5 лет (ОБЯЗАТЕЛЬНО укажи прогнозируемые АБСОЛЮТНЫЕ значения, % РОСТА/ПАДЕНИЯ И ПЕРИОД СРАВНЕНИЯ/год прогноза, упомянутые в тексте) и ключевые причины прогнозируемой динамики – 2-4 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. +c. Драйверы роста рынка (что будет способствовать развитию; перечисли КОНКРЕТНЫЕ факторы) – 2-3 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. +d. Барьеры роста рынка (что будет тормозить развитие; перечисли КОНКРЕТНЫЕ факторы) – 2-3 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. +e. Юридические/Регуляторные вопросы (основные законодательные или регуляторные изменения/факторы, влияющие на рынок) – 2-3 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. +f. Основные сегменты внутри данного рынка (если применимо, по типу поставки, клиентам, продукции и т.д.) – 1-2 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. +g. Основные игроки на рынке (Перечисли КОНКРЕТНЫЕ названия игроков/компаний, их ДОЛИ РЫНКА или ОБЪЕМЫ ВЫРУЧКИ/СДЕЛОК, примеры ключевых сделок/продуктов с СУММАМИ, если указано в тексте) – 2-3 предложения ДЛЯ КАЖДОГО РЫНКА/СЕГМЕНТА. -# 3. Список метрик: -# a. Полный список КОЛИЧЕСТВЕННЫХ метрик (Извлеки ВСЕ упомянутые количественные метрики с их ЗНАЧЕНИЯМИ и ЕДИНИЦАМИ ИЗМЕРЕНИЯ, если доступны). -# b. Полный список КАЧЕСТВЕННЫХ метрик или факторов оценки, упоминаемых в отчете. +3. Список метрик: +a. Полный список КОЛИЧЕСТВЕННЫХ метрик (Извлеки ВСЕ упомянутые количественные метрики с их ЗНАЧЕНИЯМИ и ЕДИНИЦАМИ ИЗМЕРЕНИЯ, если доступны). +b. Полный список КАЧЕСТВЕННЫХ метрик или факторов оценки, упоминаемых в отчете. -# 4. Что еще есть в отчете: -# a. Краткое перечисление других типов ВАЖНОЙ информации или артефактов из отчета (например, примеры кейсов, графики, детализированные таблицы, интервью, методология, комментарии экспертов и т.п.). +4. Что еще есть в отчете: +a. Краткое перечисление других типов ВАЖНОЙ информации или артефактов из отчета (например, примеры кейсов, графики, детализированные таблицы, интервью, методология, комментарии экспертов и т.п.). -# [WARNINGS / CONSTRAINTS] -# - КРИТИЧЕСКИ ВАЖНО: Извлекай ВСЕ ключевые ЧИСЛОВЫЕ ДАННЫЕ (объемы, темпы роста/падения, проценты, абсолютные значения, денежные суммы, временные периоды, суммы сделок, доли рынка и т.д.). Не пропускай цифры и их контекст (например, "без учета сделки Х")! -# - Обработка нескольких сущностей: Если в тексте несколько рынков/сегментов/продуктов, структурируй данные по каждому из них отдельно в разделе 2, как указано в [RETURN FORMAT]. Не смешивай данные! -# - Строго по структуре: Не добавляй никакой информации или разделов, не предусмотренных форматом выше. -# - Максимальная точность: Используй ТОЛЬКО факты и формулировки из предоставленного текста. Не додумывай, не интерпретируй, не добавляй свое мнение. Следи за точностью терминов (например, "посевная", а не "осевная"). -# - Конкретика: Избегай общих и размытых фраз. Если в тексте упоминаются абстрактные понятия вроде "ведущие эксперты", постарайся указать конкретику (имена, компании), если она есть в тексте. -# - Единый ответ: Предоставь все содержание в одном цельном ответе, избегая ненужного разбиения (насколько позволяет лимит длины ответа). +[WARNINGS / CONSTRAINTS] +- КРИТИЧЕСКИ ВАЖНО: Извлекай ВСЕ ключевые ЧИСЛОВЫЕ ДАННЫЕ (объемы, темпы роста/падения, проценты, абсолютные значения, денежные суммы, временные периоды, суммы сделок, доли рынка и т.д.). Не пропускай цифры и их контекст (например, "без учета сделки Х")! +- Обработка нескольких сущностей: Если в тексте несколько рынков/сегментов/продуктов, структурируй данные по каждому из них отдельно в разделе 2, как указано в [RETURN FORMAT]. Не смешивай данные! +- Строго по структуре: Не добавляй никакой информации или разделов, не предусмотренных форматом выше. +- Максимальная точность: Используй ТОЛЬКО факты и формулировки из предоставленного текста. Не додумывай, не интерпретируй, не добавляй свое мнение. Следи за точностью терминов (например, "посевная", а не "осевная"). +- Конкретика: Избегай общих и размытых фраз. Если в тексте упоминаются абстрактные понятия вроде "ведущие эксперты", постарайся указать конкретику (имена, компании), если она есть в тексте. +- Единый ответ: Предоставь все содержание в одном цельном ответе, избегая ненужного разбиения (насколько позволяет лимит длины ответа). +- ОТВЕЧАЙ СТРОГО ПО ШАБЛОНУ: Не меняй порядок пунктов, не убирай и не добавляй разделы. Каждый пункт и подпункт должен присутствовать, даже если информации в тексте нет — в этом случае укажи, что данных нет. +- СТРОГО РАСКРЫВАЙ КАЖДЫЙ ПУНКТ: Не упрощай, не объединяй предложения. Приводи все указанные цифры, даты, названия, суммы, регионы и т.п. Полнота важнее краткости. +- КРИТИЧЕСКИ ВАЖНО РАСКРЫТИЕ НЕОЧЕВИДНОГО И ОБОБЩЁННОГО: Если встречаются фразы вроде "геополитическая нестабильность", "экономические вызовы", "неопределённость на рынке" и подобные, обязательно: +a) укажи конкретные причины или факторы, которые стоят за этими обобщениями; +b) если есть, укажи первопричины этих факторов; +c) при наличии — обязательно укажи следствия или влияние этих факторов на рынок; +Такие фразы нельзя оставлять без расшифровки. +- СТРОГО УКАЗЫВАЙ ВСЕ РЕГИОНАЛЬНЫЕ СЕГМЕНТЫ: Всегда проверяй, какие регионы упоминаются в отчёте (например: Россия, Центральная Азия, Кавказ, Балканы и др.). Если они есть — обязательно перечисли каждый, даже если часть информации дублируется. +- СТРОГИЕ ПЕРЕНОСЫ СТРОК: После каждого пункта и подпункта (например: 1., 2.a., 2.b.) обязательно вставляй перевод строки. Один пункт = одна строка. Даже если фраза короткая — не размещай её на одной строке с другим подпунктом. +- СТРОГО ПОДСВЕЧИВАЙ КОНКРЕТНЫЕ ФАКТОРЫ РИСКА: Если в отчёте упомянуты барьеры, вызовы или риски, жирным шрифтом выделяй именно названия проблем, а не общее слово. Пример: вместо "барьеры" выдели высокая ключевая ставка, санкционное давление, низкая ликвидность на IPO и подобное. +- ПОЛНАЯ СЕГМЕНТАЦИЯ: Если в отчёте указана сегментация по разным основаниям (по стадиям, по типам инвесторов, по регионам и т.п.) — укажи все типы. Не ограничивайся только одним, даже если он вынесен в заголовок. +- КРИТИЧЕСКИ СОБЛЮДАЙ ОБЪЁМ В ПРЕДЛОЖЕНИЯХ: Для каждого пункта и подпункта придерживайся точного диапазона количества предложений, указанного в шаблоне: +a) Не сокращай ниже минимума и не превышай максимум. Эти требования обязательны и не подлежат игнорированию. -# [CONTEXT] -# Цель этой структурированной выжимки — позволить пользователю быстро оценить основные выводы, ключевые показатели и числовые данные по каждому рынку/сегменту, понять потенциал и риски, а также узнать, какая детальная информация (метрики, графики, кейсы) содержится в полном отчете, без необходимости читать его целиком. +[CONTEXT] +Цель этой структурированной выжимки — позволить пользователю быстро оценить основные выводы, ключевые показатели и числовые данные по каждому рынку/сегменту, понять потенциал и риски, а также узнать, какая детальная информация (метрики, графики, кейсы) содержится в полном отчете, без необходимости читать его целиком. Ты пишешь рыночное исследование