Jadual Kandungan
keseluruhan bahagian hadapan dan bahagian belakang dilaksanakan menggunakan Next.js Bahagian hadapan terutamanya merangkumi dua bahagian:
Logik teras belakang termasuk dua bahagian:
总结
参考资料
Rumah Peranti teknologi AI Bagaimana untuk melancarkan aplikasi AI dalam dua hari?

Bagaimana untuk melancarkan aplikasi AI dalam dua hari?

Apr 11, 2023 pm 06:25 PM
hujung hadapan ai permohonan

Bagaimana untuk melancarkan aplikasi AI dalam dua hari?

Helo semua, saya Casson.

Dalam beberapa bulan kebelakangan ini, ​​AI​​​berita berkaitan terus menarik perhatian semua orang. Menunggang pada gelombang populariti ini, pembangun dari semua lapisan masyarakat melabur dalam pembangunan aplikasi. ​AI​

Sebagai contoh, IconifyAI[2] yang dibangunkan oleh pembangun berusia 15 tahun saviomartin7[1] boleh menjana aplikasi berdasarkan penerangan teks

​. Tapak web memperoleh hampir 1.5k dolar dalam masa 5 hari selepas berada dalam talian. ​Logo​

Bagaimana untuk melancarkan aplikasi AI dalam dua hari?

Gelombang peluang ini memberi manfaat besar kepada pelajar hadapan, kerana pelbagai perkhidmatan asas (seperti pelbagai perkhidmatan storan, perkhidmatan AI, penggunaan) mempunyai penyelesaian yang matang secara langsung, dan pelajar front-end hanya perlu memberi tumpuan kepada pelaksanaan logik perniagaan.

Dalam artikel ini, mari kita lihat cara seorang lelaki asing menghabiskan hujung minggu membangunkan aplikasi AI. Hanya 40 hari selepas aplikasi dilancarkan, ia menerima 20wUV.

Bagaimana untuk melancarkan aplikasi AI dalam dua hari?

Seni Bina Aplikasi

Pertama sekali, mari perkenalkan aplikasi ini dipanggil restorephotos[3]. 🎜> Foto akan dibaiki dan versi yang lebih jelas akan dikembalikan. Kod lengkap aplikasi telah dibuka sumbernya.

​AI​

Alamat kod sumber terbuka aplikasi[4]​

Bagaimana untuk melancarkan aplikasi AI dalam dua hari?Seni bina seluruh aplikasi terbahagi kepada 4 bahagian:

Halaman hadapan (Next.js)
  1. Perkhidmatan storan imej
  2. Pelayan next.js
  3. AI API

Bagaimana untuk melancarkan aplikasi AI dalam dua hari?Aliran kerja lengkap adalah seperti berikut:

Pengguna memuat naik foto lama di bahagian hadapan
  1. Hujung hadapan memanggil perkhidmatan storan imej dan mengembalikan alamat storan imej ke hujung hadapan
  2. Hujung hadapan Hantar alamat storan imej ke hujung belakang
  3. Halaman belakang memanggil AI ​​API untuk memproses imej
  4. AI ​​API mengembalikan imej yang diproses ke bahagian belakang dan bahagian belakang mengembalikannya ke bahagian hadapan
  5. Frontend Tunjukkan kesan yang diproses
  6. Bahagian hujung hadapan

keseluruhan bahagian hadapan dan bahagian belakang dilaksanakan menggunakan Next.js Bahagian hadapan terutamanya merangkumi dua bahagian:

Muat naik imej
  • Paparan gambar diproses AI
  • Semua fungsi utama dilaksanakan menggunakan perpustakaan sumber terbuka. Antaranya, fungsi muat naik imej dilaksanakan menggunakan react-uploader[5]:

Kesan paparan imej yang diproses dilaksanakan menggunakan react-compare-slider[6]:
<UploadDropzone
 uploader={uploader}
 options={options}
width="670px"
 height="250px"
 onUpdate={(file) => {
 // ...Bagaimana untuk melancarkan aplikasi AI dalam dua hari?上传成功后的逻辑
 }}
/>;
Salin selepas log masuk

Bagaimana untuk melancarkan aplikasi AI dalam dua hari?

PS: Gambar lama datuk saya digunakan di sini ๑¯◡¯๑

Bahagian belakang

Logik teras belakang termasuk dua bahagian:

Gunakan Redis untuk mengehadkan kekerapan panggilan antara muka.
  1. Redis menggunakan @upstash-redis[7], iaitu klien Redis berdasarkan HTTP. Selepas mencipta pangkalan data Redis dalam talian, kami boleh memanggilnya pada pelayan melalui permintaan HTTP.

Gunakan model swinir yang disediakan oleh replika untuk memproses imej.
  1. Replicate ialah penyedia perkhidmatan awan pembelajaran mesin Kami boleh memilih model pembelajaran mesin yang berbeza mengikut keperluan perniagaan, seperti:

