
Use LLMs for document ranking
Utilisez les LLM pour le classement de documents.
Il y a une certaine puissance dans l'IA qui permet de « lui lancer un problème » et d'obtenir un résultat, sans même avoir entièrement défini le problème. Par exemple, donnez-lui un ensemble de diffs de code et un avis de sécurité, et demandez : « Lequel de ces diffs semble le plus susceptible de corriger le bug de sécurité ? » Cependant, ce n'est pas toujours aussi simple :
Nous avons construit raink pour contourner ces problèmes et résoudre des problèmes de classement généraux qui sont autrement difficiles à traiter pour les LLM. Consultez notre article de blog raink: Use LLMs for Document Ranking pour plus de contexte sur cette technique, et notre présentation Patch Perfect: Harmonizing with LLMs to Find Security Vulns pour voir comment nous avons appliqué raink à des problèmes de sécurité offensive.
git clone https://github.com/bishopfox/raink
cd raink
go install
Définissez votre variable d'environnement OPENAI_API_KEY.
raink -h
Usage of raink:
-f string
Input file
-p string
Initial prompt
-r int
Number of runs (default 10)
-s int
Batch size (default 10)
Compare 100 phrases en moins de 2 minutes.
raink \
-f testdata/sentences.txt \
-r 10 \
-s 10 \
-p 'Rank each of these items according to their relevancy to the concept of "time".' |
jq -r '.[:10] | map(.value)[]' |
nl
1 The train arrived exactly on time.
2 The old clock chimed twelve times.
3 The clock ticked steadily on the wall.
4 The bell rang, signaling the end of class.
5 The rooster crowed at the break of dawn.
6 She climbed to the top of the hill to watch the sunset.
7 He watched as the leaves fell one by one.
8 The stars twinkled brightly in the clear night sky.
9 He spotted a shooting star while stargazing.
10 She opened the curtains to let in the morning light.
Ce projet est distribué sous la licence MIT.