Harjoitus – Valmistele copilot-sovellus
Tässä harjoituksessa sovelluskoodia laajennetaan viemällä funktioita ja luomalla verkkosovellukselle ohjelmointirajapinnan päätepisteitä, jotka suorittavat vektori- ja GPT-hakuja. Voit myös määrittää Docker-säilön paikallista käyttöönottoa varten ja valmistella sovelluksesi Azure Kubernetes -palvelua varten seuraavassa yksikössä.
Sovelluskoodin laajentaminen
Avaa 06-ohjattu projekti/node.js- hakemistossa sijaitsevaload-and-vectorize-data.js
Siirry kommenttiin
TODO
tiedoston lopussa// TODO: Export functions
Korvaa moduulifunktiot ja vie ne lisäämällä seuraava koodi:
module.exports = { getOptions, processOption, doGPTSearch, doVectorSearch };
Tämä rivi paljastaa funktiot niin, että niitä voidaan käyttää sovelluksen muissa osissa.
Avaaapp.js tiedosto
Huomaa tietojen lataaminen ja vectorize-tuominen lähellä tiedoston yläreunaa
const data = require('./load-and-vectorize-data');
Voit käyttää viemiesi funktioiden käyttöä vakiolla
data
.Siirry kommenttiin
// TODO: Extend the application code
Korvaa kommentti ja lisää sovellukseen seuraava koodi:
app.get('/getOptions', (req, res) => { const options = data.getOptions(); res.json(options); }); app.get('/doVectorSearch', (req, res) => { const query = req.query.q; const result = data.doVectorSearch(query); res.json(result); }); app.get('/doGPTSearch', (req, res) => { const query = req.query.q; const result = data.doGPTSearch(query); res.json(result); });
Tämä koodi luo useita päätepisteitä, joiden kanssa verkkosovellus voi toimia, ja suorittaa tarvittaessa vektorihakutoiminnot.
Paikallisen käyttöönoton luominen
Tässä tehtävässä luot sovellukselle Docker-kuvan ja suoritat projektin paikallisesti, ennen kuin luot käyttöönoton seuraavassa yksikössä. Aloitetaanpa!
Luo Dockerfile-niminen tiedosto projektihakemistoon 06-guided-project/node.js
Dockerfile määrittää, miten sovelluksesi säilötään. Dockerfile-tiedostotunniste ei ole.
Avaa Dockerfile Visual Studio Codessa ja lisää seuraava sisältö:
# Use Node.js runtime as the base image FROM node:latest # Set the working directory inside the container WORKDIR /app # Copy package.json and package-lock.json (if available) COPY package*.json ./ # Install dependencies RUN npm install # Copy the rest of the application files COPY . /app # Expose the port that the app runs on EXPOSE 3000 # Command to start the application CMD ["node", "app.js"]
Tallenna tiedosto.
Docker-kuvan luominen komennolla
docker build -t vector-search-app:1.0.0
Tämä komento käyttää Dockerfile-komentoa Docker-kuvan luomiseen sovelluksestasi. Kuvan nimi on
vector-search-app
.Varmista, että kuva on koontiversio -komennolla
docker images
Sinun pitäisi nähdä juuri luomasi kuva luettelossa. Kun kuva on luotu, voit suorittaa sen säilönä.
Suorita säilö käyttämällä komentoa:
docker run -p 3000:80 vector-search-app:1.0.0
Tässä komennossa 3000 edustaa aiemmin paljastamaasi isäntäporttia ja 80 säilön porttia. Säilöportti on portti säilön sisällä, jossa sovellus toimii ja kuuntelee saapuvaa liikennettä.
Käytä sovellusta siirtymällä -sovellukseen
http://localhost:3000
selaimessasi.
Onnistuit luomaan, merkitsemään ja työntämään Docker-näköistiedostosi Azure-säilörekisteriin. Nyt olet valmis ottamaan kuvan käyttöön Azure Kubernetes -palvelussa seuraavassa harjoituksessa. Hyvää työtä!