- Possibilité de discuter avec un PDF ; RAG ou analyse approfondie. Enlèvement de l'autre outil PDF de discussion qui analysait d'abord un PDF en proposant directement une intégration sans attendre qu'on pose de question - Mise en place de l'import directement dans les outils dans la sidebar - Mise en place d'un outil pour créer des tables aléatoires avec possibilité d'utiliser pendant la partie - Mise en place d'un outil pour mettre en place des PNJ, scènes, chapitre.... directement à partir de la discussion avec le PDF - Mise en place RAG avec mistal-embeding ou nomic si on utilise ollama - Mise en place mistral, google en fournisseurs alternatifs pour l'IA dans le cloud - version 0.11.0-bêta
21 lines
643 B
Python
21 lines
643 B
Python
"""Port d'embeddings (RAG des notebooks).
|
|
|
|
Abstraction du calcul de vecteurs : un texte → une liste de floats. Les adapters
|
|
concrets (Ollama local, Mistral cloud) la satisfont par duck typing, comme pour
|
|
les LLMProvider. Le RAG n'en dépend que via cette interface.
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
from typing import Protocol
|
|
|
|
|
|
class EmbeddingError(Exception):
|
|
"""Échec du calcul d'embeddings (modèle indisponible, réseau, quota…)."""
|
|
|
|
|
|
class EmbeddingProvider(Protocol):
|
|
"""Calcule les vecteurs d'une liste de textes (ordre préservé)."""
|
|
|
|
async def embed(self, texts: list[str]) -> list[list[float]]:
|
|
...
|