mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-19 13:13:35 +02:00
feat(chat): integrate chat project into monorepo with full app structure
- Restructure chat as apps/mobile, apps/web, apps/landing, backend - Add NestJS backend for secure Azure OpenAI API calls - Remove exposed API key from mobile app (security fix) - Add shared chat-types package - Create SvelteKit web app scaffold - Create Astro landing page scaffold - Update pnpm workspace configuration - Add project-level CLAUDE.md documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
fcf3a344b1
commit
c638a7ffee
155 changed files with 22622 additions and 348 deletions
112
chat/apps/mobile/scripts/update_models.js
Normal file
112
chat/apps/mobile/scripts/update_models.js
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
// Skript zum Aktualisieren der Modelle in der Supabase-Datenbank
|
||||
import { createClient } from '@supabase/supabase-js';
|
||||
import dotenv from 'dotenv';
|
||||
import { fileURLToPath } from 'url';
|
||||
import { dirname, join } from 'path';
|
||||
|
||||
// Lade Umgebungsvariablen aus .env
|
||||
dotenv.config();
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
// Supabase-Client erstellen
|
||||
const supabaseUrl = process.env.EXPO_PUBLIC_SUPABASE_URL;
|
||||
const supabaseKey = process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY;
|
||||
|
||||
if (!supabaseUrl || !supabaseKey) {
|
||||
console.error('Fehler: EXPO_PUBLIC_SUPABASE_URL und EXPO_PUBLIC_SUPABASE_ANON_KEY müssen in der .env-Datei definiert sein.');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const supabase = createClient(supabaseUrl, supabaseKey);
|
||||
|
||||
// Modelle, die wir in die Datenbank einfügen wollen
|
||||
const models = [
|
||||
{
|
||||
id: '550e8400-e29b-41d4-a716-446655440000',
|
||||
name: 'GPT-O3-Mini',
|
||||
description: 'Azure OpenAI O3-Mini: Effizientes Modell für schnelle Antworten.',
|
||||
parameters: {
|
||||
temperature: 0.7,
|
||||
max_tokens: 800,
|
||||
provider: 'azure',
|
||||
deployment: 'gpt-o3-mini-se',
|
||||
endpoint: 'https://memoroseopenai.openai.azure.com',
|
||||
api_version: '2024-12-01-preview'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: '550e8400-e29b-41d4-a716-446655440004',
|
||||
name: 'GPT-4o-Mini',
|
||||
description: 'Azure OpenAI GPT-4o-Mini: Kompaktes, leistungsstarkes KI-Modell.',
|
||||
parameters: {
|
||||
temperature: 0.7,
|
||||
max_tokens: 1000,
|
||||
provider: 'azure',
|
||||
deployment: 'gpt-4o-mini-se',
|
||||
endpoint: 'https://memoroseopenai.openai.azure.com',
|
||||
api_version: '2024-12-01-preview'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: '550e8400-e29b-41d4-a716-446655440005',
|
||||
name: 'GPT-4o',
|
||||
description: 'Azure OpenAI GPT-4o: Das fortschrittlichste multimodale KI-Modell.',
|
||||
parameters: {
|
||||
temperature: 0.7,
|
||||
max_tokens: 1200,
|
||||
provider: 'azure',
|
||||
deployment: 'gpt-4o-se',
|
||||
endpoint: 'https://memoroseopenai.openai.azure.com',
|
||||
api_version: '2024-12-01-preview'
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
async function updateModels() {
|
||||
console.log('Aktualisiere Modelle in der Supabase-Datenbank...');
|
||||
|
||||
// Prüfe, ob die Tabelle existiert
|
||||
const { error: tableError } = await supabase
|
||||
.from('models')
|
||||
.select('id')
|
||||
.limit(1);
|
||||
|
||||
if (tableError) {
|
||||
console.error('Fehler beim Zugriff auf die models-Tabelle:', tableError.message);
|
||||
console.log('Erstelle models-Tabelle...');
|
||||
|
||||
// Erstelle die Tabelle, falls sie nicht existiert
|
||||
const { error: createError } = await supabase.rpc('create_models_table');
|
||||
|
||||
if (createError) {
|
||||
console.error('Fehler beim Erstellen der models-Tabelle:', createError.message);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Füge die Modelle ein oder aktualisiere sie
|
||||
for (const model of models) {
|
||||
const { error } = await supabase
|
||||
.from('models')
|
||||
.upsert(model, { onConflict: 'id' });
|
||||
|
||||
if (error) {
|
||||
console.error(`Fehler beim Aktualisieren des Modells ${model.name}:`, error.message);
|
||||
} else {
|
||||
console.log(`Modell ${model.name} erfolgreich aktualisiert.`);
|
||||
}
|
||||
}
|
||||
|
||||
console.log('Modellaktualisierung abgeschlossen.');
|
||||
}
|
||||
|
||||
// Führe die Funktion aus
|
||||
updateModels()
|
||||
.catch(error => {
|
||||
console.error('Unerwarteter Fehler:', error);
|
||||
})
|
||||
.finally(() => {
|
||||
process.exit(0);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue