paint-brush
ICP Uya riqsiyta prueba DApp: Qhipa ruwayqa musphachisunkiby@induction
479 ñawinchasqakuna
479 ñawinchasqakuna

ICP Uya riqsiyta prueba DApp: Qhipa ruwayqa musphachisunki

by Vision NP9m2024/09/21
Read on Terminal Reader

Nishu unay; Ñawinchanapaq

Internet Computadora Protocolo (ICP) llamk'achkan AI descentralizacionpaq, ruwanakuna hunt'asqa descentralizado phuyu infraestructura kaqpi purichiyta atichispa. Kay laya descentralización ruwayqa AI llamk'aykuna sut'i, censura-resistente, mana ancha sapan puntokuna pantayniyuq kananpaq qhawan. Qhawarisunchis imaynatas descentralización AI llank’an objetivamente sapa llank’aymanta sutil rikuchiykunawan.
featured image - ICP Uya riqsiyta prueba DApp: Qhipa ruwayqa musphachisunki
Vision NP HackerNoon profile picture
0-item
1-item

Kay qhipa watakunaqa especial karqan centralizado servidor-based AI modelokunapaq ChatGPT hina, Google kaqpa Gemini kaq, Microsoft kaqpa Copilot kaqhina, hukkunapas Mana iskayrayanapaqchu chayhina AI modelokuna achka aspectokunata tikrasqanku. Ichaqa huk ladomantaq wakin mana allinkunayoq kanku. Yaqapaschá, uyarirqankitaqmi ChatGPT nisqap achka llamk'ayninkunamanta .


Centralizado servidor-manta ruwasqa modelokuna hatun riesgopi kanku huklla pantay puntomanta. Ichaqa kunanmi tiempoqa cambiarun. Blockchain tecnologiaqa achka llamkaykunatapas tikrachkanmi, chaymanta inteligencia artificial (AI) nisqapas.


Internet Computadora Protocolo (ICP) mayqinchus Dfinity ruwasqa, llamk'achkan AI descentralizacionpaq AI ruwanakuna hunt'asqa descentralizasqa phuyu infraestructura kaqpi purichiyta atichispa. Sapaq kaqmi, ICP AI modelokuna chaymanta yanapakuykuna huk llika sapanchasqa willaypa chawpinkunapi mast'arisqa kanankupaq saqillan. Kay laya descentralización ruwayqa AI llamk'aykuna sut'i, censura-resistente, mana ancha sapan puntokuna pantayniyuq kananpaq qhawan.


Kay qillqasqaqa prueba práctica Face Recognition DApp kaqwan chiqanpi kachkan mayqinchus ICP kaqpi sayasqa kachkan. Qhawarisunchis imaynatas descentralización AI llank’an objetivamente sapa llank’aymanta sutil rikuchiykunawan. Complejos técnicos hamut'aykunata mana sasa entiendenapaq yachachiykunaman p'akiyta munarqayku chayrayku qallarisun.


Llapan proyecto wiñachiy chaymanta prueba ruwanakuna Windows kaqpi ruwasqa makina kaqpi ruwasqa karqa, chayrayku kaypi Linux subsistema ruwachkayku imaraykuchus achka ICP wiñachiy yanapakuykuna chaymanta scriptkuna Linux kaqpi ruwasqa muyuriqkunapaq allinchasqa kanku.


📥Ñawpaqmanta yachaykuna:

  • Llamkana Llamkana : Windows Windows Subsystem Linux kaqpaq (WSL) churasqa. Ama hina kaspa, kay pusaqman qhaway churanapaq.


  • Yachay :

    • JavaScript , React.js , Rust , WebAssembly nisqamanta qallariy hamut'ay.

    • Web wiñachiy hamutaykunawan riqsinakuy.


  • Llamkanakuna :

    • DFX SDK (ICP wiñachiy marco) .
    • Nodo.js y npm.
    • Rust: Rust nisqa herramientakuna churana.
    • Git: Waqaychasqata clonanaykipaq necesitanki. Ama hina kaspa, paykunap kamachiyninkuta aswan allinta qhaway chayta churanaykipaq.
    • wasi2ic: WASImanta hapipakuq Wasm módulo ICP kaqpi purinanpaq tikranapaq yanapakuy.
    • wasm-opt: WebAssembly allinchaq.


📥Wiñariy Pachamamata churana:

  1. WSL terminalniyki kichay, chaymanta kay kamachiyta purichiy DFX churanaykipaq:
 sh -ci "$(curl -fsSL https://smartcontracts.org/install.sh)"


👉Instalacionta takyachinapaq:

 dfx –version


  1. Rust nisqapi churay kay kamachiyta purichispa:
 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/env

