Releases: charnould/pierre
v.0.17.0
Breaking
- Nécessite minimum
Kamal v.2.4.0
(vous devrez lancerkamal proxy reboot
) - Nécessite minimum
Bun v.1.1.40
- Ajoute un
disclaimer
dansconfig.ts
(cf. exemple). Utiliserbun test:config
pour valider le format deconfig.ts
. - Modifie comment apprendre à PIERRE de nouvelles connaissances. Voir la documentation (README.md) pour comprendre les nouveautés, notamment relatives à
_metadata.xlsx
.
Important
L'apprentissage automatique de connaissances proprietary
par PIERRE évoluera probablement encore.
Fix (ou Feature)
- Améliore le streaming des réponses
- Augmente le délai avant le
timeout
d'une requête - Optimise les performances du reranker
- reconstruit les bases de connaissances
- Améliore les prompts
- Ajoute à la recherche vectorielle la recherche FTS5 (bm25)
- Corrige la gestion des dates dans les prompts
- Met à jour les dépendances
- Modifie
bun.lock
(d'un binaire à un fichier-texte) - Autres améliorations diverses
Full Changelog: v.0.16.2...v.0.17.0
v.0.16.2
What's Changed
- fix: fix bug introduced in v0.16.0: update build script and store SQLite files in
knowledge
folder and notDocker
volume - perf: enhance prompt to include escalation guidance for ‘collaborator mode’ responses
- perf: retrieve the latest articles from Wikipedia
- chore: rebuild frontend assets to incorporate recent updates and ensure compatibility
- build: update dependencies
- docs: update
pierre
social image
Full Changelog: v.0.16.1...v.0.16.2
v.0.16.1
What's Changed
- docs : renomme la présentation .pdf de PIERRE et ajoute un simulateur de coût .xlsx
- fix : corrige un bug provoqué par la dernière version de
llamaindex
Warning
La remarque ci-dessous, relative à la v.0.16.0
, reste applicable à cette version v.0.16.1
.
En déployant un clone de PIERRE, j'ai découvert un bug (en cours de résolution) : si vous utilisez la commande bun generate --proprietary
(pour créer une base de connaissances propriétaire
) et que vous déployez la version 0.16.0
pour la première fois, tout fonctionne. Par contre, si vous re-générez/modifiez cette base propriétaire
et déployez à nouveau, alors cette dernière version de la base ne sera pas prise en compte. Le bug provient de la façon dont Kamal
/Docker
gère les volumes
.
D'ici la résolution, le moyen le plus simple est : lancer dotenvx run -f .env.production -- kamal accessory remove all
, puis redéployer. Vous perdrez par contre l'historique des conversations et les utilisateurs.
Full Changelog: v.0.16.0...v.0.16.1
v.0.16.0
What's Changed
Breaking (ou importants)
- feat: implémente un
reranker
(chaquechunk
retourné par la BDD est testé pour s'assurer de sa pertinence). Une conséquence pratique : si lereranker
indique qu'aucunchunk
n'est pertinent, PIERRE répond ne pas être en capacité de répondre - feat: ajout de
disclaimer
au fichierconfig.ts
qui permet d'afficher une mention après les messages générés par PIERRE (ex : Une IA peut se tromper, vérifier les informations). Cedisclaimer
peut être différent selon lescontext
- feat: implémente (beta) l'ingestion automatisée des fichiers
.docx
,.xlsx
(et.md
) pour apprendre à PIERRE vos documents internes (ex : procédures, carnet de patrimoine, etc.). Consulter leREADME.md
pour savoir comment créer, construire et reconstruire la base de connaissances, y compris propriétaire/confidentielle - feat: pour chaque
context
, il convient d'indiquer à quelles bases de connaissances il a accès
knowledge: {
community: true,
proprietary: { public: false, private: false }
}
- refactor: renomme les différentes bases de données et leur localisation (les précédentes/anciennes conversations n'apparaitront donc plus dans la console d'administration)
Warning
En déployant un clone de PIERRE, j'ai découvert un bug (en cours de résolution) : si vous utilisez la commande bun generate --proprietary
(pour créer une base de connaissances propriétaire
) et que vous déployez la version 0.16.0
pour la première fois, tout fonctionne. Par contre, si vous re-générez/modifiez cette base propriétaire
et déployez à nouveau, alors cette dernière version de la base ne sera pas prise en compte. Le bug provient de la façon dont Kamal
/Docker
gère les volumes
.
D'ici la résolution, le moyen le plus simple est : lancer dotenvx run -f .env.production -- kamal accessory remove all
, puis redéployer. Vous perdrez par contre l'historique des conversations et les utilisateurs.
Autres
- refactor: réécrit le script de (re)construction des bases de connaissances et réduit sa génération à 2-3 minutes au lieu de 15 (dépend de sa taille).
- fix: corrige un bug relatif à l'accès aux pages
protected
- perf: modifie le routing(IA) pour distinguer les
profanity
desno-knowledge
- chore: améliorations diverses, notamment des prompts
- test: ajout d'un test pour permettre aux cloneurs/forkers de tester leur configuration (
bun test:config
). Vous pouvez ainsi vous assurez que votre fichierconfig.ts
est conforme (in fine, le test doit être amélioré pour tester aussi les variables d'environnement) - docs: fait le ménage dans quelques exemples/démonstrations
- docs: ajout d'un contenu créé collaborativement avec un bailleur social (Grand Dijon Habitat)
- docs: mise à jour du
README.md
pour expliquer les évolutions (à consulter si vous rencontrez des erreurs/anomalies)
Full Changelog: v.0.15.0...v.0.16.0
v.0.15.0
What's Changed
- Corrections et améliorations diverses
- [BREAKING] Ajoute la possibilité de protéger l'accès à certains
contexts
par ID/mot de passe (cf. exemple) - [BREAKING] Préfigure une prochaine fonctionnalité permettant de choisir pour chaque
context
les bases de connaissances qui sont utilisées. Cela permet notamment d'utiliser des données internes/confidentielles lorsque lecontext
est dédié/limité aux collaborateurs (cf. exemple). A ce jour, la fonctionnalité n'est pas active.
Pour mettre à jour depuis v.0.14.0
, il suffit de mettre à jour/modifier config.ts
.
...
default: {
protected: false,
knowledge: {
community: true,
self: { public: false, collaborators: false }
},
...
}
...
Full Changelog: v.0.14.0...v.0.15.0
v.0.14.0
EDIT (2024-11-09 à 18h30) : Ajout du [BREAKING CHANGE] relatif à AUTH_SECRET
qui doit impérativement être une chaine de 32 caractères hexadécimaux.
Une mise à jour importante qui prépare plusieurs nouvelles fonctionnalités 🚀 !
- [BREAKING] La variable d'environnement
AUTH_SECRET
doit impérativement être une chaine de 32 caractères hexadécimaux (pour en générer une, saisissez dans votre terminal :openssl rand -hex 16
) - [BREAKING] Renomme une variable d'environnement (
AUTH_PASSWORDS
->AUTH_PASSWORD
) et supprime la capacité d'y indiquer plusieurs mots de passe. L'objectif : s'aligner avec la (nouvelle) gestion des utilisateurs. Pour déployer cette version, assurez-vous donc que votreenv.production
est aligné avecenv.example
. - [FEAT] Ajoute une interface pour la gestion des utilisateurs avec 3 rôles (certaines fonctionnalités seront livrées plus tard) :
- Administrateur : peut (a) modifier les utilisateurs, (b) modifier la base de connaissances, (c) consulter les conversations, (d) consulter les statistiques et (e) utiliser « l'aide de camp » (consulter le
README.md
pour utiliser l'interface d'administration). - Contributeur : peut uniquement réaliser (b) et (e)
- Collaborateur : peut uniquement utiliser (e).
- Administrateur : peut (a) modifier les utilisateurs, (b) modifier la base de connaissances, (c) consulter les conversations, (d) consulter les statistiques et (e) utiliser « l'aide de camp » (consulter le
- [FEAT] Ajoute (pour partie) les interfaces-utilisateurs pour les fonctionnalités décrites ci-dessus.
- Améliorations diverses
Full Changelog: v.0.13.0...v.0.14.0
v.0.13.0
What's Changed
- [BREAKING] build: PIERRE nécessite minimum Bun
v.1.1.34
et Kamal2.3.0
- [BREAKING] feat: introduce
context
property inconfig.ts
to support multiple contexts
🚀 Une nouvelle fonctionnalités suite à un échange avec un bailleur social !
Pouvoir afficher différentes versions de PIERRE selon qu'on le consulte sur un site web, sur un espace-locataire, depuis une borne interactive en agence, non comme un locataire mais un collaborateur qui l'utilise comme assistant du quotidien...
Pour déployer cette version et créer ces context
, il convient de modifier le fichier assets/**/config.ts
- revert: re-commit
assets/**/config.ts
(générait plus de problèmes que cela n'en résolvait) - fix: améliorations diverses
Full Changelog: v.0.12.4...v.0.13.0
v.0.12.4
v.0.12.3
What's Changed
- fix: prevent
assets/*/config.ts
from being served - fix: git-ignore
/assets/**/config.ts
- fix: remove files ignored by .gitignore
- build: update dependencies
- test: check whether
config.example.ts
parses successfully - chore: add
granddijonhabitat.fr
- chore: add .env.production and .env.staging to .dockerignore
- docs: udpate slightly Pierre's presentation (pdf)
- docs: add a
config.example.ts
(sinceconfig.ts
is now git-ignored) - docs: modify
README.md
sinceconfig.ts
is now git-ignored + typos/improvements - docs: tiny fixes to Pierre's presentation (pdf)
Full Changelog: v.0.12.2...v.0.12.3
v.0.12.2
What's Changed
- perf: improve (again) query augmentation prompt (location inference + other)
- style: remove/add newlines
- perf: improve answer generation prompt (web + sms)
- build: update dependencies
- fix: simplify split_sms function (it splits now simply by \n)
Full Changelog: v.0.12.1...v.0.12.2