Créer un compteSe connecter
Zardoz
Zardoz
8 mois
Je suis teubé mais mon projet, il marche.
tu connais rien à bash pelo
il y a 8 mois
Zardoz
Zardoz
8 mois
De manière générale, comment activer un programme externe depuis un LLM.

Ça m'a pris un bout de temps parce que personne n'a pris la peine de dire que le traitement d'un prompt pouvait faire la navette entre le LLM et son exécuteur :

user --> prompt+tools --> LLM
              invocation tool1 <-- LLM
              réponse tool1 --> LLM
              .....................
user <-- réponse finale <-- LLM

ce que j'ai découvert en épluchant le code d'exemples.
La doc ne suffit pas pour savoir comment répondre. github.com https://github.com/ollama[...]/docs/api.md#tool-calling

C'est un renversement du mode client-serveur et ça rentrait pas dans mon schéma mental.

Une fois ça pigé, c'est piece of cake. Ton exécuteur (le programme qui requête l'API) appelle le tool de la façon qu'il veut et dans le langage qu'il veut, ce qui te donne l'occasion de sanitiser les demandes du LLM.

Si tu as d'autres méthodes, je suis tout à l'écoute.
Ma technique générale c'est la rétro ingénierie.

penser à l'envers le problème et remonter la piste par l'autre bout.

par exemple au lieu de demander à chatgpt "comment je peux demander à un LLM de créer des requêtes sur ma BDD"

Je vais plutôt demander : comment LLM peut interagir avec python, puis comment python avec SQL.

schéma logique de construction

identification des risques (sanitisation, garde fou)

implantation de tests pour "cadrer" le vibe coding par des pytests.

tu boucles 6-12 heures et tu as un MVP.



Dans un de mes projets mon prompt force l'IA à prendre une décision boléene. allow|reject

mon script python chope cette réponse et agit en conséquence.

mais je pourrais parfaitement utiliser cette logique boléene plus loin.
Je ne suis pas patriote ou nationaliste. Je ne l'ai jamais été. Juste racialiste et anti européen. démocratie = scam.
il y a 8 mois
Zardoz
Zardoz
8 mois
Je suis teubé mais mon projet, il marche.
ta question c'était comment on se torche le cul avec du papier toilette, nofake
il y a 8 mois
passe mp <3
il y a 8 mois
Athena
Athena
8 mois
tu connais rien à bash pelo
A ce stade, il devient important de te taire.
Certifié tous gaz.
il y a 8 mois
Zardoz
Zardoz
8 mois
A ce stade, il devient important de te taire.
bah pourquoi tu me pose ta question de con au début alors que ça se fait en 3 lignes
il y a 8 mois
et tu me repond en mode c impossible
il y a 8 mois
Elchapka2
Elchapka2
8 mois
Ma technique générale c'est la rétro ingénierie.

penser à l'envers le problème et remonter la piste par l'autre bout.

par exemple au lieu de demander à chatgpt "comment je peux demander à un LLM de créer des requêtes sur ma BDD"

Je vais plutôt demander : comment LLM peut interagir avec python, puis comment python avec SQL.

schéma logique de construction

identification des risques (sanitisation, garde fou)

implantation de tests pour "cadrer" le vibe coding par des pytests.

tu boucles 6-12 heures et tu as un MVP.



Dans un de mes projets mon prompt force l'IA à prendre une décision boléene. allow|reject

mon script python chope cette réponse et agit en conséquence.

mais je pourrais parfaitement utiliser cette logique boléene plus loin.
> mon script python chope cette réponse et agit en conséquence.

Nous parlons d'un script (n'importe quel langage) invoqué par le LLM.
Certifié tous gaz.
il y a 8 mois
cope harder
il y a 8 mois
Zardoz
Zardoz
8 mois
> mon script python chope cette réponse et agit en conséquence.

Nous parlons d'un script (n'importe quel langage) invoqué par le LLM.
si la réponse de mon LLM est allow, alors ça lance le script.py correspondant.

si tu veux que le LLM crée lui même un script à la volée, franchement ça risque d'être bien foireux.

