Table des matières
应用架构
Architecture de l'application
Le front-end appelle le service de stockage d'images et renvoie l'adresse de stockage d'images au front-end
Tous. les principales fonctions sont implémentées à l'aide de bibliothèques open source. Parmi eux, la fonction de téléchargement d'images est implémentée à l'aide de React-Uploader[5] :
总结
参考资料
Maison Périphériques technologiques IA Comment lancer une application d'IA en deux jours ?

Comment lancer une application d'IA en deux jours ?

Apr 11, 2023 pm 06:25 PM
前端 ai应用

Comment lancer une application d'IA en deux jours ?

Bonjour à tous, je m'appelle Casson.

Ces derniers mois, ​​IA​​​Les nouvelles liées à l’IA continuent d’attirer l’attention de tous. Surfant sur cette vague de popularité, des développeurs de tous horizons ont investi dans​Développement d'applications IA​​. ​AI​​​相关新闻不断抢占大家的注意力。逞着这波热度,各路开发者都投入到​​AI​​应用的开发。

比如,15岁的开发者saviomartin7[1]开发的IconifyAI[2]可以根据文字描述生成应用​​Logo​​。网页上线5天就赚到了接近1.5k刀。

Comment lancer une application dIA en deux jours ?

这波机遇对前端同学有很大利好,因为各种基础服务(比如各种存储服务、AI服务、部署)都有成熟的解决方案可以直接使用,前端同学只需专注业务逻辑的实现即可。

本文让我们看看一位国外老哥是如何用一个周末时间开发一款AI应用。该应用上线仅40天,就获得了20wUV。

Comment lancer une application dIA en deux jours ?

应用架构

首先介绍下这款应用,应用名叫restorephotos[3],用户上传模糊的老照片后,​​AI​

Par exemple, IconifyAI[2] développé par le développeur saviomartin7[1], âgé de 15 ans, peut générer des applications basées sur des descriptions textuelles​Logo​​. Le site Web a gagné près de 1,5 000 dollars dans les 5 jours suivant sa mise en ligne.

Comment lancer une application dIA en deux jours ?

Cette vague d'opportunités est très bénéfique pour les étudiants front-end, car divers services de base (tels que divers services de stockage, services d'IA, déploiement) disposent de solutions matures qui peuvent être utilisées directement , les étudiants front-end n'ont qu'à se concentrer sur la mise en œuvre de la logique métier.

Comment lancer une application dIA en deux jours ?Dans cet article, voyons comment un étranger a passé un week-end à développer une application d'IA. Seulement 40 jours après le lancement de l’application, celle-ci a reçu 20wUV.

Comment lancer une application dIA en deux jours ?

Architecture de l'application

    Tout d'abord, présentons cette application. L'application s'appelle restaurerphotos[3]. Une fois que les utilisateurs ont téléchargé d'anciennes photos floues,​​AI​ ​réparera votre photo et la renverra à une version plus claire. Le code complet de l'application est open source.
  1. Adresse du code open source de l'application [4]​
L'architecture de l'ensemble de l'application est divisée en 4 parties :

Comment lancer une application dIA en deux jours ?

Front-end (Next.js)

Service de stockage d'images
  1. Suivant. js
  2. AI API
  3. Le flux de travail complet est le suivant :
  4. Les utilisateurs téléchargent d'anciennes photos sur le front-end

Le front-end appelle le service de stockage d'images et renvoie l'adresse de stockage d'images au front-end

Le front-end envoie l'adresse de stockage des images au back-end

    Le back-end appelle l'API AI pour traiter les images
  • L'API AI renvoie les images traitées au backend, et le backend renvoie au frontend
  • Le frontend affiche le traitement effect

Partie front-end

L'ensemble du front-end et du back-end est implémenté à l'aide de Next.js. Le front-end comprend principalement deux parties :

Comment lancer une application dIA en deux jours ?

Téléchargement d'images

Affichage des images traitées par l'IA

Tous. les principales fonctions sont implémentées à l'aide de bibliothèques open source. Parmi eux, la fonction de téléchargement d'images est implémentée à l'aide de React-Uploader[5] :

<UploadDropzone
 uploader={uploader}
 options={options}
width="670px"
 height="250px"
 onUpdate={(file) => {
 // ...Comment lancer une application dIA en deux jours ?上传成功后的逻辑
 }}
/>;
Copier après la connexion

L'effet d'affichage de l'image traitée utilise React-Compare-slider[6] :

PS : La vieille photo de mon grand-père est utilisé ici. ๑¯◡¯๑

  1. Partie backend
La logique principale du backend comprend deux parties :

    Utilisez Redis pour limiter la fréquence des appels d'interface.
  • Redis utilise @upstash-redis[7], qui est un client Redis basé sur HTTP. Après avoir créé la base de données Redis en ligne, nous pouvons l'appeler sur le serveur via des requêtes HTTP.
  • Utilisez le modèle swinir fourni par replique pour traiter les images.
