ryu-js / plugins /gptold.js
randydev's picture
update
14bc245
import express from 'express';
import { OpenaiRes } from '../lib/scrapper.js';
import { audioContent } from '../lib/all.js';
import { NvidiaTogether } from '../lib/@randydev/together/llama.js';
import { CohereAI } from '../lib/@randydev/together/cohere.js';
import {
SYSTEMJAWA,
SYSTEMSUNDA,
SYSTEMMIA,
PowerFullModerator,
SENSIFIFNOCODE,
ALLQURAN_SHOLAWAT,
LIRIKLAGU,
QUOTESLUCU,
QUOTESSEDIH,
PythonToJS,
JsToPython,
curlCommandCode,
} from '../models.js';
import {
AlibabaTogether,
AlibabaTurboTogether,
CloudFlareQwenTogether,
DeepseekQwenTogether,
} from '../lib/@randydev/together/qwen-ai.js';
import { CloudFlareMistralTogether } from '../lib/@randydev/together/cloudflare-ai.js';
import { DeepSeekR1 } from '../lib/@randydev/together/blackbox.js';
import { authenticateApiKey, authenticateApiKeyPremium, apiLimiter } from '../middleware/midware.js';
const GptRoutes = express.Router();
import fs from "fs";
import got from "got";
/**
* @swagger
* /api/v1/ai/openai/whisper-large-v3-turbo:
* get:
* summary: Openai Whisper large turbo
* tags: [AI]
* parameters:
* - in: query
* name: url
* required: true
* description: url mp3
* schema:
* type: string
* - in: query
* name: language
* required: false
* description: The language of the audio being transcribed or translated.
* schema:
* type: string
* - in: query
* name: task
* required: false
* description: Supported tasks are 'translate' or 'transcribe'.
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get("/api/v1/ai/openai/whisper-large-v3-turbo", authenticateApiKey, apiLimiter, async (req, res) => {
const API_BASE_URL = `https://api.cloudflare.com/client/v4/accounts/${process.env['ACCOUNT_ID']}/ai/run/@cf/openai/whisper-large-v3-turbo`;
const headers = {
"Authorization": `Bearer ${process.env['CLOUDFLARE_API_KEY']}`,
"Content-Type": "application/json"
};
const url = req.query.url;
const language = req.query.language || "en";
const task = req.query.task || "transcribe";
if (!url) {
return res.status(500).json({ error: "url required" });
}
const path = await audioContent(url);
if (!path) {
return res.status(500).json({ error: "Failed to download audio file" });
}
try {
const audioBytes = fs.readFileSync(path);
const audioBase64 = Buffer.from(audioBytes).toString("base64");
const inputData = {
audio: audioBase64,
language: language,
task: task
};
const response = await got.post(API_BASE_URL, {
headers,
json: inputData,
}).json();
return res.json(response);
} catch (error) {
console.error("Error making API request:", error.message);
return res.status(500).json({ error: null });
} finally {
if (fs.existsSync(path)) {
fs.unlinkSync(path);
}
}
});
/**
* @swagger
* /api/v1/ai/deepseek/deepseek-r1-distill-qwen-32b:
* get:
* summary: deepseek r1 distill-qwen-32b
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: query
* name: system_prompt
* required: false
* description: Custom system prompt
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/deepseek/deepseek-r1-distill-qwen-32b', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
const system_prompt = req.query.system_prompt || "Your name is AkenoX AI A kind and friendly AI assistant that answers in a short and concise answer. Give short step-by-step reasoning if required.";
const results = await DeepseekQwenTogether(query, {
system_prompt: system_prompt
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/deepseek/deepseek-R1:
* get:
* summary: Deepseek R1
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/deepseek/deepseek-R1', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
const results = await DeepSeekR1(query);
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/mistral/mistral-7b-instruct-v0.1:
* get:
* summary: Mistral AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: query
* name: system_prompt
* required: false
* description: Custom system prompt
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/mistral/mistral-7b-instruct-v0.1', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
const system_prompt = req.query.system_prompt || "Your name is AkenoX AI A kind and friendly AI assistant that answers in a short and concise answer. Give short step-by-step reasoning if required.";
const results = await CloudFlareMistralTogether(query, {
system_prompt: system_prompt
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/lu-melayu:
* get:
* summary: custom Malay AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/lu-melayu', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
const results = await CloudFlareQwenTogether(query, {
system_prompt: SYSTEMJAWA
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/nocodefou:
* get:
* summary: Custom NoCodeFou AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/nocodefou', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
if (!query) {
return res.status(500).json({ error: "query required" });
}
const results = await AlibabaTogether(query, {
system_prompt: SENSIFIFNOCODE
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/mia-khalifah:
* get:
* summary: Custom Mia Khalifah AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/mia-khalifah', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
if (!query) {
return res.status(500).json({ error: "query required" });
}
const results = await AlibabaTogether(query, {
system_prompt: SYSTEMMIA
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/curl-command-code:
* get:
* summary: Custom Curl Command Converter Python & Javascript AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/curl-command-code', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
if (!query) {
return res.status(500).json({ error: "query required" });
}
const results = await CloudFlareQwenTogether(query, {
system_prompt: curlCommandCode
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/python-to-js-api:
* get:
* summary: Custom Python to JS Requests Converter AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/python-to-js-api', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
if (!query) {
return res.status(500).json({ error: "query required" });
}
const results = await CloudFlareQwenTogether(query, {
system_prompt: PythonToJS
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/js-to-python-api:
* get:
* summary: Custom JS to Python Requests Converter AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/js-to-python-api', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
if (!query) {
return res.status(500).json({ error: "query required" });
}
const results = await CloudFlareQwenTogether(query, {
system_prompt: JsToPython
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/quotes-sad:
* get:
* summary: Custom Quotes Sad AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/quotes-sad', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
if (!query) {
return res.status(500).json({ error: "query required" });
}
const results = await CloudFlareQwenTogether(query, {
system_prompt: QUOTESSEDIH
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/quotes-lucu:
* get:
* summary: Custom Quotes Lucu AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/quotes-lucu', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
if (!query) {
return res.status(500).json({ error: "query required" });
}
const results = await CloudFlareQwenTogether(query, {
system_prompt: QUOTESLUCU
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/lirik-end:
* get:
* summary: Custom Lirik Lagu End AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/lirik-end', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
if (!query) {
return res.status(500).json({ error: "query required" });
}
const results = await CloudFlareQwenTogether(query, {
system_prompt: LIRIKLAGU
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/al-sholawat:
* get:
* summary: Custom Al-Sholawat AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/al-sholawat', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
if (!query) {
return res.status(500).json({ error: "query required" });
}
const results = await CloudFlareQwenTogether(query, {
system_prompt: ALLQURAN_SHOLAWAT
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/moderator:
* get:
* summary: Custom Moderator AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: query
* name: username
* required: true
* description: Owner's Username
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/moderator', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
const username = req.query.username;
if (!username) {
return res.status(500).json({ error: "username required" });
}
if (!query) {
return res.status(500).json({ error: "query required" });
}
const systemResult = PowerFullModerator(username);
const results = await CloudFlareQwenTogether(query, {
system_prompt: systemResult
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/qwen/qwen1.5-1.8b-chat:
* get:
* summary: Qwen AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: query
* name: system_prompt
* required: false
* description: Custom system prompt
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/qwen/qwen1.5-1.8b-chat', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
const system_prompt = req.query.system_prompt || "Your name is AkenoX AI A kind and friendly AI assistant that answers in a short and concise answer. Give short step-by-step reasoning if required.";
const results = await CloudFlareQwenTogether(query, {
system_prompt: system_prompt
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/akenox/lu-sunda:
* get:
* summary: Custom Sunda AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/akenox/lu-sunda', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
const results = await AlibabaTogether(query, {
system_prompt: SYSTEMSUNDA
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/alibaba/qwen-turbo-latest:
* get:
* summary: Alibaba Qwen Turbo Latest AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: query
* name: system_prompt
* required: false
* description: Custom system prompt
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/alibaba/qwen-turbo-latest', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
const system_prompt = req.query.system_prompt || "Your name is AkenoX AI A kind and friendly AI assistant that answers in a short and concise answer. Give short step-by-step reasoning if required.";
const results = await AlibabaTurboTogether(query, {
system_prompt: system_prompt
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/alibaba/qwen-plus:
* get:
* summary: Alibaba Qwen AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: query
* name: system_prompt
* required: false
* description: Custom system prompt
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/alibaba/qwen-plus', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
const system_prompt = req.query.system_prompt || "Your name is AkenoX AI A kind and friendly AI assistant that answers in a short and concise answer. Give short step-by-step reasoning if required.";
const results = await AlibabaTogether(query, {
system_prompt: system_prompt
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/cohere/command-plus:
* get:
* summary: Cohere AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: User's input query
* schema:
* type: string
* - in: query
* name: system_prompt
* required: false
* description: Custom system prompt
* schema:
* type: string
* - in: query
* name: chatHistory
* required: false
* description: Previous chat history in JSON format
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/cohere/command-plus', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
const chatHistory = req.query.chatHistory ? JSON.parse(req.query.chatHistory) : [];
const system_prompt = req.query.system_prompt || "Your name is AkenoX AI A kind and friendly AI assistant that answers in a short and concise answer. Give short step-by-step reasoning if required.";
const results = await CohereAI(query, {
system_prompt: system_prompt,
chatHistory: chatHistory
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/**
* @swagger
* /api/v1/ai/nvidia/llama-31-70b:
* get:
* summary: Nvidia LLama AI
* tags: [AI]
* parameters:
* - in: query
* name: query
* required: true
* description: null
* schema:
* type: string
* - in: query
* name: system_prompt
* required: false
* description: null
* schema:
* type: string
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
*/
GptRoutes.get('/api/v1/ai/nvidia/llama-31-70b', authenticateApiKeyPremium, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
let system_prompt = "Your name is AkenoX AI A kind and friendly AI assistant that answers in\na short and concise answer. Give short step-by-step reasoning if required.\n";
system_prompt = req.query.system_prompt ? req.query.system_prompt : system_prompt;
const results = await NvidiaTogether(query, {
system_prompt: system_prompt
});
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
/* GptRoutes.get('/api/v1/ai/openai/gpt-4o', authenticateApiKey, apiLimiter, async (req, res) => {
try {
const query = req.query.query;
const results = await OpenaiRes(query);
res.json({ results });
} catch (error) {
res.status(401).json({ error: error.message });
}
}); */
export { GptRoutes };