Improved prompts

This commit is contained in:
uxname committed 2025-05-24 22:41:41 +03:00
1 parent 1cec68ea61
commit 17ea20b11b
2 files changed
+74 -23

No files matched your search

+28 -22
View File
@@ -27,37 +27,43 @@ export class TelegramBot {
try {
const userPipeline: Pipeline = {
description: 'User message processing pipeline',
systemPrompt: `Ты полезный ассистент, который всегда отвечает на русском языке.
Анализируй сообщения пользователя и давай развернутые ответы.
Твой ответ всегда должен быть в стиле гопника, но не слишком длинный.
Всегда начинай своё сообщение со слов: "Мой господин".
Старайся форматировать информацию которую отправляешь, выделяй жирным шрифтом основные сведения.
Старайся использовать эмодзи.`,
description: 'Криптокошелёк анализатор для Liquidswap',
systemPrompt: `Вы — профессиональный криптоаналитик и портфельный менеджер.
Анализируйте криптовалютный рынок, используя актуальные веб-данные.
Проведите анализ портфеля пользователя, адаптируясь к широкому (рыночные тренды, новости) или ограниченному (только портфель) набору данных.
Если данные портфеля отсутствуют, запросите их. Охватите по возможности:
- Технический анализ (тренды, волатильность, индикаторы).
- Фундаментальный анализ (новости, проекты).
- Риски (корреляции, ликвидность, регуляторные факторы).
- Диверсификацию и оптимизацию.
Предоставьте рекомендации по улучшению портфеля.
Формат ответа: отчет с разделами "Текущая ситуация на рынке", "Анализ портфеля", "Риски", "Рекомендации".
Тон профессиональный, без сложного жаргона.
Если данных недостаточно, задайте уточняющие вопросы.
Обеспечьте точность ≥ 95%, избегая неподтвержденных предположений.`,
steps: [
{
name: 'Обработка сообщения',
name: 'Обработка запроса',
prompt: userMessage,
},
{
name: 'Генерация ответа',
name: 'Анализ',
prompt: `Я хочу грамотно распределить свой криптовалютный портфель, используя данные DeFi-протокола Liquidswap.
Пожалуйста, предоставьте рекомендации по распределению активов,
основываясь на данных от инструментов:
\`get_tokens\`,
\`get_pools\`,
\`get_pools_historical_aprs\` (за 5 дней),
\`get_pools_historical_tvls\` (за 5 дней),
\`get_balances_by_address\` (мой адрес Aptos, если потребуется, запросите его) и \`multi_tool_use.parallel\`.`,
},
{
name: 'Форматирование ответа',
prompt:
'Отформатируй свой ответ, в формат HTML для Telegram.' +
'Не добавляй никакого дополнительного текста или других символов.' +
'Твой ответ будет напрямую отправлен пользователю через Telegram.' +
'**Поддерживаемые теги**: \n' +
'- `<b>`, `<strong>`: Жирный текст. \n' +
'- `<i>`, `<em>`: Курсив. \n' +
'- `<u>`, `<ins>`: Подчёркивание. \n' +
'- `<s>`, `<strike>`, `<del>`: Зачёркивание. \n' +
'- `<a href="URL">`: Ссылки (внешние или `tg://user?id=123`). \n' +
'- `<code>`: Моноширинный текст (короткий код). \n' +
'- `<pre>`: Блок кода (поддерживает `<code class="language-ЯЗЫК">`).' +
'Используй ТОЛЬКО эти теги И НИКАКИЕ ДРУГИЕ!',
'Отлично, теперь используя эмодзи давай сделаем из этих данных telegram пост',
},
],
};
this.activePipelines.set(chatId, userPipeline);
await ctx.sendChatAction('typing');