👉Instalacionta chiqapchanapaqqa:

 rustc –version


3. Node.js nisqa churay kay kamachiyta purichispa:

 curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install -y nodejs


👉Instalacionta chiqapchanapaqqa:

 node -v npm -v


  1. wasi2ic churay: Ñawpaqta GitHub waqaychanankuta clonay.
 git clone https://github.com/wasm-forge/wasi2ic.git cd wasi2ic cargo install --path .


👉Instalacionta qhawanaykipaqqa:

 echo $PATH wasi2ic –help


  1. Wam-opt nisqa churay:
 cargo install wasm-opt


📥Proyectota clonay:

Proyectopa GitHub waqaychasqanta prueba ruwayniykupaq llamk'achkayku. Waqaychasqankuta kaypi qhawayta atinki .


1. Waqaychasqata clonay hinaspa uya riqsiy proyectoman riy:

 git clone https://github.com/dfinity/examples.git cd examples/rust/face-recognition

Qhaway: Linux subsistema willañiqiykikunaman yaykuyta atikunki \\wsl$ Willayta maskaqpi utaq Windows OS kaqpi chiqan maskana ruwayta maskaspa.


📥Uya riqsinapaq Modelos nisqakunata uraykachiy


  1. Uya riqsinapaq modelota uraykachiy:

Uya riqsiy modelo nisqawanmi huk siq’ipi uyakunata riqsikunqa. Paway:

 ./download-face-detection-model.sh


  1. Uya riqsinapaq modelota uraykachiy:

Modelota ONNX formatopi hawaman apachinayki tiyan PyTorch chaymanta facenet-pytorch kaqwan. Kay Python bibliotecakunata churaspa qallariy:

 pip install torch facenet-pytorch onnx


Qhaway: Sichus Python manaraq huch'uy llamkanaykipi churasqachu, Python churayta kallpachakuy chaymanta kaymanta pip: https://packaging.python.org/en/latest/tutorials/installing-packages/ .


  1. ONX nisqap rikch'ayninta hawa mama llaqtakunaman apachiy:

Python willañiqipi icha shell nisqapi, kayta purichiy: Terminalpi python3 nisqa qillqay chaymanta kay qatiq codigota purichiy. Ruwaymanta qhipaman, exit() nisqa qillqay.

 import torch import facenet_pytorch resnet = facenet_pytorch.InceptionResnetV1(pretrained='vggface2').eval() input = torch.randn(1, 3, 160, 160) torch.onnx.export(resnet, input, "face-recognition.onnx", verbose=False, opset_version=11)


Kayqa face-recognition.onnx willañiqitam paqarichinqa. Waqaychasqaykipa saphinman copiay.


📥Willakuy

Kunanqa, chay proyectota hatarichinapaq pacha chayamun. Paway:

 dfx start --background dfx deploy


Sichus tukuy imapas allinta purin, Frontend URL terminalpi rikunki.

Siqi 1. Frontend URLkunayuq terminalkunapi allin mast'ariy willakuy

Qhaway: Sichus wakin pantaywan tupanki chinkasqa clienterayku, kallpachakuy webpack chaymanta webpack-cli tukuypaq churayta npm kaqwan:

sudo npm install -g webpack webpack-cli


Hinaspa, llaqtapi dependenciakuna:

npm install


📥Lata kamay, phaway:

 dfx canister create backend


Kay willayta terminalpi rikunki.

Siqi 2. Willakuy rikuchisqa terminalpi allin lata ruwaywan hinaspa qawachiynin

👉Kunanqa, lata qhipa kayninta qhawayta atinki:

 dfx canister status backend


Kayhinata terminalpi rikunki.

Siqi 3. Latapa kayninpa qipanpi

📥Chunk Subcarga de Modelos

Yaqachus hina AI modelokuna típicamente hatun kanku. Mana chiqalla WebAssembly (Wasm) iskayniyuq kaqpi huk yuyaysapa contrato kaqpi churasqachu kankuman. Aswanpas kay modelokunataqa sapankamam churana. Kayta ruwanapaq, DecideAI huk yanapakuyta ruwarqa modelokuna yapamanta yapaypaq. Kaypi llamk'anata tarinki: ic-file-uploader .


👉Chay yanapakuyta churanapaq, kay kamachiyta llamk'achiy:

 cargo install ic-file-uploader


