paint-brush
Tirer parti de la nouvelle API JSON d'Astra DB pour créer des applications d'IA basées sur JavaScriptpar@datastax
355 lectures
355 lectures

Tirer parti de la nouvelle API JSON d'Astra DB pour créer des applications d'IA basées sur JavaScript

par DataStax6m2023/09/20
Read on Terminal Reader

Trop long; Pour lire

Découvrez cette nouvelle façon de permettre à l'immense population de développeurs JavaScript d'accéder à la base de données vectorielles la plus puissante au monde, via une simple API.
featured image - Tirer parti de la nouvelle API JSON d'Astra DB pour créer des applications d'IA basées sur JavaScript
DataStax HackerNoon profile picture


L'un de nos objectifs chez DataStax est de permettre à chaque développeur, quel que soit le langage dans lequel il construit, de mettre en production des applications d'IA le plus rapidement possible.


Nous capacités de recherche vectorielles récemment ajoutées à DataStax Astra DB , notre base de données en tant que service basée sur Apache Cassandra open source, pour aider les développeurs à créer des applications d'IA.

Cassandra est connue pour être la base de données la plus puissante, la plus évolutive et la plus prête pour la production. Avec l’ajout de la recherche vectorielle, Cassandra et Astra DB sont devenus une base essentielle pour la création d’applications Gen AI de niveau entreprise. Mais nous devons également veiller à ce que cette technologie puissante soit accessible et facile à utiliser pour le plus grand nombre de développeurs, quelle que soit leur langue ou leurs compétences préférées.


Aujourd'hui, nous faisons un grand pas dans cette direction en permettant à l'immense population de développeurs JavaScript d'accéder à la base de données vectorielles la plus puissante au monde, via une API simple : l'introduction de l'API JSON pour Astra DB.


Découvrez l'API JSON !

Dans le monde JavaScript, les bases de données de documents occupent une place importante. Ce n'est pas une surprise, car JSON est une notation native en JavaScript, donc la possibilité de stocker et de récupérer des documents JSON vers et depuis la base de données accélère considérablement le développement.


La nouvelle API JSON est conçue pour offrir une expérience de développement fluide aux développeurs JavaScript créant de nouvelles applications d'IA. Nous avons veillé à ce que si vous êtes un développeur JavaScript, vous puissiez lancer une instance d'Astra DB et commencer à coder immédiatement en utilisant des paradigmes et des frameworks que vous connaissez.


L'exposition d'Astra DB en tant que base de données de documents offre de multiples améliorations dans l'expérience des développeurs :


  • Vous pensez en termes d'objets JSON, ce qui vous permet un alignement naturel avec l'écosystème JavaScript.

  • Il n’y a pas d’étape de modélisation des données, car elle est prise en charge par la base de données elle-même. Il vous suffit de sauvegarder et de récupérer des documents.

  • Vous pouvez commencer à développer rapidement et vous concentrer sur la logique de l'application plutôt que sur ce qui se passe sur le backend.


Intégration avec MongooseJS

Nous avons également remarqué que de nombreux membres de la communauté JavaScript travaillent avec des bases de données de documents via des bibliothèques de modélisation de données objet (ODM), en particulier MongooseJS. MongooseJS est un framework populaire pour la modélisation d'objets au-dessus des bases de données de documents. Avec plus de 2 millions de téléchargements NPM hebdomadaires et près de 3,5 millions de référentiels Github dépendants , cela ne nécessite pas d'introduction.


La nouvelle API JSON pour Astra DB est entièrement compatible avec MongooseJS. Cela signifie qu'il suffit de quelques lignes de code pour pointer MongooseJS vers une instance Astra DB :


 // Import MongooseJS. const mongoose = require("mongoose"); // Import the driver for Astra DB (shipped as a part of stargate.io). const { driver } = require("stargate-mongoose"); // Tell MongooseJS to use the Astra DB driver instead of the default one. mongoose.setDriver(driver); // Connect to Astra DB. await mongoose.connect(astraDbUri, { isAstra: true, });


Une fois connecté, vous pouvez utiliser les API MongooseJS et Astra DB se chargera du gros du stockage de vos documents de manière efficace, de leur indexation et de leur mise à l'échelle si nécessaire.


Prise en charge de la recherche de vecteurs

