Files
say/src/config.js
T

55 lines
2.5 KiB
JavaScript

/**
* Централизованная конфигурация приложения Say.
* Все секреты — из переменных окружения, без хардкода.
*/
const PORT = parseInt(process.env.PORT, 10) || 3000;
// --- API (единый эндпоинт aillm.ru) ---
const API_BASE = process.env.API_BASE || 'https://api.aillm.ru';
const API_KEY = process.env.API_KEY || '';
// --- Whisper ---
const WHISPER_URL = process.env.WHISPER_URL || `${API_BASE}/v1/audio/transcriptions`;
const WHISPER_MODEL = process.env.WHISPER_MODEL || 'whisper-large-v3';
// --- Три LLM-профиля ---
const LLM_PROFILES = [
{
id: 'ddm',
name: 'DDM-120',
description: 'Быстрая модель, общие вопросы',
url: process.env.LLM_URL_DDM || `${API_BASE}/v1/chat/completions`,
model: process.env.LLM_MODEL_DDM || 'ddm-120',
systemPrompt: process.env.LLM_SYSTEM_DDM || 'Ты — полезный ассистент. Отвечай кратко и по делу на том же языке, что и запрос.',
temperature: parseFloat(process.env.LLM_TEMP_DDM || '0.7'),
maxTokens: parseInt(process.env.LLM_TOKENS_DDM, 10) || 1024,
},
{
id: 'qwen',
name: 'Qwen',
description: 'Мощная модель, сложные задачи',
url: process.env.LLM_URL_QWEN || `${API_BASE}/v1/chat/completions`,
model: process.env.LLM_MODEL_QWEN || 'qwen-plus',
systemPrompt: process.env.LLM_SYSTEM_QWEN || 'Ты — эксперт-аналитик. Отвечай развернуто, структурированно, на языке запроса.',
temperature: parseFloat(process.env.LLM_TEMP_QWEN || '0.7'),
maxTokens: parseInt(process.env.LLM_TOKENS_QWEN, 10) || 2048,
},
{
id: 'deepseek',
name: 'DeepSeek',
description: 'Глубокая аналитика, код, рассуждения',
url: process.env.LLM_URL_DEEPSEEK || `${API_BASE}/v1/chat/completions`,
model: process.env.LLM_MODEL_DEEPSEEK || 'deepseek-chat',
systemPrompt: process.env.LLM_SYSTEM_DEEPSEEK || 'Ты — глубокий аналитик и программист. Думай step-by-step, отвечай на языке запроса.',
temperature: parseFloat(process.env.LLM_TEMP_DEEPSEEK || '0.7'),
maxTokens: parseInt(process.env.LLM_TOKENS_DEEPSEEK, 10) || 4096,
},
];
module.exports = {
PORT, API_BASE, API_KEY,
WHISPER_URL, WHISPER_MODEL,
LLM_PROFILES,
};