correções e bugs
This commit is contained in:
+42
-16
@@ -9,6 +9,21 @@ export interface ModelConfig {
|
||||
description?: string; // Descrição opcional do modelo
|
||||
}
|
||||
|
||||
/**
|
||||
* Interface para modelo retornado pela API do banco de dados
|
||||
*/
|
||||
export interface ModelIA {
|
||||
id: number;
|
||||
provider_id: number;
|
||||
name: string;
|
||||
model_identifier: string;
|
||||
cost_input_per_million: string;
|
||||
cost_output_per_million: string;
|
||||
is_active: number;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lista de modelos disponíveis
|
||||
* NOTA: Estes dados correspondem à tabela de modelos do banco de dados.
|
||||
@@ -112,21 +127,32 @@ export function getModelNames(): string[] {
|
||||
}
|
||||
|
||||
/**
|
||||
* FUTURA INTEGRAÇÃO COM BANCO DE DADOS
|
||||
* Busca modelos de IA disponíveis no banco de dados
|
||||
*
|
||||
* Quando a API estiver pronta, substituir AVAILABLE_MODELS por chamada à API:
|
||||
*
|
||||
* export async function fetchModelsFromDatabase(): Promise<ModelConfig[]> {
|
||||
* const response = await apiService.get('/api/models');
|
||||
* return response.data.map((model: any) => ({
|
||||
* name: model.name,
|
||||
* id: model.id.toString(),
|
||||
* description: model.description || '',
|
||||
* }));
|
||||
* }
|
||||
*
|
||||
* Nos componentes, usar:
|
||||
* - useEffect para carregar modelos na montagem
|
||||
* - useState para armazenar lista de modelos
|
||||
* - Loading state durante o fetch
|
||||
* @returns Promise com array de modelos ativos
|
||||
*/
|
||||
export async function fetchModelsFromDatabase(): Promise<ModelConfig[]> {
|
||||
try {
|
||||
// Importa dinamicamente para evitar circular dependency
|
||||
const { apiService } = await import('@/services/api');
|
||||
|
||||
const response = await apiService.get<ModelIA[]>('/webhook/codex/get_models_ia');
|
||||
|
||||
console.log('Modelos carregados da API:', response.data);
|
||||
|
||||
// Filtra apenas modelos ativos e converte para ModelConfig
|
||||
return response.data
|
||||
.filter(model => model.is_active === 1)
|
||||
.map((model: ModelIA) => ({
|
||||
name: model.name,
|
||||
id: model.id.toString(),
|
||||
description: `${model.model_identifier}`,
|
||||
}));
|
||||
} catch (error) {
|
||||
console.error('Erro ao buscar modelos da API:', error);
|
||||
|
||||
// Fallback para modelos hardcoded em caso de erro
|
||||
console.warn('Usando modelos hardcoded como fallback');
|
||||
return AVAILABLE_MODELS;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user