Huk kuti churasqa, upload-models-to-canister.sh qillqa mayt'uta llamk'achiy atikunki ./upload-models-to-canister.sh terminal kaqpi purichispa modelokuna karganapaq. Kay qillqaqa kay ruwaykunata ruwan:


  1. Chay latamanta kunan kaq AI modelokunata chuyanchan:
 dfx canister call backend clear_face_detection_model_bytes dfx canister call backend clear_face_recognition_model_bytes


  1. Musuq modelokunata yapamanta yapan:
 ic-file-uploader backend append_face_detection_model_bytes version-RFB-320.onnx ic-file-uploader backend append_face_recognition_model_bytes face-recognition.onnx


  1. Tukuyninpiqa, qillqa mayt'uqa churasqa modelokunatam churan:
 dfx canister call backend setup_models


Kunanqa, Frontend kaqwan tinkiyta atikunki URL chaskisqayki terminalpi dfx deploy kamachiyta kachkaptin (1 kaq siqi)


Siqi 4. dApppa ñawpaqninpi interfaznin Nikola Teslapa foton churasqawan. "Runa yapay" ñit'iymanta qhipaman suti yapanapaq rimanakuna qutu lluqsimun


Huk kuti huk siq'ita churanki ICPpa logotiponpi ñit'ispa, kallpachakuy huk runap sutinta yapayta “ Runa yapay ” ñit'ispa modelota yachachinaykipaq.

Uyanpi kikinmanta tawa kuchuyuq markawanmi uyata riqsin. Huk kuti sutita churanki, huk willayta allin yapasqamanta rikuchin kayhinata:

Siqi 5. Suti yapasqamanta willakuy rikuchisqa

AI yuyarin uyapaq churasqayki sutita chaymanta pruebayta atikunki sichus huk runap hukniray fotonkunap uyanta riqsin icha manachu. Kaypiqa Nikola Teslapa hukniray fotonkunatam hurqunku. Huk Fotota uyata riqsinaykipaq churanaykipaqqa, chay p’anqata wakmanta cargay, chaymantataq “ Reqsiy ” nisqapi ñit’iy. Qawasunchik; allinta riqsichirqa Nikola Tesla uyanta qallariymanta pisilla huknirayta.

Siqi 6. AI allinta tarirun Nikola Teslapa uyanta huknin fotomanta 0,68 chikan kayninwan

Kaypi, huk AI-wan ruwasqa foto Nikola Tesla modeloman apachisqa, hinaspa admirakuypaq, allinta uyata tarirun, kaypi qawasun:

Siqi 7. Nikola Teslapa AI ruwasqa uyanqa dApp nisqawanmi 0,77 chikanllawan tarisqa

Allinta chiqaqcharqa ICP Uya riqsiy DApp allinta llamk'achkan imaynachus allinta Nikola Tesla uyakunata tarisqa. Kikillaykiqa pruebawaqmi.


Pruebapaq kasqanrayku, UI chaymanta ruwanakuna pisilla kanku. Yapa ruwanakuna chaymanta yanapakuykunata yapayta atikunki sichus usqhaylla karuman purichkanki ruwanapaq ruwanapaq wakichisqa dApp ICP kaqpi uya riqsiypaq. Kay qatiq ruwanakunata codigo ejemplokunawan pruebayta atikunki. Ama hina kaspa, yachay, munasqaykiman hina códigokunata yapanayki utaq ruwanayki.


📥Kaypi wakin yuyaychaykuna qampaq:

  1. Internet Identidad kaqwan Usuario Chiqaqchayta yapay

Sichus kay ruwayta kay dApp kaqman yapanki, registrado ruwaqkunalla DApp kaqman yaykuyta atinku. Kaypi imayna chiqaqchayta yapayta atikunki Internet Identidad kaqwan. Internet Identidadta tinkiyta atikunki Internet Identidad yaykuy ñit'inata wasi p'anqapi yapaspa. Huk kuti ruwaq yaykuptin, huk sapanchasqa tabla de mandota rikuchiy.


Imaynatataq Yanapay:

👉Internet Identidadmanta dependenciakuna churay:

 npm install @dfinity/agent @dfinity/auth-client


