mirror of
https://github.com/Ladebeze66/coffreobsidian.git
synced 2025-12-16 09:37:43 +01:00
0505
This commit is contained in:
parent
11afea2afc
commit
f451a29b47
2
.obsidian/app.json
vendored
2
.obsidian/app.json
vendored
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"spellcheck": true,
|
"spellcheck": false,
|
||||||
"attachmentFolderPath": "./PJ",
|
"attachmentFolderPath": "./PJ",
|
||||||
"newFileLocation": "folder",
|
"newFileLocation": "folder",
|
||||||
"newFileFolderPath": "inbox",
|
"newFileFolderPath": "inbox",
|
||||||
|
|||||||
26
.obsidian/workspace.json
vendored
26
.obsidian/workspace.json
vendored
@ -20,8 +20,23 @@
|
|||||||
"icon": "lucide-file",
|
"icon": "lucide-file",
|
||||||
"title": "Guide Complet des Paramètres LLM"
|
"title": "Guide Complet des Paramètres LLM"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "e9f11643def27837",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "markdown",
|
||||||
|
"state": {
|
||||||
|
"file": "inbox/Notes complémentaires préambule Ragflow.md",
|
||||||
|
"mode": "source",
|
||||||
|
"source": false
|
||||||
|
},
|
||||||
|
"icon": "lucide-file",
|
||||||
|
"title": "Notes complémentaires préambule Ragflow"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"currentTab": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"direction": "vertical"
|
"direction": "vertical"
|
||||||
@ -78,7 +93,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"direction": "horizontal",
|
"direction": "horizontal",
|
||||||
"width": 234.5
|
"width": 234.5,
|
||||||
|
"collapsed": true
|
||||||
},
|
},
|
||||||
"right": {
|
"right": {
|
||||||
"id": "ad0ed0087b43302d",
|
"id": "ad0ed0087b43302d",
|
||||||
@ -372,11 +388,12 @@
|
|||||||
"obsidian-excalidraw-plugin:New drawing": false
|
"obsidian-excalidraw-plugin:New drawing": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "f53d68a91dcd39e9",
|
"active": "e9f11643def27837",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
|
"inbox/Guide Complet des Paramètres LLM.md",
|
||||||
|
"inbox/Notes complémentaires préambule Ragflow.md",
|
||||||
"inbox/Modules OCR et Traduction.md",
|
"inbox/Modules OCR et Traduction.md",
|
||||||
"inbox/main_llama.py.md",
|
"inbox/main_llama.py.md",
|
||||||
"inbox/Guide Complet des Paramètres LLM.md",
|
|
||||||
"inbox/Gestion des langues.md",
|
"inbox/Gestion des langues.md",
|
||||||
"command_list/Ollama commands.md",
|
"command_list/Ollama commands.md",
|
||||||
"inbox/diagrammellamavision.drawio.crswap",
|
"inbox/diagrammellamavision.drawio.crswap",
|
||||||
@ -401,7 +418,6 @@
|
|||||||
"LLM/traitement_normes_ragflow.md",
|
"LLM/traitement_normes_ragflow.md",
|
||||||
"LLM/Test Cline.md",
|
"LLM/Test Cline.md",
|
||||||
"LLM/Résumé LLM-lab.md",
|
"LLM/Résumé LLM-lab.md",
|
||||||
"LLM/Recherches LLama Vision 3.2 90b.md",
|
|
||||||
"inbox/diagrammellamavision.drawio",
|
"inbox/diagrammellamavision.drawio",
|
||||||
"inbox/jsonmessages.png",
|
"inbox/jsonmessages.png",
|
||||||
"inbox/agentanalyseimage.png",
|
"inbox/agentanalyseimage.png",
|
||||||
|
|||||||
93
inbox/Notes complémentaires préambule Ragflow.md
Normal file
93
inbox/Notes complémentaires préambule Ragflow.md
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
### 1. Injection de données automatique (CSV->Ragflow)
|
||||||
|
#### Possibilité: Import direct via API
|
||||||
|
- Ragflow expose une API REST pour injecter des documents dans une base de connaissance.
|
||||||
|
- Tu peux parser tes CSV avec pandas puis envoyer chaque Q/R sous forme de documents.
|
||||||
|
- Format attendu: JSON avec champs content, metadata, source, etc.
|
||||||
|
##### Exemple python:
|
||||||
|
```python
|
||||||
|
import pandas as pd
|
||||||
|
import requests
|
||||||
|
|
||||||
|
df = pd.read_csv("analyse_ticket.csv")
|
||||||
|
|
||||||
|
for index, row in df.iterrows():
|
||||||
|
payload = {
|
||||||
|
"collection": "tickets_support",
|
||||||
|
"document": {
|
||||||
|
"content": f"Question : {row['question']}\nRéponse : {row['reponse']}",
|
||||||
|
"metadata" : {
|
||||||
|
"ticket_id": row['ticket_id'],
|
||||||
|
"date": row['date']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
response = requests.port("http://localhost:7860/api/documents", json=payload)
|
||||||
|
print(response.status_code, response.text)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Création d'un agent Python Ragflow (sans interface web)
|
||||||
|
|
||||||
|
Tu peux coder un agent Python qui:
|
||||||
|
- Lit tes données (CSV, JSON, etc.)
|
||||||
|
- Appelle Ragflow pour les injecter ou les interroger (recherche contextuelle)
|
||||||
|
- Utilise un LLM pour compléter ou reformuler les réponses
|
||||||
|
#### Exemple tâches possibles:
|
||||||
|
- AgentIndexer -> Injecte tes Q/R dans Ragflow
|
||||||
|
- AgentSearcher -> Reçoit une question, interroge Ragflow, appelle un LLM
|
||||||
|
- AgentAuditor -> Vérifie la cohérence ou résume les réponses dans Ragflow
|
||||||
|
|
||||||
|
### 3. Choix de LLM: Mistral API vs Ollama local
|
||||||
|
#### Mistral API (externe):
|
||||||
|
- Précis, performant, fiable
|
||||||
|
- Idéal pour tâches complexes: résumé, diagnostic, reformulation
|
||||||
|
- Nécessite une bonne gestion du débit API et coût
|
||||||
|
#### Ollama local (modèles custom):
|
||||||
|
- Rapide, local, sans coût
|
||||||
|
- Tu peux créer des agents spécifiques pour chaque tâche (indexation; QA, résumé)
|
||||||
|
- Intégration possible via Ragflow, soit par l'interface, soit par ta couche Pyhton (ex: appel REST à Ollama)
|
||||||
|
|
||||||
|
### 4. Combinaisons possibles dans ton projet
|
||||||
|
|Objectif|LLM utilisé|Accès Ragflow|Interface|
|
||||||
|
|---|---|---|---|
|
||||||
|
|Injection CSV automatique|Aucun ou Mistral/Ollama pour enrichissement|API REST|Python|
|
||||||
|
|Recherche depuis tickets|Mistral API (précision) ou Ollama local (rapide)|API ou Web UI|Python ou Web|
|
||||||
|
|Génération réponse automatique|Mistral (formel) ou Ollama (rapide)|API + index Ragflow|Python|
|
||||||
|
|Triage/priorisation automatique|Agents LLM personnalisés|Index ou table externe|Python avec accès CSV/DB|
|
||||||
|
### 5. Marche à suivre recommandée (projet scalable)
|
||||||
|
1. Créer un AgentIndexer -> injecte tes CSV dans Ragflow via API
|
||||||
|
2. Créer un AgentRagResponder -> interroge Ragflow avec une question, puis appelle un LLM
|
||||||
|
3. Créer un AgentAudit (optionnel) -> vérifie les réponses générées
|
||||||
|
4. Test avec deux backends LLM (Mistral API/ Ollama) -> comparer performances
|
||||||
|
5. Structurer ton pipeline RAG Python dans un module clair(agents/, utils/, config/)
|
||||||
|
|
||||||
|
### 6. Indexation dans Ragflow
|
||||||
|
#### Objectif:
|
||||||
|
Ajouter un document dans une base de connaissance vectorielle pour qu'il puisse ensuite être retrouvé via une recherche sémantique.
|
||||||
|
#### Ce que fait Ragflow:
|
||||||
|
1. Il vectorise le contenu (content) avec un modèle d'embedding.
|
||||||
|
2. Il l'associe à une collection (ex: "ticket_support")
|
||||||
|
3. Il l'enregistre dans une base vectorielle locale (FAISS, Weaviate, etc.)
|
||||||
|
4. Il garde les métadonnées que tu as envoyées (ex: ticket ID, ligne, source)
|
||||||
|
|
||||||
|
### 7. Par quel procédé ton agent effectue cela?
|
||||||
|
L'agent AgentRagIndexer automatise ce travail pour toi:
|
||||||
|
#### Etapes concrètes:
|
||||||
|
1. Il lit un fichier CSV contenant des questions/réponses
|
||||||
|
2. Pour chaque ligne:
|
||||||
|
1. Il forme une chaîne contenu= "Question : ...\nRéponse : ..."
|
||||||
|
2. Il crée un dictionnaire de métadonnées(ex {"ticket_id": ..., "ligne": ...})
|
||||||
|
3. Il envoie ces deux élémentes à Ragflow via:
|
||||||
|
1. self.ragflow.indexer(contenu, metadata)
|
||||||
|
2. POST http://localhost:7860/api/documents
|
||||||
|
|
||||||
|
### 8. Format CSV adpaté
|
||||||
|
- Tu produit un tableau proprement structuré avec les colonnes question, réponse (et même contexte si besoin)
|
||||||
|
- C'est un format lisible, léger, et facile à injecter dans Ragflow via script
|
||||||
|
Amélioration possible:
|
||||||
|
- Tu pourrais aussi aussi générer un format JSON structuré (utile si tu veux intégrer du multimodal ou enrichir les métadonnées).
|
||||||
|
- Ton script report_csv_exporter.py permettrait facilement d'ajouter cette exportation complémentaire.
|
||||||
|
- Le script génère bien un CSV exploitable par Ragflow
|
||||||
|
- Avec des colonnes question et réponse (ou plusieurs méthodes utilisées)
|
||||||
|
- Nettoie les caractères spéciaux dans les noms et modèles
|
||||||
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user