Plusieurs gros ajouts :
All checks were successful
All checks were successful
- 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
This commit is contained in:
20
brain/app/application/embeddings.py
Normal file
20
brain/app/application/embeddings.py
Normal file
@@ -0,0 +1,20 @@
|
||||
"""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]]:
|
||||
...
|
||||
Reference in New Issue
Block a user