Ce projet implémente un système automatisé pour optimiser les invites d'IA à l'aide d'algorithmes génétiques et de techniques d'apprentissage automatique. Il est conçu pour évoluer et améliorer toute invite LLM. L'exemple de ce dépôt est axé sur le dépistage des stocks basé sur l'IA.
En savoir plus ici.
L'optimisation des invites à l'aide de ce cadre peut être très coûteuse! J'accepte aucune responsabilité pour les coûts engagés. Si le coût est une considération, veuillez utiliser les LLM locales comme Olllama pour l'optimisation.
Pour voir les résultats de l'invite optimisée, consultez Nexustrade.io. Nexustrade est une plate-forme de trading et d'investissement automatisée alimentée par AI qui permet aux utilisateurs de créer, tester, optimiser et déployer des stratégies de trading algorithmique.
Avec le Screen Screenner, vous pouvez poser l'une des questions dans le répertoire GroundTruths, notamment:
Toute question sur les données techniques ou fondamentales, le dépistage des actions AI de Nexustrade peut répondre. Essayez-le aujourd'hui gratuitement!
Avant d'exécuter ce projet, assurez-vous que les conditions préalables suivantes sont configurées:
Node.js : assurez-vous que Node.js est installé. Vous pouvez le télécharger à partir de Nodejs.org.
Paptulate inputs.ts
: Créez et remplissez le fichier inputs.ts
avec le format suivant:
const inputs = [
{
text : "<Question to ask the model>" ,
foldername : "foldername_for_the_input_output" ,
} ,
] ;
export default inputs ;
additionalSystemPrompts.ts
: Créez et remplissez le fichier additionalSystemPrompts.ts
avec le format suivant: const additionalSystemPrompts = [
"System Prompt 1" ,
"System Prompt 2" ,
"System Prompt 3" ,
"System Prompt 4" ,
"System Prompt 5" ,
] ;
export default additionalSystemPrompts ;
.env
dans le répertoire racine du projet et ajoutez les variables d'environnement suivantes: ANTHROPIC_API_KEY=your_anthropic_api_key
OPENAI_API_KEY=your_openai_api_key
OLLAMA_SERVICE_URL=http://localhost:11434
GOOGLE_APPLICATION_CREDENTIALS_JSON=path_to_your_google_application_credentials_json
CLOUD_DB=your_cloud_db_connection_string
LOCAL_DB=your_local_db_connection_string
MODEL_NAME=your_model_name
Remplacez your_anthropic_api_key
, your_openai_api_key
, path_to_your_google_application_credentials_json
, your_cloud_db_connection_string
, your_local_db_connection_string
, et your_model_name
par vos clés API réelles, la path sur votre application google Nom du modèle. Vous pouvez changer le modèle en un modèle open source à partir d'Olllama ou un à partir d'Anthropic en définissant la variable d'environnement MODEL_NAME
.
Pour la base de données locale, vous pouvez le remplir avec les éléments suivants:
LOCAL_DB="mongodb://127.0.0.1:27017/promptoptimizer"
Par défaut, le système utilisera la base de données locale spécifiée dans process.env.LOCAL_DB
. Si vous souhaitez utiliser une base de données Cloud, assurez-vous que process.env.CLOUD_DB
est remplie et modifiez le code pour l'utiliser selon les besoins.
Pour installer les dépendances Node.js nécessaires, exécutez la commande suivante dans le répertoire racine du projet:
npm install
Pour exécuter directement les fichiers TypeScript, vous devez installer ts-node
. Vous pouvez l'installer globalement en utilisant la commande suivante:
npm install -g ts-node
Alternativement, vous pouvez l'ajouter en fonction de dépendance à votre projet:
npm install --save-dev ts-node
Pour installer les dépendances Python nécessaires, assurez-vous que Python soit installé, puis exécutez la commande suivante dans le répertoire racine du projet:
pip install -r requirements.txt
Cela installera les packages Python suivants:
matplotlib
seaborn
pandas
Pour installer MongoDB localement, suivez ces étapes:
Téléchargez MongoDB : accédez au centre de téléchargement MongoDB et téléchargez le serveur communautaire MongoDB pour votre système d'exploitation.
Installer MongoDB :
.msi
téléchargé et suivez les instructions d'installation.brew tap mongodb/brew
brew install [email protected]
mongod
dans l'invite de commande.brew services start mongodb/brew/mongodb-community
sudo systemctl start mongod
mongo
Cela devrait ouvrir le shell MongoDB, indiquant que MongoDB est installé et s'exécute correctement.
Pour diriger le modèle vers le comportement souhaité, vous devez savoir exactement comment vous voulez que le modèle réponde à un large éventail d'entrées. Pour ce faire, vous metterez à jour le fichier input.ts
avec des noms de fichiers et des entrées que vous souhaitez que le modèle comprenne. Ensuite, vous exécuterez le script populateGroundTruth.ts
. Ce script vous permet de créer des vérités au sol d'une manière semi-automatisée.
En utilisant une méthode (comme un modèle de grande langue), vous devez être en mesure de quantifier la proximité de votre sortie avec la sortie souhaitée. Vous pouvez le faire en utilisant le "Évaluateur invite" basé sur LLM au sein du dépôt. L'évaluateur "Prompt" prend la sortie du modèle et la sortie attendue et renvoie un score.
Pour utiliser Olllama comme alternative à OpenAI, suivez ces étapes:
Téléchargez Olllama : allez sur olllama.com/download et téléchargez la version appropriée pour votre système d'exploitation.
Téléchargez le modèle : visitez olllama.com/library/Lama3.1 pour télécharger le modèle que vous souhaitez utiliser.
Définissez la variable d'environnement : assurez-vous de définir la variable d'environnement suivante dans votre fichier .env
:
OLLAMA_SERVICE_URL=http://localhost:11434
Si vous avez un ANTHROPIC_API_KEY
, vous pouvez également utiliser Anthropic pour une optimisation rapide.
Pour exécuter le script TypeScript, vous pouvez utiliser ts-node
. Assurez-vous que vous avez installé ts-node
comme décrit ci-dessus, puis exécutez la commande suivante:
ts-node main.ts
Alternativement, vous pouvez compiler le code TypeScript en JavaScript, puis l'exécuter à l'aide de node.js:
tsc
node dist/main.js
Pour visualiser la formation de formation et de validation au cours des générations, vous pouvez utiliser le script Python graph.py
. Ce script génère des graphiques afin que vous puissiez voir comment les performances de votre invite ont changé au fil du temps. Pour exécuter le script, utilisez la commande suivante:
python graph.py
En suivant ces instructions, vous serez en mesure d'optimiser toute invite arbitraire, de quantifier ses performances et de visualiser comment elle s'améliore avec le temps.