replicate est un fournisseur de services cloud d'apprentissage automatique. Nous pouvons choisir différents modèles d'apprentissage automatique en fonction des besoins de l'entreprise, tels que :

Comment lancer une application dIA en deux jours ?

Traitement de la clarté de l'image

Réparation de photos cassées🎜🎜Texte en image🎜🎜...🎜🎜 🎜🎜🎜🎜Sur le serveur Next.js, nous appelons l'API du modèle via HTTP : 🎜
// 我们上传的Comment lancer une application dIA en deux jours ?地址
const imageUrl = req.body.imageUrl;
// 请求模型接口
const startResponse = await fetch('https://api.replicate.com/v1/predictions', {
 method: 'POST',
 // ...省略代码
 body: JSON.stringify({
// 我们需要的模型对应的版本
version: '9283608cc6b7be6b65a8e44983db012355fde4132009bf99d976b2f0896856a3',
input: { img: imageUrl, version: 'v1.4', scale: 2 }
 })
});
Copier après la connexion

值得注意的是,模型计算需要时间,所以在服务端,我们每秒轮询一次结果,如果模型返回处理后的Comment lancer une application dIA en deux jours ?,我们就将Comment lancer une application dIA en deux jours ?返回给前端:

// 保存模型处理后的结果
let restoredImage: string | null = null;
while (!restoredImage) {
// 请求模型API
let finalResponse = await fetch(endpointUrl, {
method: "GET",
// ...省略代码
});
let jsonFinalResponse = await finalResponse.json();

if (jsonFinalResponse.status === "succeeded") {
// 模型返回Comment lancer une application dIA en deux jours ?成功
restoredImage = jsonFinalResponse.output;
} else if (jsonFinalResponse.status === "failed") {
// 模型返回Comment lancer une application dIA en deux jours ?失败
break;
} else {
// 模型还未返回Comment lancer une application dIA en deux jours ?,1s后轮询
await new Promise((resolve) => setTimeout(resolve, 1000));
}
}
Copier après la connexion

总结

可以发现,所有基础服务均有现成产品可供使用,这极大加快了前端的开发效率,降低了开发成本。

作者运行这个应用的成本是多少呢?其中:

  • Comment lancer une application dIA en deux jours ?存储使用的是upload.io[8]提供的存储服务。这里作者使用的是35刀/月的基础付费版本,每月有50GB的上传空间。
  • Redis云服务考虑到仅用来做接口调用频率限制,使用免费版就好。
  • 整个应用使用Vercel部署,Vercel Pro每月20刀。
  • 20wUV的模型API调用费用,大概是900刀。

对于想构建自己的AI应用的朋友,可以参考本文的实现与成本,行动起来吧。

参考资料

[1]saviomartin7:https://twitter.com/saviomartin7

[2]IconifyAI:http://IconifyAI.com

[3]restorephotos:https://www.restorephotos.io/

[4]应用开源代码地址:https://github.com/Nutlope/restorePhotos

[5]react-uploader:https://www.npmjs.com/package/react-uploader

[6]react-compare-slider:https://www.npmjs.com/package/react-compare-slider

[7]@upstash-redis:https://docs.upstash.com/redis/overall/pricing

[8]upload.io:https://upload.io/pricing

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Vue : une combinaison parfaite d'outils de développement front-end PHP et Vue : une combinaison parfaite d'outils de développement front-end Mar 16, 2024 pm 12:09 PM

PHP et Vue : une combinaison parfaite d'outils de développement front-end À l'ère actuelle de développement rapide d'Internet, le développement front-end est devenu de plus en plus important. Alors que les utilisateurs ont des exigences de plus en plus élevées en matière d’expérience des sites Web et des applications, les développeurs front-end doivent utiliser des outils plus efficaces et plus flexibles pour créer des interfaces réactives et interactives. En tant que deux technologies importantes dans le domaine du développement front-end, PHP et Vue.js peuvent être considérés comme une arme parfaite lorsqu'ils sont associés. Cet article explorera la combinaison de PHP et Vue, ainsi que des exemples de code détaillés pour aider les lecteurs à mieux comprendre et appliquer ces deux éléments.

Partage d'expérience en développement C# : compétences en développement collaboratif front-end et back-end Partage d'expérience en développement C# : compétences en développement collaboratif front-end et back-end Nov 23, 2023 am 10:13 AM

En tant que développeur C#, notre travail de développement comprend généralement le développement front-end et back-end. À mesure que la technologie se développe et que la complexité des projets augmente, le développement collaboratif du front-end et du back-end est devenu de plus en plus important et complexe. Cet article partagera quelques techniques de développement collaboratif front-end et back-end pour aider les développeurs C# à effectuer leur travail de développement plus efficacement. Après avoir déterminé les spécifications de l’interface, le développement collaboratif du front-end et du back-end est indissociable de l’interaction des interfaces API. Pour assurer le bon déroulement du développement collaboratif front-end et back-end, le plus important est de définir de bonnes spécifications d’interface. La spécification de l'interface implique le nom de l'interface