je ferais comme ça par exemple.

recherche.py
table1(paris)
table2(marseille)
table3(lille)

prompt " répond uniquement par recherche, table1, table2, table3..."

exemple de fonctionnement :

"cherche un certains Jean-Eudes mentionné dans cette décision de justice"

le LLM lit la décision de justice et voit mentionné "tribunal de lille". avec le prompt le LLM suppose que c'est la table3

réponse "table3, "Jean Eudes"

recherche.py lance la requête avec deux paramètres : Jean Eudes sur table3

retour résultats.

et ainsi de suite
Je ne suis pas patriote ou nationaliste. Je ne l'ai jamais été. Juste racialiste et anti européen. démocratie = scam.
il y a 8 mois
ensuite le recherche.py en cas de retour positif pourrait lancer le enquête.py

selenium recherche google Jean Eudes Lille <adresse><facebook><linkedin> / autres infos récupérée

et ensuite tout devient sans limites.
Je ne suis pas patriote ou nationaliste. Je ne l'ai jamais été. Juste racialiste et anti européen. démocratie = scam.
il y a 8 mois
Elchapka2
Elchapka2
8 mois
si la réponse de mon LLM est allow, alors ça lance le script.py correspondant.

si tu veux que le LLM crée lui même un script à la volée, franchement ça risque d'être bien foireux.

je ferais comme ça par exemple.

recherche.py
table1(paris)
table2(marseille)
table3(lille)

prompt " répond uniquement par recherche, table1, table2, table3..."

exemple de fonctionnement :

"cherche un certains Jean-Eudes mentionné dans cette décision de justice"

le LLM lit la décision de justice et voit mentionné "tribunal de lille". avec le prompt le LLM suppose que c'est la table3

réponse "table3, "Jean Eudes"

recherche.py lance la requête avec deux paramètres : Jean Eudes sur table3

retour résultats.

et ainsi de suite
> si tu veux que le LLM crée lui même un script à la volée, franchement ça risque d'être bien foireux.

Non. Je veux savoir comment vous faites pour que votre LLM interroge une BDD. La réponse d'Athena est qu'elle intercepte la réponse du LLM, qui contient une requête SQL. Je lui parle ensuite du rôle 'tools' qui a été conçu explicitement pour appeler un script externe.
Certifié tous gaz.
il y a 8 mois
Zardoz
Zardoz
8 mois
> si tu veux que le LLM crée lui même un script à la volée, franchement ça risque d'être bien foireux.

Non. Je veux savoir comment vous faites pour que votre LLM interroge une BDD. La réponse d'Athena est qu'elle intercepte la réponse du LLM, qui contient une requête SQL. Je lui parle ensuite du rôle 'tools' qui a été conçu explicitement pour appeler un script externe.
bah c comme j'ai dit, c'est pas dans le llm mais c'est la methode sous entendue que tout les llm utilisent
il y a 8 mois
c'est des lego genre
il y a 8 mois
Zardoz
Zardoz
8 mois
> si tu veux que le LLM crée lui même un script à la volée, franchement ça risque d'être bien foireux.

Non. Je veux savoir comment vous faites pour que votre LLM interroge une BDD. La réponse d'Athena est qu'elle intercepte la réponse du LLM, qui contient une requête SQL. Je lui parle ensuite du rôle 'tools' qui a été conçu explicitement pour appeler un script externe.
Ok j'ai compris ton problème de compréhension.

Normalement le LLM ne peut pas interroger direct une BDD.

c'est le script qui va le faire et transmettre l'info au LLM.


Le LLM est en soit une base de données géantes entraînée sur des datasets. mais la situation on parle bien de faire LLM -> BDD on est obligé de faire

LLM->script >BDD

Si tu veux éviter ça, il faut entraîner ton LLM sur TOUTES les données.

hors le problème de l'entraînement c'est que tu auras besoin de train le LLM pour être à jour, qu'ensuite tu risques trop de faux positifs avec 500 Jean Eudes.

