Mvr/#14/ids managment#19
Conversation
…rent pipeline with a RAG + Embedding + LLM (ollama). Should work with vLLM but not tested
…without a user_id
Popochounet
left a comment
There was a problem hiding this comment.
faut que tu m'explique le rag ce sera plus simple
There was a problem hiding this comment.
Je pense qu'il faut initialiser la Session avec le user_id pour eviter le if "rag"
Quitte a ajouter un ModuleWithId qui s'initialise avec un user id, dans le module Factory
There was a problem hiding this comment.
On doit laisser la création du User ID dans huri.py car si on a plusieurs ModuleWithHandleAndID on peut se trouver avec plusieurs ID différent. Par contre je suis d'accord pour le "rag" Et je change ça
| ) | ||
|
|
||
|
|
||
| class RAG(ModuleWithHandle): |
There was a problem hiding this comment.
///
dans core/module.py
class ModuleWithHandle:
def init(self, _handle=None, **kwargs):
super().init(**kwargs)
self._handle = _handle
...
class ModuleWithId:
def init(self, _user_id, **kwargs):
super().init(**kwargs)
self._user_id = _user_id
/////
dans rag.py:
class RAG(ModuleWithHandle, ModuleWithId):
def init(self, kwargs):
super().init(**kwargs)
...
//////////////
Et dans factory.py:
def create(
self,
user_id: str,
name: str,
args: Mapping[str, Any] | None = None
) -> Module:
if name not in self._registry:
raise ValueError(f"Unknown module '{name}'")
module_cls = self._registry[name]
kwargs = dict(args or {})
if issubclass(module_cls, ModuleWithHandle):
if name not in self._handles:
raise RuntimeError(
f"Handles not bound for '{name}'. Check your config first."
)
kwargs["_handle"] = self._handles[name]
if issubclass(module_cls, ModuleWithId):
kwargs["_user_id"] = user_id
return module_cls(**kwargs)
def create_from_config(
self, user_id: str, module_configs: Dict[str, ModuleConfig]
) -> List[Module]:
modules: List[Module] = []
for _, module_config in module_configs.items():
modules.append(self.create(user_id, module_config.name, module_config.args))
if modules == []:
raise Exception
return modules
///////
J'ai remplacé handle par _handle c'est plus propre
Qu'en penses tu globalement, pour user id ??
There was a problem hiding this comment.
la preview de mon message est degueulasse
There was a problem hiding this comment.
t'entends quoi par user id? je le met en mode _user_id ? Sinon oui tout me va
| from src.core.dataclasses.config import ClientConfig | ||
|
|
||
|
|
||
| USER_ID_FILE = os.path.expanduser("~/.huri_user_id") |
There was a problem hiding this comment.
mettre dans un .env peut etre ? ou pas en vrai
There was a problem hiding this comment.
Je ne sais pas comment c'est fait dans l'industrie, faut se renseigner
…ith id and module with handle. Make some refacto : user_id -> _user_id and handle -> _handle
There was a problem hiding this comment.
lgtm
Juste pour le _handle et _user_id, je pense c'est plus logiqe de les ecrire handle et user_id avant qu'ils soient dans la factory
dans la config "user_id", et dans Factory.create: kwargs["_user_id"] = user_id, kwargs["_handle"] = ...
Jsp perso c'est plus logique comme ca mais apres c'est vraiment pas hyper important
add of a simple rag system and a simple id management