wisperlink-app / src /lib /ai-client.ts
looda3131's picture
طيب اضف خيار استخدام gemini او الاحتياطي بخيار المستخدم
61228d1
'use server';
/**
* @fileOverview المحرك الرئيسي الذي يوجه الطلبات لـ Gemini 2.5 Flash Lite مع خيار التبديل لـ Groq.
*/
import { askAI as askGeminiDirect, safeGenerateContent as safeGeminiContent, safeGenerateChat as safeGeminiChat } from './gemini-client';
export async function askAI(prompt: string, aiEngine: 'primary' | 'fallback' = 'primary') {
return askGeminiDirect(prompt, aiEngine);
}
export const safeGenerateContent = async (prompt: string, aiEngine: 'primary' | 'fallback' = 'primary'): Promise<{ output: any, model: string }> => {
try {
return await safeGeminiContent(prompt, aiEngine);
} catch (error: any) {
console.error("Flow Error (GenerateContent):", error.message);
throw error;
}
};
export const safeGenerateChat = async (prompt: string, aiEngine: 'primary' | 'fallback' = 'primary'): Promise<{ answer: string, model: string }> => {
try {
return await safeGeminiChat(prompt, aiEngine);
} catch (error: any) {
console.error("Flow Error (Chat):", error.message);
throw error;
}
};