Memproses kejelasan imej
    <🎜. > Pembaikan Foto Rosak
  • Teks ke Imej
  • ...

Pada pelayan Next.js, kami menggunakan HTTP Panggil API model dalam borang: Bagaimana untuk melancarkan aplikasi AI dalam dua hari?

// 我们上传的Bagaimana untuk melancarkan aplikasi AI dalam dua hari?地址
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 }
 })
});
Salin selepas log masuk

值得注意的是,模型计算需要时间,所以在服务端,我们每秒轮询一次结果,如果模型返回处理后的Bagaimana untuk melancarkan aplikasi AI dalam dua hari?,我们就将Bagaimana untuk melancarkan aplikasi AI dalam dua hari?返回给前端:

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

if (jsonFinalResponse.status === "succeeded") {
// 模型返回Bagaimana untuk melancarkan aplikasi AI dalam dua hari?成功
restoredImage = jsonFinalResponse.output;
} else if (jsonFinalResponse.status === "failed") {
// 模型返回Bagaimana untuk melancarkan aplikasi AI dalam dua hari?失败
break;
} else {
// 模型还未返回Bagaimana untuk melancarkan aplikasi AI dalam dua hari?,1s后轮询
await new Promise((resolve) => setTimeout(resolve, 1000));
}
}
Salin selepas log masuk

总结

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

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

  • Bagaimana untuk melancarkan aplikasi AI dalam dua hari?存储使用的是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

Atas ialah kandungan terperinci Bagaimana untuk melancarkan aplikasi AI dalam dua hari?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP dan Vue: gandingan sempurna alat pembangunan bahagian hadapan PHP dan Vue: gandingan sempurna alat pembangunan bahagian hadapan Mar 16, 2024 pm 12:09 PM

PHP dan Vue: gandingan sempurna alat pembangunan bahagian hadapan Dalam era perkembangan pesat Internet hari ini, pembangunan bahagian hadapan telah menjadi semakin penting. Memandangkan pengguna mempunyai keperluan yang lebih tinggi dan lebih tinggi untuk pengalaman tapak web dan aplikasi, pembangun bahagian hadapan perlu menggunakan alat yang lebih cekap dan fleksibel untuk mencipta antara muka yang responsif dan interaktif. Sebagai dua teknologi penting dalam bidang pembangunan bahagian hadapan, PHP dan Vue.js boleh dianggap sebagai alat yang sempurna apabila digandingkan bersama. Artikel ini akan meneroka gabungan PHP dan Vue, serta contoh kod terperinci untuk membantu pembaca memahami dan menggunakan kedua-dua ini dengan lebih baik.

Perkongsian pengalaman pembangunan C#: kemahiran pembangunan kolaboratif bahagian hadapan dan belakang Perkongsian pengalaman pembangunan C#: kemahiran pembangunan kolaboratif bahagian hadapan dan belakang Nov 23, 2023 am 10:13 AM

Sebagai pembangun C#, kerja pembangunan kami biasanya merangkumi pembangunan bahagian hadapan dan bahagian belakang Apabila teknologi berkembang dan kerumitan projek meningkat, pembangunan kolaboratif bahagian hadapan dan bahagian belakang menjadi semakin penting dan kompleks. Artikel ini akan berkongsi beberapa teknik pembangunan kolaboratif bahagian hadapan dan belakang untuk membantu pembangun C# menyelesaikan kerja pembangunan dengan lebih cekap. Selepas menentukan spesifikasi antara muka, pembangunan kolaboratif bahagian hadapan dan belakang tidak dapat dipisahkan daripada interaksi antara muka API. Untuk memastikan pembangunan kolaboratif bahagian hadapan dan belakang yang lancar, perkara yang paling penting ialah menentukan spesifikasi antara muka yang baik. Spesifikasi antara muka melibatkan nama antara muka

Soalan yang sering ditanya oleh penemuduga front-end Soalan yang sering ditanya oleh penemuduga front-end Mar 19, 2024 pm 02:24 PM

Dalam temu bual pembangunan bahagian hadapan, soalan lazim merangkumi pelbagai topik, termasuk asas HTML/CSS, asas JavaScript, rangka kerja dan perpustakaan, pengalaman projek, algoritma dan struktur data, pengoptimuman prestasi, permintaan merentas domain, kejuruteraan bahagian hadapan, corak reka bentuk, dan teknologi dan trend baharu. Soalan penemuduga direka bentuk untuk menilai kemahiran teknikal calon, pengalaman projek dan pemahaman tentang trend industri. Oleh itu, calon harus bersedia sepenuhnya dalam bidang ini untuk menunjukkan kebolehan dan kepakaran mereka.

