Maison > Article > développement back-end > Créez et déployez une application OpenAI sans serveur en quelques lignes de code
? Vous souhaitez créer et déployer une application d'IA interactive ?? ??? ????? en seulement ? ????? ?? ?????
Dans ce didacticiel, vous utiliserez LlamaIndex pour créer un moteur de questions-réponses, FastAPI pour le servir via HTTP et DBOS pour le déployer sans serveur dans le cloud.
Il est basé sur le démarreur à 5 lignes de LlamaIndex, avec seulement 4 lignes supplémentaires pour le rendre prêt pour le cloud. Simple, rapide et prêt à évoluer !
Tout d'abord, créez un dossier pour votre application et activez un environnement virtuel.
python3 -m venv ai-app/.venv cd ai-app source .venv/bin/activate touch main.py
Ensuite, installez les dépendances et initialisez un fichier de configuration DBOS.
pip install dbos llama-index dbos init --config
Ensuite, pour exécuter cette application, vous avez besoin d'un compte développeur OpenAI. Obtenez une clé API ici. Définissez la clé API comme variable d'environnement.
export OPENAI_API_KEY=XXXXX
Déclarez la variable d'environnement dans dbos-config.yaml :
env: OPENAI_API_KEY: ${OPENAI_API_KEY}
Enfin, téléchargeons quelques données. Cette application utilise le texte de "What I Worked On" de Paul Graham. Vous pouvez télécharger le texte à partir de ce lien et l'enregistrer sous data/paul_graham_essay.txt de votre dossier d'application.
Maintenant, la structure des dossiers de votre application devrait ressembler à ceci :
ai-app/ ├── dbos-config.yaml ├── main.py └── data/ └── paul_graham_essay.txt
Utilisons maintenant LlamaIndex pour écrire une application d'IA simple en seulement 5 lignes de code.
Ajoutez le code suivant à votre main.py :
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() response = query_engine.query("What did the author do growing up?") print(response)
Ce script charge les données et crée un index sur les documents sous le dossier data/, et génère une réponse en interrogeant l'index. Vous pouvez exécuter ce script et il devrait vous donner une réponse, par exemple :
$ python3 main.py The author worked on writing short stories and programming...
Maintenant, ajoutons un point de terminaison FastAPI pour servir les réponses via HTTP. Modifiez votre main.py comme suit :
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader from fastapi import FastAPI app = FastAPI() documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() @app.get("/") def get_answer(): response = query_engine.query("What did the author do growing up?") return str(response)
Vous pouvez maintenant démarrer votre application avec fastapi et exécuter main.py. Pour voir que cela fonctionne, visitez cette URL : http://localhost:8000
Le résultat peut être légèrement différent à chaque fois que vous actualisez la fenêtre de votre navigateur !
Pour déployer votre application sur DBOS Cloud, il vous suffit d'ajouter deux lignes à main.py :
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader from fastapi import FastAPI from dbos import DBOS app = FastAPI() DBOS(fastapi=app) documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() @app.get("/") def get_answer(): response = query_engine.query("What did the author do growing up?") return str(response)
Maintenant, installez DBOS Cloud CLI si vous ne l'avez pas déjà fait (nécessite Node.js) :
npm i -g @dbos-inc/dbos-cloud
Gelez ensuite les dépendances dans Requirements.txt et déployez sur DBOS Cloud :
pip freeze > requirements.txt dbos-cloud app deploy
En moins d'une minute, le message devrait s'imprimer. Accédez à votre candidature à l'adresse
Pour vérifier que votre application fonctionne, visitez
Félicitations, vous avez déployé avec succès votre première application d'IA sur DBOS Cloud ! Vous pouvez voir votre application déployée dans la console cloud.
Ce n'est que le début de votre voyage DBOS. Découvrez ensuite comment DBOS peut rendre vos applications d'IA plus évolutives et plus résilientes :
Essayez-le et dites-moi ce que vous en pensez ?
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!