Mvr/#15/conversation handler#24
Conversation
…rent pipeline with a RAG + Embedding + LLM (ollama). Should work with vLLM but not tested
…without a user_id
…word base ingestion.
…ith id and module with handle. Make some refacto : user_id -> _user_id and handle -> _handle
…th Ollama for other provider we need to change the code.
| result: RAGResult = await self._handle.process.remote(query) | ||
| return result | ||
|
|
||
| def update_preferences(self, new_preferences: dict): |
There was a problem hiding this comment.
a remove si deprecated
|
|
||
| class Module: | ||
| input_type: str | ||
| input_type: Optional[str] |
There was a problem hiding this comment.
heu tu peux remove le Optional ? j'imagine que c'est un merge conflict ?
There was a problem hiding this comment.
Sorry c'est ma faute
| return config_dir | ||
|
|
||
|
|
||
| def load_user_id(path: str | None = None) -> str | None: |
There was a problem hiding this comment.
je trouve ca plus logique de le laisser dans la classe Client
There was a problem hiding this comment.
pas d accord
There was a problem hiding this comment.
Ahhh je vois ce que tu veux dire
Pour moi le client c'est une instance et le user c'est genre la mémoire etc.
donc un user peut avoir plusieur client similaire en meme temps
There was a problem hiding this comment.
bah plusieurs client ont la meme url de HuRI, pourtant on met huri-url dans le config ?
| return None | ||
|
|
||
|
|
||
| def save_user_id(_user_id: str, path: str | None = None): |
There was a problem hiding this comment.
same qu au dessus
| print("Connected to server") | ||
|
|
||
| self.config.user_id = self._load_user_id() | ||
| self.config.user_id = get_or_create_user_id(self.user_id_file) |
There was a problem hiding this comment.
ok je pensais que tu voulais mettre le user_id_file dans le config/client.yaml
There was a problem hiding this comment.
peut etre mettre le dossier service dans src, plutot que dans modules ?
|
|
||
| class Module: | ||
| input_type: str | ||
| input_type: Optional[str] |
| self, | ||
| config: ClientConfig, | ||
| user_id_file: str = os.path.expanduser("~/.huri_user_id"), | ||
| user_id_file: str | None = None, |
There was a problem hiding this comment.
Ok j'ai une solution qui conviendra a tous j'espere:
- dans le client.yaml, ajoutez:
user_id_file: le/path/du/fichier # it can be None I guess ?- dans
src/client.py, tu met que
def load_client_config(path: str) -> ClientConfig:
with open(path) as f:
dict_config = OmegaConf.load(f)
raw_resolved = OmegaConf.to_container(dict_config, resolve=True)
if not isinstance(raw_resolved, Dict):
raise RuntimeError("error yaml does not output a dict")
user_id = get_or_create_and_save_user_id(raw_resolved["user_id_file"] )
raw_resolved["user_id"] = user_id
return ClientConfig.from_dict(raw_resolved)
user_id=load_user_id(raw[user_id_file])-
et puis dans ClientConfig, user_id n'est plus
Optional -
enlever user_id_file de la classe Client, et
self.config.user_id = get_or_create_user_id(self.user_id_file) -
Enfin, enlever la creation de user id du coté de HuRI du coup
To review to have a conversation not long term and no save