Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(pci-ai-endpoints): create AI Endpoints react app #13928

Merged
merged 17 commits into from
Nov 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ export const features = [
'ai-endpoints',
'key-management-service',
'pci-savings-plan',
'pci-ai-endpoints',
];

export function getPciProjectMenu(
Expand Down Expand Up @@ -383,10 +384,15 @@ export function getPciProjectMenu(
title: 'AI Deploy',
href: getURL('public-cloud', `#/pci/projects/${projectId}/ai/apps`),
},
isFeaturesAvailable('ai-endpoints') && {
id: 'endpoints',
isFeaturesAvailable('pci-ai-endpoints') ? {
id: 'pci-ai-endpoints',
title: 'AI Endpoints',
badge: 'alpha',
badge: 'beta',
href: getURL('public-cloud', `#/pci/projects/${projectId}/ai/endpoints`),
} : {
id: 'ai-endpoints',
title: 'AI Endpoints',
badge: 'beta',
href: 'https://endpoints.ai.cloud.ovh.net/',
external: true,
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -496,7 +496,7 @@ pciNode.children = [
idAttr: 'pci-ai-link',
universe: PUBLICCLOUD_UNIVERSE_ID,
translation: 'sidebar_pci_ai',
features: ['notebooks', 'ai-apps', 'training', 'ai-dashboard'],
features: ['notebooks', 'ai-apps', 'training', 'ai-dashboard', 'ai-endpoints', 'pci-ai-endpoints'],
forceVisibility: true,
children: [
{
Expand Down Expand Up @@ -559,9 +559,22 @@ pciNode.children = [
count: false,
url: 'https://endpoints.ai.cloud.ovh.net/',
features: ['ai-endpoints'],
tag: NodeTag.ALPHA,
tag: NodeTag.BETA,
isExternal: true,
},
{
id: 'pci-ai-endpoints-app',
idAttr: 'pci-ai-endpoints-app-link',
universe: PUBLICCLOUD_UNIVERSE_ID,
translation: 'sidebar_pci_ai_endpoints',
routing: {
application: 'public-cloud',
hash: '#/pci/projects/{projectId}/ai/endpoints',
},
features: ['pci-ai-endpoints'],
forceVisibility: true,
tag: NodeTag.BETA,
},
],
},
{
Expand Down
3 changes: 3 additions & 0 deletions packages/manager/apps/pci-ai-endpoints/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# @ovh-ux/manager-pci-ai-endpoints-app

> Manage AI Endpoints (usage and tokens) through OVHcloud control panel
22 changes: 22 additions & 0 deletions packages/manager/apps/pci-ai-endpoints/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="mobile-web-app-capable" content="yes" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>OVHcloud</title>
<link rel="shortcut icon" href="images/favicon.png" />
<link rel="apple-touch-icon" href="images/touchicon-180.png" />
</head>
<body>
<noscript>
<strong>
We're sorry but this application doesn't work properly without
JavaScript enabled. Please enable it to continue.
</strong>
</noscript>
<div id="root"></div>
<script type="module" src="./src/index.tsx"></script>
</body>
</html>
61 changes: 61 additions & 0 deletions packages/manager/apps/pci-ai-endpoints/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"name": "@ovh-ux/manager-pci-ai-endpoints-app",
"version": "0.0.0",
"private": true,
"description": "Manage AI Endpoints (usage and tokens) through OVHcloud control panel",
"repository": {
"type": "git",
"url": "git+https://github.com/ovh/manager.git",
"directory": "packages/manager/apps/pci-ai-endpoints"
},
"license": "BSD-3-Clause",
"author": "OVH SAS",
"scripts": {
"build": "tsc && vite build",
"dev": "tsc && vite",
"start": "lerna exec --stream --scope='@ovh-ux/manager-pci-ai-endpoints-app' --include-dependencies -- npm run build --if-present",
"start:dev": "lerna exec --stream --scope='@ovh-ux/manager-pci-ai-endpoints-app' --include-dependencies -- npm run dev --if-present",
"start:watch": "lerna exec --stream --parallel --scope='@ovh-ux/manager-pci-ai-endpoints-app' --include-dependencies -- npm run dev:watch --if-present",
"test:e2e": "tsc && node ../../../../scripts/run-playwright-bdd.js",
"test:e2e:cii": "tsc && node ../../../../scripts/run-playwright-bdd.js --ci"
},
"dependencies": {
"@ovh-ux/manager-config": "^8.0.0",
"@ovh-ux/manager-core-api": "^0.9.0",
"@ovh-ux/manager-core-utils": "*",
"@ovh-ux/manager-pci-common": "^0.8.1",
"@ovh-ux/manager-react-components": "^1.41.1",
"@ovh-ux/manager-react-core-application": "^0.11.1",
"@ovh-ux/manager-react-shell-client": "^0.8.1",
"@ovh-ux/manager-tailwind-config": "*",
"@ovh-ux/request-tagger": "^0.4.0",
"@ovh-ux/shell": "^4.0.1",
"@ovhcloud/ods-common-core": "17.2.1",
"@ovhcloud/ods-common-theming": "17.2.1",
"axios": "^1.1.2",
"clsx": "^1.2.1",
"i18next": "^23.8.2",
"i18next-http-backend": "^2.4.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-i18next": "^14.0.5",
"react-router-dom": "^6.3.0",
"tailwindcss": "^3.4.4"
},
"devDependencies": {
"@cucumber/cucumber": "^10.3.1",
"@ovh-ux/manager-vite-config": "*",
"@ovhcloud/ods-components": "17.2.1",
"@ovhcloud/ods-theme-blue-jeans": "17.2.1",
"@playwright/test": "^1.41.2",
"@tanstack/react-query": "^5.51.21",
"@tanstack/react-query-devtools": "^5.51.21",
"typescript": "^5.1.6",
"vite": "^5.2.13"
},
"regions": [
"CA",
"EU",
"US"
]
}
6 changes: 6 additions & 0 deletions packages/manager/apps/pci-ai-endpoints/postcss.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"title": "Verbessern Sie Ihre Anwendungen mit AI Endpoints",
"description": "Unsere einfach zu bedienende Plattform ermöglicht es Entwicklern aller Stufen, ihre Anwendungen mit AI-APIs auf dem neuesten Stand der Technik zu verbessern - ohne KI-Fachwissen.",
"descriptionBis": "Für diese APIs ist <strong>keinerlei KI</strong>-Expertise oder dedizierte Infrastruktur erforderlich, da die Serverless-Plattform Zugriff <strong>auf fortgeschrittene</strong> KI-Modelle bietet, darunter Sprachmodelle (LLMs), natürliche Sprachverarbeitung, Übersetzung, Spracherkennung, Bilderkennung und vieles mehr. Entwickler können aus einer Reihe von Modellen wählen, insbesondere Open-Source-Optionen wie Mistral AI, Llama und Stable Diffusion<strong>.</strong> .",
"goToAiEndpoint": "AI Endpoints",
"guideCategory": "Anleitung",
"guide1Title": "Erste Schritte mit AI Endpoints",
"guide1Description": "Entdecken Sie AI Endpoints, die sichere Serverless-Plattform von OVHcloud für Entwickler, die über benutzerfreundliche APIs Zugriff auf die besten Modelle für künstliche Intelligenz bietet. Es ist keine KI-Expertise erforderlich.",
"guide2Title": "Funktionen, Kapazitäten und Einschränkungen",
"guide2Description": "Entdecken Sie die aktuellen Funktionen, Kapazitäten und Einschränkungen von AI Endpoints",
"tutoCategory": "Tutorials ",
"guide3Title": "Use Cases mit AI Endpoints",
"guide3Description": "Entdecken Sie unsere Tutorials, um Ihre Anwendungen mit AI Endpoints zu erweitern. Hier erfahren Sie, wie Sie Chatbots erstellen, LLMs oder Tools für leistungsstarke KI-Lösungen integrieren."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"title": "Enhance your applications with AI Endpoints",
"description": "Designed with simplicity in mind, our platform allows developers of all skill levels to enhance their applications with cutting-edge AI APIs — no AI expertise required.",
"descriptionBis": "These APIs require <strong>no AI</strong> expertise or dedicated infrastructure, as the serverless platform provides access <strong>to advanced</strong> AI models , including language models (LLMs), natural language processing, translation, voice recognition, image recognition, and much more. Developers can choose from a range of models, particularly open-<strong>source options like Mistral AI, Llama and Stable Diffusion.</strong> .",
"goToAiEndpoint": "AI Endpoints",
"guideCategory": "Guide",
"guide1Title": "Getting started with AI Endpoints",
"guide1Description": "Discover AI Endpoints, OVHcloud's secure server platform for developers that provides access to the best AI models through easy-to-use APIs. No AI expertise is required.",
"guide2Title": "Features, capabilities and limitations",
"guide2Description": "Discover the current features, capabilities and limitations of AI Endpoints",
"tutoCategory": "Tutorials ",
"guide3Title": "Use cases with AI Endpoints",
"guide3Description": "Explore our tutorials to enrich your applications with AI Endpoints. Learn how to build chatbots, integrate LLM or tools for powerful AI solutions."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"title": "Mejore sus aplicaciones con AI Endpoints",
"description": "Diseñada con la simplicidad en mente, nuestra plataforma permite a los desarrolladores de todos los niveles de habilidad mejorar sus aplicaciones con API de IA de vanguardia, sin necesidad de conocimientos en IA.",
"descriptionBis": "Estas API no requieren <strong> conocimientos de IA</strong> ni de infraestructura dedicada, ya que la plataforma serverless permite acceder <strong> a modelos de IA avanzados</strong>, como los modelos de lenguaje (LLM), procesamiento de lenguaje natural, traducción, reconocimiento de voz, reconocimiento de imágenes, etc. Los desarrolladores pueden elegir entre una gama de modelos, en particular opciones de <strong>código abierto como Mistral AI, Llama y Stable Diffusion.</strong> .",
"goToAiEndpoint": "AI Endpoints",
"guideCategory": "Guía",
"guide1Title": "Primeros pasos con AI Endpoints",
"guide1Description": "Descubra AI Endpoints, la plataforma de servidores seguros para desarrolladores de OVHcloud que permite acceder a los mejores modelos de inteligencia artificial gracias a las API, fáciles de utilizar. No es necesario tener experiencia en IA.",
"guide2Title": "Funcionalidades, capacidades y limitaciones",
"guide2Description": "Descubra las funcionalidades, capacidades y limitaciones actuales de AI Endpoints",
"tutoCategory": "Tutoriales",
"guide3Title": "Casos de uso con AI Endpoints",
"guide3Description": "Explore nuestros tutoriales para enriquecer sus aplicaciones con AI Endpoints. Aprenda a crear chatbots, integrar LLM o herramientas para potentes soluciones de IA."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"title": "Améliorez vos applications avec AI Endpoints",
"description": "Conçu avec la simplicité à l'esprit, notre plateforme permet aux développeurs de tous niveaux de compétence d'améliorer leurs applications avec des API IA de pointe — aucune expertise en IA requise.",
"descriptionBis": "Ces API n'exigent <strong>aucune expertise en IA</strong> ni d'infrastructure dédiée, car la plateforme serverless permet d'accéder <strong>à des modèles d'IA avancés</strong>, notamment les modèles de langage (LLMs), le traitement du langage naturel, la traduction, la reconnaissance vocale, la reconnaissance d'images et bien plus encore. Les développeurs peuvent choisir parmi une gamme de modèles, en particlier des options en <strong>open source comme Mistral AI, Llama et Stable Diffusion.</strong>.",
"goToAiEndpoint": "AI Endpoints",
"guideCategory": "Guide",
"guide1Title": "Premiers pas avec AI Endpoints",
"guide1Description": "Découvrez AI Endpoints, la plateforme serverless sécurisée d'OVHcloud pour les développeurs qui permet d'accéder aux meilleurs modèles d'intelligence artificielle grâce à des API faciles à utiliser. Aucune expertise en IA n'est nécessaire.",
"guide2Title": "Fonctionnalités, capacités et limitations",
"guide2Description": "Découvrez les fonctionnalités, capacités et limitations actuelles d'AI Endpoints",
"tutoCategory": "Tutoriels",
"guide3Title": "Cas d'usage avec AI Endpoints",
"guide3Description": "Explorez nos tutoriels pour enrichir vos applications avec AI Endpoints. Apprenez comment créer des chatbots, intégrer des LLM ou des outils pour des solutions d'IA puissantes."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"title": "Améliorez vos applications avec AI Endpoints",
"description": "Conçu avec la simplicité à l'esprit, notre plateforme permet aux développeurs de tous niveaux de compétence d'améliorer leurs applications avec des API IA de pointe — aucune expertise en IA requise.",
"descriptionBis": "Ces API n'exigent <strong>aucune expertise en IA</strong> ni d'infrastructure dédiée, car la plateforme serverless permet d'accéder <strong>à des modèles d'IA avancés</strong>, notamment les modèles de langage (LLMs), le traitement du langage naturel, la traduction, la reconnaissance vocale, la reconnaissance d'images et bien plus encore. Les développeurs peuvent choisir parmi une gamme de modèles, en particlier des options en <strong>open source comme Mistral AI, Llama et Stable Diffusion.</strong>.",
"goToAiEndpoint": "AI Endpoints",
"guideCategory": "Guide",
"guide1Title": "Premiers pas avec AI Endpoints",
"guide1Description": "Découvrez AI Endpoints, la plateforme serverless sécurisée d'OVHcloud pour les développeurs qui permet d'accéder aux meilleurs modèles d'intelligence artificielle grâce à des API faciles à utiliser. Aucune expertise en IA n'est nécessaire.",
"guide2Title": "Fonctionnalités, capacités et limitations",
"guide2Description": "Découvrez les fonctionnalités, capacités et limitations actuelles d'AI Endpoints",
"tutoCategory": "Tutoriels",
"guide3Title": "Cas d'usage avec AI Endpoints",
"guide3Description": "Explorez nos tutoriels pour enrichir vos applications avec AI Endpoints. Apprenez comment créer des chatbots, intégrer des LLM ou des outils pour des solutions d'IA puissantes."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"title": "Migliora le tue applicazioni con AI Endpoint",
"description": "Progettata per semplicità, la nostra piattaforma consente agli sviluppatori di tutti i livelli di competenza di migliorare le proprie applicazioni con API di IA all'avanguardia: non sono necessarie competenze di IA.",
"descriptionBis": "Queste API non richiedono <strong> competenze di IA</strong> o un'infrastruttura dedicata, in quanto la piattaforma serverless consente l'accesso <strong>a modelli di IA avanzati</strong>, tra cui i modelli di linguaggio (LLMs), l'elaborazione del linguaggio naturale, la traduzione, il riconoscimento vocale, il riconoscimento delle immagini e altro ancora. Gli sviluppatori possono scegliere tra una vasta gamma di modelli, in particolare opzioni open <strong>source come Mistral AI, Llama e Stable Diffusion.</strong> .",
"goToAiEndpoint": "AI Endpoints",
"guideCategory": "Guida",
"guide1Title": "Iniziare a utilizzare AI Endpoints",
"guide1Description": "Scopri AI Endpoints, la piattaforma server sicura di OVHcloud per sviluppatori che permette di accedere ai migliori modelli di Intelligenza Artificiale grazie ad API di facile utilizzo. Non è necessario possedere competenze in IA.",
"guide2Title": "Funzionalità, funzionalità e limitazioni",
"guide2Description": "Scopri le funzionalità, le funzionalità e le limitazioni attuali di AI Endpoint",
"tutoCategory": "Tutorial",
"guide3Title": "Casi pratici con AI Endpoints",
"guide3Description": "Esplora i tutorial per aggiungere valore alle tue applicazioni con AI Endpoints. Scopri come creare chatbot, integrare LLM o strumenti per potenti soluzioni di IA."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"title": "Ulepsz swoje aplikacje za pomocą AI Endpoints",
"description": "Nasza platforma, zaprojektowana z myślą o prostocie, pozwala programistom o różnych umiejętnościach ulepszać aplikacje za pomocą najnowocześniejszych interfejsów API AI — bez konieczności posiadania specjalistycznej wiedzy w zakresie sztucznej inteligencji.",
"descriptionBis": "Interfejsy API nie wymagają <strong> wiedzy w zakresie AI</strong> ani dedykowanej infrastruktury, ponieważ platforma serverless umożliwia dostęp <strong>do zaawansowanych</strong> modeli AI, w tym modeli językowych (LLM), przetwarzania języka naturalnego, tłumaczeń, rozpoznawania mowy, rozpoznawania obrazów i wielu innych. Programiści mogą wybierać spośród gamy modeli, w szczególności opcje open source, takie jak <strong>Mistral AI, Llama i Stable Diffusion.</strong> .",
"goToAiEndpoint": "AI Endpoints",
"guideCategory": "Przewodnik",
"guide1Title": "Pierwsze kroki z AI Endpoints",
"guide1Description": "Odkryj AI Endpoints, bezpieczną platformę serwerową OVHcloud dla programistów, która umożliwia dostęp do najlepszych modeli sztucznej inteligencji za pomocą łatwych w użyciu interfejsów API. Doświadczenie w zakresie sztucznej inteligencji nie jest wymagane.",
"guide2Title": "Funkcje, możliwości i ograniczenia",
"guide2Description": "Poznaj aktualne funkcje, możliwości i ograniczenia rozwiązania AI Endpoints",
"tutoCategory": "Dokumentacja",
"guide3Title": "Przykłady zastosowania z AI Endpoints",
"guide3Description": "Przejrzyj nasze tutoriale, aby wzbogacić Twoje aplikacje za pomocą AI Endpoints. Dowiedz się, jak tworzyć chatbota, integrować LLM lub narzędzia do wydajnych rozwiązań AI."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"title": "Melhore as suas aplicações com o AI Endpoints",
"description": "Concebida com a simplicidade em mente, a nossa plataforma permite que os programadores de todos os níveis de competência melhorem as suas aplicações com APIs de IA de ponta — sem conhecimentos de IA necessários.",
"descriptionBis": "Estas APIs não requerem <strong> conhecimentos especializados em IA</strong> nem infraestruturas dedicadas, uma vez que a plataforma serverless permite aceder <strong>a modelos de IA avançados</strong>, nomeadamente os modelos de linguagem (LLMs), o tratamento da linguagem natural, a tradução, o reconhecimento de voz, o reconhecimento de imagens e muito mais. Os programadores podem escolher entre uma gama de modelos, em particular opções em <strong>open source como o Mistral AI, o Llama e o Stable Diffusion.</strong> .",
"goToAiEndpoint": "AI Endpoints",
"guideCategory": "Manual",
"guide1Title": "Primeiros passos com o AI Endpoints",
"guide1Description": "Descubra o AI Endpoints, a plataforma de servidores segura da OVHcloud para programadores que permite aceder aos melhores modelos de inteligência artificial graças a API fáceis de utilizar. Não é necessária qualquer experiência em IA.",
"guide2Title": "Funcionalidades, capacidades e limitações",
"guide2Description": "Descubra as funcionalidades, capacidades e limitações atuais do AI Endpoints",
"tutoCategory": "Tutoriais",
"guide3Title": "Casos práticos com o AI Endpoints",
"guide3Description": "Explore os nossos tutoriais para enriquecer as suas aplicações com o AI Endpoints. Saiba como criar chatbots, integrar LLMs ou ferramentas para soluções de IA potentes."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"title": "Willkommen bei der UAPP",
"crumb": "AI-Endpoints",
"tabs_2": "Tabs 2",
"onboarding": "Onboarding"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"title": "Welcome to Uapp",
"crumb": "AI-Endpoints",
"tabs_2": "Table 2",
"onboarding": "Onboarding"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"title": "Bienvenido/a a a la aplicación",
"crumb": "AI-Endpoints",
"tabs_2": "Tabs 2",
"onboarding": "Acompañamiento inicial"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"title": "Bienvenue uapp",
"crumb": "AI-Endpoints",
"tabs_2": "Tabs 2",
"onboarding": "Onboarding"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"title": "Bienvenue uapp",
"crumb": "AI-Endpoints",
"tabs_2": "Tabs 2",
"onboarding": "Onboarding"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"title": "Benvenuto in uapp",
"crumb": "AI-Endpoints",
"tabs_2": "Tabs 2",
"onboarding": "Onboarding"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"title": "Witamy",
"crumb": "AI-Endpoints",
"tabs_2": "Tabela 2",
"onboarding": "Onboarding"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"title": "Bem-vindo uapp",
"crumb": "AI-Endpoints",
"tabs_2": "Quadro 2",
"onboarding": "Integração"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"manager_error_page_title": "Oops...!",
"manager_error_page_button_cancel": "Abbrechen",
"manager_error_page_detail_code": "Fehlercode: ",
"manager_error_page_action_reload_label": "Erneut versuchen",
"manager_error_page_action_home_label": "Zurück zur Startseite",
"manager_error_page_default": "Beim Laden der Seite ist ein Fehler aufgetreten."
}
Loading
Loading