Jika anda seperti saya, anda akan perasan ledakan teknologi kecerdasan buatan. Ia akan mengganggu bukan sahaja kejuruteraan perisian, tetapi setiap industri.
Dalam siri ini, kita akan belajar cara mengintegrasikan perkhidmatan AI OpenAI ke dalam aplikasi yang dibina dengan Qwik, rangka kerja JavaScript yang memfokuskan pada konsep kebolehpulihan.
Kita akan membincangkan secara spesifik OpenAI dan Qwik, tetapi saya kebanyakannya akan menumpukan pada pengetahuan am, alatan dan pelaksanaan yang sepatutnya digunakan pada apa jua rangka kerja atau rantai alat yang anda gunakan. Kami akan memberi tumpuan sedekat mungkin pada asas dan saya akan menunjukkan bahagian unik aplikasi.
Pratonton:
Sebelum kita mula membina sesuatu, kita perlu memenuhi beberapa prasyarat. Qwik ialah rangka kerja JavaScript, jadi kami perlu memasang Node.js (dan NPM). Anda boleh memuat turun versi terkini, tetapi apa-apa yang lebih tinggi daripada v16.8 harus berfungsi. Saya akan menggunakan versi 20.
Seterusnya, kami juga memerlukan akaun OpenAI untuk mengakses API mereka.
Pada penghujung siri ini, kami akan menggunakan aplikasi tersebut ke VPS (Virtual Private Server). Tidak kira penyedia yang anda pilih, langkah yang kami ikuti hendaklah sama. Saya akan menggunakan perkhidmatan pengkomputeran awan Akamai (dahulunya Linode).
Dengan mengandaikan kita memenuhi prasyarat, kita boleh membuka terminal baris arahan dan menjalankan arahan: <span style="font-family: 宋体, SimSun; font-size: 14px;">npm create qwik@latest<code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, " courier new monospace font-size: padding: color: rgb background-color: border-radius:><span style="font-family: 宋体, SimSun; font-size: 14px;">npm create qwik@latest</span>
. Ini akan menjalankan Qwik CLI yang akan membantu kami bootstrap aplikasi kami.
Contoh:
Jika semuanya baik-baik saja, buka projek dan mula meneroka.
Dalam folder projek anda akan melihat beberapa fail dan folder penting:
/src<code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, " courier new monospace font-size: padding: color: rgb background-color: border-radius:><span style="font-family: 宋体, SimSun; font-size: 14px;">/src</span>
:包含所有应用业务逻辑
<span style="font-family: 宋体, SimSun; font-size: 14px;">/src/components</span>
: Mengandungi semua logik perniagaan aplikasi
<span style="font-family: 宋体, SimSun; font-size: 14px;">/src/components🎜</span>
🎜: Mengandungi komponen yang boleh digunakan semula untuk membina aplikasi kami 🎜🎜/src/routes<code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, " courier new monospace font-size: padding: color: rgb background-color: border-radius:><span style="font-family: 宋体, SimSun; font-size: 14px;">/src/routes</span>
:负责Qwik的基于文件的路由;每个文件夹代表一个路由(可以是页面或 API 端点)。要创建页面,请将<span style="font-family: 宋体, SimSun; font-size: 14px;">index.{jsx|tsx}</span>
文件放入路线的文件夹中。
<span style="font-family: 宋体, SimSun; font-size: 14px;">/src/root.tsx</span>
:该文件导出负责生成 HTML 文档根的根组件。
Qwik 使用Vite作为捆绑器,这很方便,因为 Vite 内置了开发服务器。它支持在本地运行我们的应用程序,并在文件更改时更新浏览器。
要启动开发服务器,我们可以在终端中打开项目并执行命令<span style="font-family: 宋体, SimSun; font-size: 14px;">npm run dev</span>
。开发服务器运行后,您可以打开浏览器并访问<span style="font-family: 宋体, SimSun; font-size: 14px;">http://localhost:5173</span>
: Bertanggungjawab untuk penghalaan berasaskan fail Qwik; setiap folder mewakili laluan (boleh menjadi halaman atau titik akhir API). Untuk membuat halaman, tukar index.{jsx|tsx}
Fail diletakkan dalam folder laluan.
#🎜🎜##🎜🎜#/src/root.tsx#🎜🎜#
#🎜🎜#: Fail ini mengeksport komponen akar yang bertanggungjawab untuk menjana akar dokumen HTML. #🎜🎜##🎜🎜##🎜🎜#http://localhost:5173#🎜🎜#
#🎜🎜# dan anda sepatutnya melihat aplikasi yang sangat asas. #🎜🎜##🎜🎜##🎜🎜##🎜🎜# Setiap kali kami membuat perubahan pada aplikasi kami, kami sepatutnya melihat perubahan tersebut ditunjukkan dalam penyemak imbas hampir serta-merta. #🎜🎜##🎜🎜#Projek ini tidak terlalu menumpukan pada gaya, jadi jika anda ingin melakukan perkara anda sendiri, bahagian ini adalah pilihan sepenuhnya. Untuk memastikan perkara mudah, saya akan menggunakan Tailwind.
Qwik CLI memudahkan untuk menambah perubahan yang diperlukan dengan melaksanakan perintah terminal<code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, " courier new monospace font-size: padding: color: rgb background-color: border-radius:><span style="font-family: 宋体, SimSun; font-size: 14px;">npm run qwik add</span>
.
Contoh:
Anda boleh menggunakan kekunci anak panah untuk beralih ke pemalam Tailwind dan tekan Enter. Ia kemudian akan menunjukkan kepada anda perubahan yang akan dibuat pada pangkalan kod anda dan meminta pengesahan. Selagi ia kelihatan baik, anda boleh menekan Enter semula.
Saya juga suka mempunyai tema yang konsisten untuk projek saya, jadi saya menyimpan fail dalam GitHub untuk menyalin dan menampal gaya. Jelas sekali anda boleh mengabaikan langkah ini jika anda mahukan tema anda sendiri, tetapi jika anda mahu projek anda kelihatan menakjubkan seperti projek saya, salin gaya daripada fail ini di GitHub ke dalam fail ini <code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, " courier new monospace font-size: padding: color: rgb background-color: border-radius:><span style="font-family: 宋体, SimSun; font-size: 14px;">/src/global.css</span>
。您可以替换旧样式,但保留 Tailwind 指令。
为了使项目有一个良好的起点,我们今天要做的最后一件事是对主页进行一些更改。我想要做出的更改包括:
删除<span style="font-family: 宋体, SimSun; font-size: 14px;">head</span>
/src/global.css. Anda boleh menggantikan gaya lama tetapi mengekalkan arahan Tailwind.
🎜Padam🎜<li style="box-sizing: border-box; padding: 0px 0px 8px;"><p><span style="box-sizing: border-box; vertical-align: inherit; font-family: 宋体, SimSun; font-size: 14px;"></span><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, " courier new monospace font-size: padding: color: rgb latar belakang-warna: h1 background-color: border-radius:><span style="font-family: 宋体, SimSun; font-size: 14px;">h1</span>
删除除;之外的所有文本 请随意添加您自己的页面标题文本。
添加一些 Tailwind 类以将内容居中并使内容<span style="font-family: 宋体, SimSun; font-size: 14px;">h1</span>
更大
用标签包裹内容<span style="font-family: 宋体, SimSun; font-size: 14px;">main</span>
以使其更具语义
将 Tailwind 类添加到<span style="font-family: 宋体, SimSun; font-size: 14px;">main</span>
Tambahkan beberapa kelas Tailwind untuk memusatkan kandungan dan menjadikan kandungannya h1
Lebih besar
Balut kandungan dengan tag
<span style="font-family: 宋体, SimSun; font-size: 14px;">utama<p style="box-sizing: border-box; margin-top: 5px; margin-bottom: 15px; padding-top: 0px; color: rgb(34, 38, 53); font-family: Cambria, serif; font-size: 19px; text-wrap: wrap; background-color: rgb(255, 255, 255);"></p></span>
untuk menjadikannya lebih semantik🎜🎜🎜🎜Tukar Tailwind kelas Tambahkan ke 🎜<img data-fr-image-pasted="true" style="max-width:90%" style="max-width:90%" alt="Ajar anda langkah demi langkah cara membina aplikasi rangkaian kecerdasan buatan!" sizes="(max-width: 1080px) 100vw, 1080px" class="fr-fic fr-dib lazyloaded" data-src="https://img.php.cn/" data-srcset="https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89-1080x581.png?quality=100&f=auto 1080w, https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89-480x258.png?quality=100&f=auto 480w, https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89-200x108.png?quality=100&f=auto 200w, https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89-768x413.png?quality=100&f=auto 768w, https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89-1536x827.png?quality=100&f=auto 1536w, https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89.png?quality=100&f=auto 1678w, " srcset="https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89-1080x581.png?quality=100&f=auto 1080w, https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89-480x258.png?quality=100&f=auto 480w, https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89-200x108.png?quality=100&f=auto 200w, https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89-768x413.png?quality=100&f=auto 768w, https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89-1536x827.png?quality=100&f=auto 1536w, https://cdn.statically.io/img/austingil.com/wp-content/uploads//image-89.png?quality=100&f=auto 1678w, " src="https://cdn.statically.io/img/austingil.com/wp-content/uploads/image-89-1080x581.png?quality=100&f=auto" style="box-sizing: border-box; border: 0px; vertical-align: middle; max-width: 100%; height: auto; text-align: center; margin: auto; display: block; float: none !important;"><h2 style="box-sizing: border-box; font-family: " helvetica neue arial sans-serif line-height: color: rgb margin-top: margin-bottom: font-size: clear: both text-wrap: wrap background-color:><span style="box-sizing: border-box; vertical-align: inherit; font-family: 宋体, SimSun; font-size: 14px;">Kesimpulan </span></h2>
<p style="box-sizing: border-box; margin-top: 5px; margin-bottom: 15px; padding-top: 0px; color: rgb(34, 38, 53); font-family: Cambria, serif; font-size: 19px; text-wrap: wrap; background-color: rgb(255, 255, 255);"><span style="box-sizing: border-box; vertical-align: inherit; font-family: 宋体, SimSun; font-size: 14px;">Itu sahaja yang akan kita bincangkan hari ini. Sekali lagi, fokus utama siaran ini adalah untuk menghapuskan kandungan boilerplate supaya siaran seterusnya boleh didedikasikan untuk menyepadukan API OpenAI ke dalam projek kami. </span></p>
Atas ialah kandungan terperinci Ajar anda langkah demi langkah cara membina aplikasi rangkaian kecerdasan buatan!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!