Este proyecto implementa un sistema automatizado para optimizar las indicaciones de IA utilizando algoritmos genéticos y técnicas de aprendizaje automático. Está diseñado para evolucionar y mejorar cualquier mensaje LLM. El ejemplo en este repositorio se centra en la detección de acciones impulsada por la IA.
Lea más sobre esto aquí.
¡Optimizar las indicaciones utilizando este marco puede ser muy costoso! No acepto ninguna responsabilidad por los costos incurridos. Si el costo es una consideración, utilice LLM locales como Ollama para la optimización.
Para ver los resultados del aviso optimizado, consulte Nexusustrade.io. Nexustrade es una plataforma automatizada de comercio e inversión automatizada con IA que permite a los usuarios crear, probar, optimizar e implementar estrategias de comercio algorítmico.
Con el pantalla de stock, puede hacer cualquiera de las preguntas dentro del directorio de TRUSHTRUTS, que incluye:
Cualquier pregunta sobre los datos técnicos o fundamentales, el pantalla de acciones de AI de Nexustrade puede responder. ¡Pruébelo hoy gratis!
Antes de ejecutar este proyecto, asegúrese de tener los siguientes requisitos previos:
Node.js : asegúrese de tener Node.js instalado. Puede descargarlo de NodeJs.org.
Popular inputs.ts : cree y llene el archivo inputs.ts con el siguiente formato:
const inputs = [
{
text : "<Question to ask the model>" ,
foldername : "foldername_for_the_input_output" ,
} ,
] ;
export default inputs ;additionalSystemPrompts.ts : Crear y llenar el archivo additionalSystemPrompts.ts con el siguiente formato: const additionalSystemPrompts = [
"System Prompt 1" ,
"System Prompt 2" ,
"System Prompt 3" ,
"System Prompt 4" ,
"System Prompt 5" ,
] ;
export default additionalSystemPrompts ;.env en el directorio raíz del proyecto y agregue las siguientes variables de entorno: 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
Reemplace 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 y your_model_name con sus claves reales de API, la ruta de las aplicaciones de Google. nombre. Puede cambiar el modelo a un modelo de código abierto de Ollama o uno de Anthrope estableciendo la variable de entorno MODEL_NAME .
Para el DB local, puede llenarlo con lo siguiente:
LOCAL_DB="mongodb://127.0.0.1:27017/promptoptimizer"
De manera predeterminada, el sistema utilizará la base de datos local especificada en process.env.LOCAL_DB . Si desea usar una base de datos en la nube, asegúrese de que process.env.CLOUD_DB esté poblado y modifique el código para usarlo según sea necesario.
Para instalar las dependencias Node.js necesarias, ejecute el siguiente comando en el directorio raíz del proyecto:
npm install Para ejecutar archivos de TypeScript directamente, debe instalar ts-node . Puede instalarlo a nivel mundial utilizando el siguiente comando:
npm install -g ts-nodeAlternativamente, puede agregarlo como una dependencia de desarrollo a su proyecto:
npm install --save-dev ts-nodePara instalar las dependencias de Python necesarias, asegúrese de tener instalado Python y luego ejecute el siguiente comando en el directorio raíz del proyecto:
pip install -r requirements.txtEsto instalará los siguientes paquetes de Python:
matplotlibseabornpandasPara instalar MongoDB localmente, siga estos pasos:
Descargue MongoDB : vaya al centro de descarga de MongoDB y descargue el servidor comunitario MongoDB para su sistema operativo.
Instalar MongoDB :
.msi descargado y siga las instrucciones de instalación.brew tap mongodb/brew
brew install [email protected]mongod en el símbolo del sistema.brew services start mongodb/brew/mongodb-communitysudo systemctl start mongodmongoEsto debería abrir la carcasa MongoDB, lo que indica que MongoDB está instalado y ejecutándose correctamente.
Para dirigir el modelo hacia el comportamiento deseado, debe saber exactamente cómo desea que el modelo responda a una amplia gama de entradas. Para hacer esto, actualizará el archivo input.ts con nombres de archivo y entradas que desea que el modelo comprenda. Luego, ejecutará el script populateGroundTruth.ts . Este script le permite crear verdades terrestres de manera semiautomatizada.
Usando algún método (como un modelo de lenguaje grande), debe poder cuantificar qué tan cerca está su salida a su salida deseada. Puede hacer esto utilizando el "evaluador rápido" basado en LLM dentro del repositorio. El "evaluador rápido" toma la salida del modelo y la salida esperada y devuelve una puntuación.
Para usar Ollama como alternativa a OpenAI, siga estos pasos:
Descargue Ollama : vaya a ollama.com/download y descargue la versión apropiada para su sistema operativo.
Descargue el modelo : visite ollama.com/library/llama3.1 para descargar el modelo que desea usar.
Establezca la variable de entorno : asegúrese de establecer la siguiente variable de entorno en su archivo .env :
OLLAMA_SERVICE_URL=http://localhost:11434
Si tiene un ANTHROPIC_API_KEY , puede usar alternativamente Anthrope para la optimización rápida.
Para ejecutar el script TypeScript, puede usar ts-node . Asegúrese de tener ts-node instalado como se describe anteriormente, y luego ejecute el siguiente comando:
ts-node main.tsAlternativamente, puede compilar el código TypeScript en JavaScript y luego ejecutarlo usando node.js:
tscnode dist/main.js Para visualizar la aptitud física de entrenamiento y validación a lo largo de las generaciones, puede usar el script de Python graph.py . Este script genera gráficos para que pueda ver cómo cambió el rendimiento de su aviso con el tiempo. Para ejecutar el script, use el siguiente comando:
python graph.pyAl seguir estas instrucciones, podrá optimizar cualquier aviso arbitrario, cuantificar su rendimiento y visualizar cómo mejora con el tiempo.