Questions fréquemment posées par les enquêteurs front-end Questions fréquemment posées par les enquêteurs front-end Mar 19, 2024 pm 02:24 PM

Lors des entretiens de développement front-end, les questions courantes couvrent un large éventail de sujets, notamment les bases HTML/CSS, les bases JavaScript, les frameworks et les bibliothèques, l'expérience du projet, les algorithmes et les structures de données, l'optimisation des performances, les requêtes inter-domaines, l'ingénierie front-end, les modèles de conception et les nouvelles technologies et tendances. Les questions de l'intervieweur sont conçues pour évaluer les compétences techniques du candidat, son expérience en matière de projet et sa compréhension des tendances du secteur. Par conséquent, les candidats doivent être parfaitement préparés dans ces domaines pour démontrer leurs capacités et leur expertise.

Django est-il front-end ou back-end ? Vérifiez-le! Django est-il front-end ou back-end ? Vérifiez-le! Jan 19, 2024 am 08:37 AM

Django est un framework d'application Web écrit en Python qui met l'accent sur un développement rapide et des méthodes propres. Bien que Django soit un framework Web, pour répondre à la question de savoir si Django est un front-end ou un back-end, vous devez avoir une compréhension approfondie des concepts de front-end et de back-end. Le front-end fait référence à l'interface avec laquelle les utilisateurs interagissent directement, et le back-end fait référence aux programmes côté serveur. Ils interagissent avec les données via le protocole HTTP. Lorsque le front-end et le back-end sont séparés, les programmes front-end et back-end peuvent être développés indépendamment pour mettre en œuvre respectivement la logique métier et les effets interactifs, ainsi que l'échange de données.

Explorer la technologie front-end du langage Go : une nouvelle vision du développement front-end Explorer la technologie front-end du langage Go : une nouvelle vision du développement front-end Mar 28, 2024 pm 01:06 PM

En tant que langage de programmation rapide et efficace, le langage Go est très populaire dans le domaine du développement back-end. Cependant, peu de gens associent le langage Go au développement front-end. En fait, l’utilisation du langage Go pour le développement front-end peut non seulement améliorer l’efficacité, mais également ouvrir de nouveaux horizons aux développeurs. Cet article explorera la possibilité d'utiliser le langage Go pour le développement front-end et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre ce domaine. Dans le développement front-end traditionnel, JavaScript, HTML et CSS sont souvent utilisés pour créer des interfaces utilisateur.

Comment implémenter la messagerie instantanée sur le front-end Comment implémenter la messagerie instantanée sur le front-end Oct 09, 2023 pm 02:47 PM

Les méthodes de mise en œuvre de la messagerie instantanée incluent WebSocket, Long Polling, Server-Sent Events, WebRTC, etc. Introduction détaillée : 1. WebSocket, qui peut établir une connexion persistante entre le client et le serveur pour obtenir une communication bidirectionnelle en temps réel. Le frontal peut utiliser l'API WebSocket pour créer une connexion WebSocket et obtenir une messagerie instantanée en envoyant et en recevant. messages 2. Long Polling, une technologie qui simule la communication en temps réel, etc.

Django : Un framework magique capable de gérer à la fois le développement front-end et back-end ! Django : Un framework magique capable de gérer à la fois le développement front-end et back-end ! Jan 19, 2024 am 08:52 AM

Django : Un framework magique capable de gérer à la fois le développement front-end et back-end ! Django est un framework d'application Web efficace et évolutif. Il est capable de prendre en charge plusieurs modèles de développement Web, notamment MVC et MTV, et peut facilement développer des applications Web de haute qualité. Django prend non seulement en charge le développement back-end, mais peut également créer rapidement des interfaces frontales et obtenir un affichage de vue flexible via un langage de modèle. Django combine le développement front-end et le développement back-end dans une intégration transparente, afin que les développeurs n'aient pas à se spécialiser dans l'apprentissage.

Combinaison de Golang et de technologie front-end : découvrez comment Golang joue un rôle dans le domaine front-end Combinaison de Golang et de technologie front-end : découvrez comment Golang joue un rôle dans le domaine front-end Mar 19, 2024 pm 06:15 PM

Combinaison de Golang et de la technologie front-end : pour explorer le rôle de Golang dans le domaine front-end, des exemples de code spécifiques sont nécessaires. Avec le développement rapide d'Internet et des applications mobiles, la technologie front-end est devenue de plus en plus importante. Dans ce domaine, Golang, en tant que puissant langage de programmation back-end, peut également jouer un rôle important. Cet article explorera comment Golang est combiné avec la technologie front-end et démontrera son potentiel dans le domaine front-end à travers des exemples de code spécifiques. Le rôle de Golang dans le domaine front-end est celui d'un outil efficace, concis et facile à apprendre.

See all articles