en gardant la structure LLM->script->BDD->LLM tu gardes un certain contrôle et une certaine logique sur le LLM qui n'a qu'un travail d'analyste.
Je ne suis pas patriote ou nationaliste. Je ne l'ai jamais été. Juste racialiste et anti européen. démocratie = scam.
il y a 8 mois
Elchapka2
Elchapka2
8 mois
Ok j'ai compris ton problème de compréhension.

Normalement le LLM ne peut pas interroger direct une BDD.

c'est le script qui va le faire et transmettre l'info au LLM.


Le LLM est en soit une base de données géantes entraînée sur des datasets. mais la situation on parle bien de faire LLM -> BDD on est obligé de faire

LLM->script >BDD

Si tu veux éviter ça, il faut entraîner ton LLM sur TOUTES les données.

hors le problème de l'entraînement c'est que tu auras besoin de train le LLM pour être à jour, qu'ensuite tu risques trop de faux positifs avec 500 Jean Eudes.

en gardant la structure LLM->script->BDD->LLM tu gardes un certain contrôle et une certaine logique sur le LLM qui n'a qu'un travail d'analyste.
Un LLM peut exécuter un script externe, qui peut à son tour [ interroger une BDD | consulter le web | faire des calculs | lire un thermomètre | allumer la lumière | etc ]


Utilisateur : Quelle est la température ?
LLM : Lance le script qui lit le thermomètre
LLM : Reçoit la tepérature
LLM : Il fait 21°


Utilisateur : Allume la lumière
LLM : Lance le script qui allume la lumière
LLM : Reçoit l'information "Lumière allumée"
LLM : La lumière est allumée
Certifié tous gaz.
il y a 8 mois
Zardoz
Zardoz
8 mois
Un LLM peut exécuter un script externe, qui peut à son tour [ interroger une BDD | consulter le web | faire des calculs | lire un thermomètre | allumer la lumière | etc ]


Utilisateur : Quelle est la température ?
LLM : Lance le script qui lit le thermomètre
LLM : Reçoit la tepérature
LLM : Il fait 21°


Utilisateur : Allume la lumière
LLM : Lance le script qui allume la lumière
LLM : Reçoit l'information "Lumière allumée"
LLM : La lumière est allumée
Une petite nuance : le LLM ne contrôle pas le script.


la réponse du LLM va renvoyer une variable. Response : allow

le script reçois cette var = allow

if allow then run "recherche.py"

le LLM ne décidé pas tout seul de lancer le script
Je ne suis pas patriote ou nationaliste. Je ne l'ai jamais été. Juste racialiste et anti européen. démocratie = scam.
il y a 8 mois
pour le dire plus clairement, c'est le script le vrai cerveau qui va donner des ordres. c'est lui l'exécutant.

le LLM n'a qu'un travail d'analyste (je simplifie car certains LLM savent utiliser des méthodes de calculs intégrée), avec une mémoire non fiable

la BDD est la mémoire fiable à 100%.


les trois ont un travail distinct mais c'est le script qui va déclencher tout
Je ne suis pas patriote ou nationaliste. Je ne l'ai jamais été. Juste racialiste et anti européen. démocratie = scam.
il y a 8 mois
Elchapka2
Elchapka2
8 mois
pour le dire plus clairement, c'est le script le vrai cerveau qui va donner des ordres. c'est lui l'exécutant.

le LLM n'a qu'un travail d'analyste (je simplifie car certains LLM savent utiliser des méthodes de calculs intégrée), avec une mémoire non fiable

la BDD est la mémoire fiable à 100%.


les trois ont un travail distinct mais c'est le script qui va déclencher tout
j'ai pas ton courage
il y a 8 mois
Athena
Athena
8 mois
j'ai pas ton courage
après je fais des vidéos YouTube pour expliquer tout ce bordel aux gens normaux donc c'est vraiment en moi le support utilisateur.

et je trouve qu'on complexifie inutilement l'informatique qui dans le fond, utilise toujours les mêmes principes (CRUD, SOC, conditions...)
Je ne suis pas patriote ou nationaliste. Je ne l'ai jamais été. Juste racialiste et anti européen. démocratie = scam.
il y a 8 mois