Terraform-ai
на базе OpenAI ChatGPT упрощает процесс применения файлов Terraform HCL, предоставляя интеллектуального и интерактивного помощника.
terraform-ai
требуется ключ API OpenAI или ключ и конечная точка API службы OpenAI Azure.
Как для OpenAI, так и для Azure OpenAI вы можете использовать следующие переменные среды:
export OPENAI_API_KEY= < your OpenAI key >
export OPENAI_DEPLOYMENT_NAME= < your OpenAI deployment/model name. defaults to " gpt-3.5-turbo " >
Поддерживаются следующие модели:
code-davinci-002
text-davinci-003
gpt-3.5-turbo-0301
(для Azure развертывание должно иметь имяgpt-35-turbo-0301
)gpt-3.5-turbo
gpt-35-turbo-0301
gpt-4-0314
gpt-4-32k-0314
Для службы Azure OpenAI вы можете использовать следующие переменные среды:
export AZURE_OPENAI_ENDPOINT= < your Azure OpenAI endpoint, like " https://my-aoi-endpoint.openai.azure.com " >
Если установлена переменная AZURE_OPENAI_ENDPOINT
, она будет использовать службу Azure OpenAI. В противном случае он будет использовать API OpenAI.
Добавьте в brew
кран и установите с помощью:
brew tap hubs-ai/terraform-ai https://github.com/hubs-ai/terraform-ai
brew install terraform-ai
Можно установить флаг --require-confirmation
или переменную среды REQUIRE_CONFIRMATION
, чтобы запрашивать у пользователя подтверждение перед применением манифеста. По умолчанию истинно.
Флаг --temperature
или переменная среды TEMPERATURE
может быть установлена в диапазоне от 0 до 1. Более высокая температура приведет к более творческому завершению. Более низкая температура приведет к более детерминированному завершению работ. По умолчанию 0.
Флаг --working-dir
или переменная среды WORKING_DIR
, которую можно установить для пути проекта Terraform.
Флаг --exec-dir
или переменная среды EXEC_DIR
, которую можно установить для исполняемого двоичного файла Terraform.
terraform-ai " create micro ec2 ubuntu image 20.04 with name hello-future "
? Attempting to store the following template:
resource " aws_instance " " hello_future " {
ami = " ami-0f65671a86f061fcd "
instance_type = " t2.micro "
tags = {
Name = " hello-future "
}
}
Use the arrow keys to navigate: ↓ ↑ → ←
? Would you like to apply this ? [Reprompt/Apply/Don ' t Apply]:
+ Reprompt
▸ Apply
Don ' t Apply
terraform-ai init " create aws provider in ohio "
? Attempting to apply the following template:
provider " aws " {
region = " us-east-2 "
alias = " Ohio "
}
Use the arrow keys to navigate: ↓ ↑ → ←
? Would you like to apply this ? [Reprompt/Apply/Don ' t Apply]:
+ Reprompt
▸ Apply
Don ' t Apply
--require-confirmation
Я нашел вдохновение в репозитории, размещенном по адресу https://github.com/sozercan/kubectl-ai, и хотел бы выразить благодарность @sozercan за их ценный творческий подход. Кроме того, я хочу отметить работу @simongottschlag над форком Azure OpenAI, доступным по адресу https://github.com/simongottschlag/azure-openai-gpt-slack-bot, который построен на основе https:// github.com/PullRequestInc/go-gpt3.