Maison >interface Web >js tutoriel >Intégration de l'IA générative aux applications MERN
L'IA générative (Gen AI) est devenue la pierre angulaire de l'innovation dans le développement d'applications modernes. En tirant parti de modèles tels que GPT (Generative Pre-trained Transformer), les développeurs peuvent créer des applications capables de générer du texte de type humain, de créer des images, de résumer du contenu et bien plus encore. L'intégration de l'IA générative à une application de pile MERN (MongoDB, Express, React, Node.js) peut améliorer l'expérience utilisateur en ajoutant une automatisation intelligente, des interfaces conversationnelles ou des capacités de génération de contenu créatif. Ce blog vous guidera tout au long du processus d'intégration de Gen AI avec une application MERN, en mettant l'accent sur la mise en œuvre pratique.
Avant d'intégrer l'IA générative dans votre application MERN, assurez-vous d'avoir :
Le backend (Node.js Express) fera office de pont entre votre application MERN et l'API Generative AI.
npm install express dotenv axios cors
Stockez votre clé API en toute sécurité à l'aide d'un fichier .env :
npm install express dotenv axios cors
Créez un fichier nommé server.js ou similaire et configurez le serveur Express :
OPENAI_API_KEY=your_openai_api_key_here
Utilisez axios ou fetch pour appeler votre API backend depuis le frontend React. Installez axios si vous ne l'avez pas déjà fait :
const express = require('express'); const axios = require('axios'); const cors = require('cors'); require('dotenv').config(); const app = express(); app.use(express.json()); app.use(cors()); const PORT = 5000; app.post('/api/generate', async (req, res) => { const { prompt } = req.body; try { const response = await axios.post( 'https://api.openai.com/v1/completions', { model: 'text-davinci-003', // Adjust model based on your use case prompt, max_tokens: 100, }, { headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${process.env.OPENAI_API_KEY}`, }, } ); res.status(200).json({ result: response.data.choices[0].text }); } catch (error) { console.error(error); res.status(500).json({ error: 'Failed to generate response' }); } }); app.listen(PORT, () => { console.log(`Server is running on http://localhost:${PORT}`); });
Créez un composant React pour interagir avec le backend :
npm install axios
import React, { useState } from 'react'; import axios from 'axios'; const AIChat = () => { const [prompt, setPrompt] = useState(''); const [response, setResponse] = useState(''); const [loading, setLoading] = useState(false); const handleSubmit = async (e) => { e.preventDefault(); setLoading(true); try { const result = await axios.post('http://localhost:5000/api/generate', { prompt }); setResponse(result.data.result); } catch (error) { console.error('Error fetching response:', error); setResponse('Error generating response.'); } finally { setLoading(false); } }; return ( <div> <h1>Generative AI Chat</h1> <form onSubmit={handleSubmit}> <textarea value={prompt} onChange={(e) => setPrompt(e.target.value)} placeholder="Enter your prompt here" rows="5" cols="50" /> <br /> <button type="submit" disabled={loading}> {loading ? 'Generating...' : 'Generate'} </button> </form> {response && ( <div> <h3>Response:</h3> <p>{response}</p> </div> )} </div> ); }; export default AIChat;
node server.js
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!