👉Kay codigota yapay frontendniykiman chiqapchayta atichinaykipaq:

 import { AuthClient } from "@dfinity/auth-client"; async function init() { const authClient = await AuthClient.create(); if (await authClient.isAuthenticated()) { // Display dashboard or personalized content } else { authClient.login({ identityProvider: "https://identity.ic0.app/#authorize", onSuccess: () => { // Once authenticated, display personalized features }, }); } } init();


👉Yaykuymanta qhipaman, llamk'achiqqa riqsisqa uyakunamanta utaq wak sapanchasqa datukunamanta historiankuta qhawayta atin.


  1. Imahinata Kargay Aysanawan chaymanta aysana-hinallawan ruwaywan

Siqikuna yapanapaq ruwayta chaymanta experienciata aswan sumaq ruway, ruwaqkunata siq'ikunata aysayta chaymanta urquyta uya tarinapaq saqispa.


Imaynatataq Yanapay :

👉HTML5pa aysana-hinallataq-urquy ruwayninta llamk'achiy:

 <div id="drop-area"> <p>Drag and drop an image here or click to select</p> <input type="file" id="file-input" hidden /> </div>


👉JavaScript yapay aysana-urquy ruwayta kamachinapaq:

 const dropArea = document.getElementById("drop-area"); dropArea.addEventListener("dragover", (event) => { event.preventDefault(); }); dropArea.addEventListener("drop", (event) => { event.preventDefault(); const files = event.dataTransfer.files; // Process the uploaded image });


👉Aseguray allinta hukllawakunanpaq kunan kaq uya riqsiy ruwayniykiwan.


  1. Uya riqsinapaq ñawpaqman purinapaq Barra

Huk llamk'achiq ruwana kanqa huk ñawpaqman puriy barra rikuchinapaq mayk'aq huk siq'i kargasqa kachkan chaymanta ruwaqkunaman willanapaq sistema siq'ita ruwachkan.


Imaynatataq Yanapay:

👉Huk sanu HTML ñawpaqman puriy barrata llamk'achiy:

 <div id="progress-bar"> <div id="progress-fill" style="width: 0%;"></div> </div>


Imahina ruwasqa kasqanmanhina ñawpaqman puriy barrata kallpawan musuqyachiy:

 const progressFill = document.getElementById("progress-fill"); let progress = 0; const interval = setInterval(() => { progress += 10; progressFill.style.width = `${progress}%`; if (progress === 100) { clearInterval(interval); } }, 100); // Simulate progress every 100ms


  1. Uya riqsiy ruwaykunapaq willakuykuna

Huk ruwayta yapayta atikunki chiqa pacha willakuykunata qunapaq huk kuti uya riqsiy tukusqa kaptin, huk modal utaq tostadas willakuyniqta.


Imaynatataq Yanapay :

👉Toastr hina llañu bibliotecata utaq tostadas personalizadas willakuykunata llamk'achiy atikunki.

 <div id="notification" class="hidden">Face Recognition Complete!</div>


👉JavaScript nisqapi, willayta rikuchiy mayk'aq qhipa kaq ruwasqata kutichin:

 function showNotification(message) { const notification = document.getElementById("notification"); notification.innerHTML = message; notification.classList.remove("hidden"); setTimeout(() => { notification.classList.add("hidden"); }, 3000); // Hide notification after 3 seconds } // Call this after face recognition is done showNotification("Face detected and recognized!");


📥Tukupay Ruwaykuna: Wakmanta hatarichiy hinaspa mastariy

Kay musuq ruwaykunata hunt'achiyta qhipaman:


👉Proyectota musuqmanta hatarichiy:

 dfx build


👉Testnet nisqaman mast'ariy: Ñawpaqta pruebanapaqmi manaraq mainnet nisqaman utqaylla purichkaspa.

 dfx deploy --network ic


Kaykunaqa iskay kimsa ejemplokuna hinaspa yuyaykunam qawachinapaq. Kikiyki chaykunata pruebayta atinki, chaymanta willawayku ñawpaqman purisqaykita comentarios nisqapi. Hinallataq, aswan ruwayta atikunki chaywan AI descentralizacionpaq ICP kaqpi.

Conclusion:

Allinta pruebasqayku Face Recognizing DApp kaqmanta ICP kaqpi mayqinchus chiqamanta AI (DeAI) descentralizacionpaq kallpachakuy kachkan. Pruebaykuman hina, DApp kutichiykuna utqaylla karqa, chaymanta uyakuna tariyqa chiqan karqa. ICPpa sapalla infraestructura nisqa yanapawasunmanmi sasachakuy ruwaykunata ruwanapaq, uya riqsiy hina, mana sistemas centralizados nisqapi hapipakuspa.


Mana harkayta chaymanta sapalla willayllatachu yapan aswanpas rikuchin atiyta descentralizado AI (DeAI) ruwanakuna usqhaylla wiñanankupaq. ICP wiñarisqanmanhina, hatun modelokuna churay atiy chaymanta AI inferencia cadena kaqpi ruway atiy musuq atiykunata kicharinman musuqyachiypaq. Suyasunmanmi AI descentralizado huk llalliq ruwaq kananpaq hamuq pachakunapi confiable chaymanta escalable solucionkuna. Ruwaqkunapas musuq oportunidadkunayuq kanku aswan rurukuna chaymanta yanapakuykuna ICP kaqpi ruwanankupaq.