@alexd2/rag-types
v1.0.11
Published
Définitions de types TypeScript et schémas de validation Zod pour l'écosystème RAG (Retrieval-Augmented Generation).
Readme
@graphens/rag-types
Définitions de types TypeScript et schémas de validation Zod pour l'écosystème RAG (Retrieval-Augmented Generation).
Ce paquet fournit les interfaces et DTOs réutilisables pour interconnecter les microservices de données, d'indexation vectorielle et d'API de recherche RAG.
📦 Installation
Pour installer ce package dans votre projet :
npm install @graphens/rag-typesNote : zod est une dépendance paire (peerDependency). Si elle n'est pas installée dans votre projet :
npm install zod🚀 Utilisation
Imports des Interfaces TypeScript
import type {
Page,
Course,
GraphData,
ChunkResultat,
ContextResult
} from '@graphens/rag-types';Imports des Schémas et Types Zod (DTO)
import {
AskRequestSchema,
AskResponseSchema,
AddDocumentRequestSchema,
UpdateDocumentRequestSchema,
type AskRequest,
type AskResponse
} from '@graphens/rag-types';
// Validation d'une requête entrante
const body = {
question: "Qu'est-ce qu'un graphe ?",
nbResultats: 5
};
const parsed = AskRequestSchema.parse(body);🛠️ Développement Local & Contribution
Préréquis
- Node.js (v18+)
- npm
Installation des dépendances
npm installCompilation
Compiler les fichiers TypeScript vers JavaScript (ESM) et générer les définitions .d.ts dans le dossier dist/ :
npm run build🚀 Publication sur NPM
Pour publier ce package sur le registre public NPM :
Se connecter à son compte NPM :
npm loginPublier la nouvelle version :
npm publish --access public
(Le script prepublishOnly exécutera automatiquement npm run build avant la publication).
Droit de publication
Utiliser un Granular Access Token
Si tu publies depuis une CI/CD ou si tu ne veux pas saisir un code 2FA à chaque publication, crée un Granular Access Token avec :
accès au package @alexd2/rag-types ; permission Read and write ; bypass 2FA activé.
Ensuite, configure le token dans ton environnement npm plutôt que de mettre le token directement dans le dépôt.
Par exemple, pour une publication locale :
npm config set //registry.npmjs.org/:_authToken=TON_TOKEN npm publish