Mieux encore, lorsque vous développez avec MongooseJS soutenu par Astra DB, vous obtenez un accès complet à Astra DB Vector, la seule base de données conçue pour la recherche et la mise à jour simultanées des données distribuées et des charges de travail de streaming avec une latence ultra-faible, ainsi que des résultats vectoriels très pertinents qui éliminer les redondances. En conséquence, vous bénéficiez de la facilité d'utilisation et de la familiarité de MongooseJS, combinées à la riche prise en charge des vecteurs et à l'évolutivité d'Astra DB. Développer des applications d'IA en JavaScript n'a jamais été aussi simple !


Jetons un coup d'œil à un exemple simple d'utilisation de la recherche vectorielle d'Astra DB dans une application MongooseJS. Dans cet exemple, nous allons créer une collection de films avec leurs descriptions textuelles et d'autres informations, comme le titre, l'année de production et le genre. De plus, nous indiquerons à MongooseJS que nous souhaitons stocker les intégrations vectorielles pour les descriptions. Voici à quoi ressemblera la définition du modèle :


 const Movie = mongoose.model( "Movie", new mongoose.Schema( { title: String, year: Number, genre: String, description: String, $vector: { type: [Number], validate: (vector) => vector && vector.length === 1536, }, }, { collectionOptions: { vector: { size: 1536, function: "cosine", }, }, }, ), );


Ceux qui connaissent MongooseJS trouveront qu'il s'agit d'un modèle MongooseJS typique, à l'exception de deux éléments supplémentaires que le pilote d'Astra DB permet :


  1. Le $vector field spécial utilisé pour stocker les représentations vectorielles vectorielles.
  2. L'objet collectionOptions.vector qui indique à Astra DB comment indexer le champ d'intégration vectorielle. Avec le modèle ci-dessus, vous pouvez insérer des documents avec les intégrations :


 await Movie.insert({ title: "In the Border States", year: 1910, genre: "Drama", description: "In the Border States is a 1910 American drama film...",// Generate embedding for the description, // for example by invoking the OpenAI API. $vector: embedding("In the Border States is a 1910 American drama film..."), });


Votre application peut désormais fournir une fonctionnalité permettant de saisir une requête de forme libre pour rechercher des films par leurs descriptions. Pour cela, vous utiliserez le même modèle pour générer une intégration pour la requête de l'utilisateur, et utiliserez la recherche vectorielle d'Astra DB pour trouver les entrées les plus pertinentes dans la base de données :


 await Movie.find({}) .sort({ $vector: { $meta: embedding("Something funny") } }) .limit(3);


Bien entendu, dans de nombreux cas, la recherche vectorielle à elle seule ne suffit pas, car vous souhaiterez peut-être la combiner avec un filtrage basé sur d'autres champs du document. Par exemple, voici comment trouver des films pertinents similaires à l’exemple précédent, mais en regardant uniquement des drames :


 await Movie.find({ genre: "Drama" }) .sort({ $vector: { $meta: embedding("Criminals and detectives") } }) .limit(3);


Avec MongooseJS et Astra DB, vous n'êtes pas limité aux simples opérations CRUD. Vous pouvez les accompagner d'une recherche de pertinence à l'aide de vecteurs, ou même combiner les deux dans de puissantes requêtes de recherche hybrides.


Premiers pas avec l'API JSON

La nouvelle API JSON est actuellement en préversion publique et est disponible sur Astra DB pour tous ceux qui souhaitent l'essayer. Suivez ces trois étapes simples pour commencer :


  1. Accédez à Astra DB et créez une base de données vectorielles.


  2. Une fois la base de données active, passez à l'onglet « Connecter », choisissez « API JSON » comme méthode préférée et suivez les instructions.




  3. Amusez-vous à développer !


Plus de détails sur la façon d'utiliser l'API JSON peuvent être trouvés dans la documentation.

Et après?

En introduisant l'API JSON, notre vision est claire : nous voulons qu'Astra DB soit le premier choix des développeurs JavaScript créant des applications d'IA. Ce n’est que le début – restez à l’écoute pour d’autres améliorations et ajouts.


Vous avez des questions, des commentaires, ou peut-être êtes-vous aussi excité que nous ? Envoyez-nous un message à [email protected] .


Également publié ici.