该项目实现了使用遗传算法和机器学习技术优化AI提示的自动化系统。它旨在发展和改善任何LLM提示。此存储库中的示例集中在AI驱动的库存筛查上。
在这里阅读更多有关它的信息。
使用此框架优化提示可能非常昂贵!对于任何费用,我不承担任何责任。如果考虑成本,请使用Ollama等本地LLM进行优化。
要查看优化提示的结果,请查看Nexustrade.io。 Nexustrade是AI驱动的自动交易和投资平台,可让用户创建,测试,优化和部署算法交易策略。
使用库存筛选器,您可以询问地面图目录中的任何问题,包括:
关于技术或基本数据的任何问题,Nexustrade的AI股票筛选器都可以回答。立即免费尝试!
在运行此项目之前,请确保已设置以下先决条件:
node.js :确保已安装了node.js。您可以从nodejs.org下载它。
填充inputs.ts
:创建和填充inputs.ts
文件,并具有以下格式:
const inputs = [
{
text : "<Question to ask the model>" ,
foldername : "foldername_for_the_input_output" ,
} ,
] ;
export default inputs ;
additionalSystemPrompts.ts
:创建和填充additionalSystemPrompts.ts
文件,具有以下格式: const additionalSystemPrompts = [
"System Prompt 1" ,
"System Prompt 2" ,
"System Prompt 3" ,
"System Prompt 4" ,
"System Prompt 5" ,
] ;
export default additionalSystemPrompts ;
.env
文件,并添加以下环境变量: 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
Replace 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
, and your_model_name
with your actual API keys, the path to your Google application credentials JSON file, your database connection strings, and the模型名称。您可以通过设置MODEL_NAME
环境变量将模型更改为来自Ollama的开源模型,也可以将模型从Anthropic中更改。
对于本地数据库,您可以使用以下内容填充它:
LOCAL_DB="mongodb://127.0.0.1:27017/promptoptimizer"
默认情况下,系统将使用process.env.LOCAL_DB
中指定的本地数据库。如果要使用云数据库,请确保填充process.env.CLOUD_DB
并根据需要修改代码。
要安装必要的node.js依赖项,请在项目的根目录中运行以下命令:
npm install
要直接运行打字稿文件,您需要安装ts-node
。您可以使用以下命令在全球安装它:
npm install -g ts-node
另外,您可以将其添加为项目的DEV依赖性:
npm install --save-dev ts-node
要安装必要的Python依赖项,请确保您已安装Python,然后在项目的根目录中运行以下命令:
pip install -r requirements.txt
这将安装以下Python软件包:
matplotlib
seaborn
pandas
要在本地安装MongoDB,请按照以下步骤:
下载MongoDB :转到MongoDB下载中心,然后下载用于操作系统的MongoDB社区服务器。
安装mongoDB :
.msi
安装程序并遵循安装说明。brew tap mongodb/brew
brew install [email protected]
mongod
手动启动它。brew services start mongodb/brew/mongodb-community
sudo systemctl start mongod
mongo
这应该打开MongoDB外壳,表明MongoDB已安装并正确运行。
要将模型引导到所需的行为,您需要确切知道您希望该模型如何响应广泛的输入。为此,您将使用文件名和输入更新文件input.ts
。然后,您将执行脚本populateGroundTruth.ts
。该脚本使您可以半自动化的方式创建地面真相。
使用一些方法(例如大语言模型),您需要能够量化输出与所需输出的距离。您可以在存储库中使用基于LLM的“提示评估器”来执行此操作。 “提示评估者”采用模型的输出和预期的输出,并返回得分。
要使用Ollama作为OpenAI的替代方案,请按照以下步骤:
下载Ollama :访问ollama.com/download并下载适合操作系统的适当版本。
下载模型:访问ollama.com/library/llama3.1以下载您要使用的型号。
设置环境变量:确保在.env
文件中设置以下环境变量:
OLLAMA_SERVICE_URL=http://localhost:11434
如果您有ANTHROPIC_API_KEY
,则可以使用人类来及时优化。
要运行打字稿脚本,您可以使用ts-node
。确保您如上所述安装了ts-node
,然后运行以下命令:
ts-node main.ts
另外,您可以将打字稿代码编译到JavaScript,然后使用node.js运行:
tsc
node dist/main.js
为了可视化几代人的培训和验证适应性,您可以使用Python脚本graph.py
。该脚本生成图形,因此您可以查看提示的性能如何随着时间而变化。要运行脚本,请使用以下命令:
python graph.py
通过遵循这些说明,您将能够优化任何任意提示,量化其性能,并可视化其随着时间的进步。