Un article sur l'écriture de tests frontend end to end et notamment le choix des sélecteurs.
Les sélecteurs doivent être le plus proche possible de l'interaction réel de l'utilisateur.
Par exemple, si je veux me connecter alors je clique sur un bouton qui contient le texte "Login" donc le sélecteur doit reproduire ce comportement au lieu d'utiliser des attributes HTML comme les classes ou le fameux data-test-id
.
C'est d'ailleurs la base des sélecteurs que propose Playwright:
await page.getByRole('button', { name: /login/i }).click();
Excellente introduction sur RAG.
Les connaissances des LLMs sont "bloquées" dans le temps alors il est nécessaire des leur fournir des documents en provenance de source externes pour répondre à des questions.
Souvent on va stocker ces documents sous la forme d'embeddings dans des bases de données vectorielles. Cela permet de faire des recherches sémantiques et d'incorporer les documents à propos du sujet de la question posée au LLM.
La fameuse expérience ou des LLMs communiquent entre eux dans un jeux vidéo type animal crossing.
Ils ont poussé le concept de mémoire assez loin ce qui a permis aux Agents d'organiser des évènements entre eux car ils avaient la possibilité de se rappeler et de propager l'information.
Ils introduisent une fonction pour trier les informations en mémoire selon la date de l'évènement, son importance et sa pertinence face à la situation actuelle.
La mémoire est également retravaillé avec le concept de reflection qui synthétise la mémoire en des informations de plus haut niveau.
Un résumé de l'état de l'art sur les application à la génération de code des LLMs.
Sous le coude
Présentation d'un sujet de recherche autour des RAG afin d'améliorer leurs performances dans des cas ou certains documents insérés dans le prompt contiennent des informations sémantiquement proches mais non pertinentes.
Dans le cadre d'un LLM, la reflection consiste à le faire réfléchir sur la pertinence des informations qu'il a extraites.
De belles animations sensées représenter le fonctionnement de modèles d'IA.
C'est beau mais je n'y comprends pas grand chose :-)
Si vous cherchez à installer un package Javascript qui vous avez publié en privé sur Github (Github Package), voila la solution.
Par exemple, si vous souhaitez installer le package @aschen/memorus
, commencez par générer un Personnal Access Token et ajoutez le dans les secrets de votre repo puis utilisez ce job.
jobs:
whooa-awesome-job-mate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 20
registry-url: 'https://npm.pkg.github.com'
scope: '@aschen'
- name: Install dependencies
run: npm install -g @aschen/memorus
env:
NODE_AUTH_TOKEN: ${{ secrets.PAT }}
Une lib Javascript qui propose de multiple actions avec des modèles de GenAI:
- LLM: OpenAI, Anthropic, Cohere, Llama.cpp, Hugging Face
- text to image: OpenAI (Dall·E), Stability AI, Automatic1111
- text to speech: Eleven Labs, LMNT
- speech to text: OpenAI (Whisper)
- embeddings: OpenAI, Cohere, Llama.cpp, Hugging Face
Une lib qui permet de générer une version très dégradée d'une image mais aussi très légère (20 octets!)
ça permet d'afficher un placeholder en attendant que la véritable image charge
Un développeur en a eu marre que son jeu HTML soit inclus sur d'autres sites dans des iframes.
Il a décidé de remplacer le jeu par l'image "Goatse" (ne pas googler!) quand il détecte une inclusion via iframe.
Il est également possible de faire la même chose aux sites qui link directement une image de votre site.
Moralité, héberger votre contenu chez vous et soyez respectueux des auteurs.
Article qui explique pas à pas les principes de l'architecture hexagonale avec des exemples.
C'est le plus clair que j'ai trouvé en français, je le conseille vivement à ceux qui veulent se lancer en clean archi.
Une reproduction d'un fonctionnement d'un OS avec récupération et stockage d'informations en mémoire.
Uniquement pour du tchat par contre, pas de notion d'Agent LLM
Un retour d'expérience sur la réalisation d'un chatbot de type helpdesk qui va chercher ses info dans une base de données vectorielle.
Des techniques d'évaluation du modèle sont proposées à la fin de l'article
Réflexion autour du changement de paradigme de notre métier de développeurs.
On passe plus de temps à réfléchir au design des systèmes que les coder.
Pleins d'exemples d'utilisation de GPT-4V
Un excellent article sur le fonctionnement des GPU
C'est l'outil qu'AWS utilise en interne pour définir leurs API et ensuite générer des SDK dans tous les langages.
Exemple:
$version: "2"
namespace example.weather
service Weather {
version: "2006-03-01"
resources: [City]
operations: [GetCurrentTime]
}
resource City {
identifiers: { cityId: CityId }
read: GetCity
list: ListCities
resources: [Forecast]
}
Un article qui illustre une architecture hexagonale en frontend (React)
Injection de dépendance en frontend avec React en utilisant des High Order Function ou des contextes React.
Pleins d'exemples de prompt engineering directement chez Langchain.
Ils ont développé un super SaaS autour du prompt engineering