Adakah Django bahagian hadapan atau belakang? semaklah! Adakah Django bahagian hadapan atau belakang? semaklah! Jan 19, 2024 am 08:37 AM

Django ialah rangka kerja aplikasi web yang ditulis dalam Python yang menekankan pembangunan pesat dan kaedah bersih. Walaupun Django ialah rangka kerja web, untuk menjawab soalan sama ada Django ialah front-end atau back-end, anda perlu mempunyai pemahaman yang mendalam tentang konsep front-end dan back-end. Bahagian hadapan merujuk kepada antara muka yang pengguna berinteraksi secara langsung, dan bahagian belakang merujuk kepada program bahagian pelayan Mereka berinteraksi dengan data melalui protokol HTTP. Apabila bahagian hadapan dan bahagian belakang dipisahkan, program bahagian hadapan dan bahagian belakang boleh dibangunkan secara bebas untuk melaksanakan logik perniagaan dan kesan interaktif masing-masing, dan pertukaran data.

Meneroka teknologi bahagian hadapan bahasa Go: visi baharu untuk pembangunan bahagian hadapan Meneroka teknologi bahagian hadapan bahasa Go: visi baharu untuk pembangunan bahagian hadapan Mar 28, 2024 pm 01:06 PM

Sebagai bahasa pengaturcaraan yang pantas dan cekap, bahasa Go popular secara meluas dalam bidang pembangunan bahagian belakang. Walau bagaimanapun, beberapa orang mengaitkan bahasa Go dengan pembangunan bahagian hadapan. Malah, menggunakan bahasa Go untuk pembangunan bahagian hadapan bukan sahaja boleh meningkatkan kecekapan, tetapi juga membawa ufuk baharu kepada pembangun. Artikel ini akan meneroka kemungkinan menggunakan bahasa Go untuk pembangunan bahagian hadapan dan memberikan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik bahagian ini. Dalam pembangunan front-end tradisional, JavaScript, HTML dan CSS sering digunakan untuk membina antara muka pengguna

Cara melaksanakan pemesejan segera pada bahagian hadapan Cara melaksanakan pemesejan segera pada bahagian hadapan Oct 09, 2023 pm 02:47 PM

Kaedah untuk melaksanakan pemesejan segera termasuk WebSocket, Tinjauan Panjang, Acara Dihantar Pelayan, WebRTC, dsb. Pengenalan terperinci: 1. WebSocket, yang boleh mewujudkan sambungan berterusan antara pelanggan dan pelayan untuk mencapai komunikasi dua hala masa nyata Bahagian hadapan boleh menggunakan API WebSocket untuk membuat sambungan WebSocket dan mencapai pemesejan segera dengan menghantar dan menerima. mesej; 2. Long Polling, teknologi yang menyerupai komunikasi masa nyata, dsb.

Django: Rangka kerja ajaib yang boleh mengendalikan pembangunan bahagian hadapan dan belakang! Django: Rangka kerja ajaib yang boleh mengendalikan pembangunan bahagian hadapan dan belakang! Jan 19, 2024 am 08:52 AM

Django: Rangka kerja ajaib yang boleh mengendalikan pembangunan bahagian hadapan dan belakang! Django ialah rangka kerja aplikasi web yang cekap dan berskala. Ia mampu menyokong berbilang model pembangunan web, termasuk MVC dan MTV, dan boleh membangunkan aplikasi web berkualiti tinggi dengan mudah. Django bukan sahaja menyokong pembangunan bahagian belakang, tetapi juga boleh membina antara muka bahagian hadapan dengan cepat dan mencapai paparan paparan yang fleksibel melalui bahasa templat. Django menggabungkan pembangunan bahagian hadapan dan pembangunan bahagian belakang menjadi penyepaduan yang lancar, supaya pembangun tidak perlu pakar dalam pembelajaran

Gabungan teknologi Golang dan bahagian hadapan: terokai cara Golang memainkan peranan dalam bidang bahagian hadapan Gabungan teknologi Golang dan bahagian hadapan: terokai cara Golang memainkan peranan dalam bidang bahagian hadapan Mar 19, 2024 pm 06:15 PM

Gabungan teknologi Golang dan bahagian hadapan: Untuk meneroka bagaimana Golang memainkan peranan dalam bidang bahagian hadapan, contoh kod khusus diperlukan Dengan perkembangan pesat Internet dan aplikasi mudah alih, teknologi bahagian hadapan telah menjadi semakin penting. Dalam bidang ini, Golang, sebagai bahasa pengaturcaraan bahagian belakang yang berkuasa, juga boleh memainkan peranan penting. Artikel ini akan meneroka cara Golang digabungkan dengan teknologi bahagian hadapan dan menunjukkan potensinya dalam bidang bahagian hadapan melalui contoh kod khusus. Peranan Golang dalam bidang front-end adalah sebagai cekap, ringkas dan mudah dipelajari

See all articles