Skip to main content

A CLI tool for describing tasks using LLM tools

Project description

TASK-AI: CLI for describing Stonebranch task definitions

Overview

Task AI is a powerful command-line tool designed to process Stonebranch Task JSON data, offering features like anonymization, parsing, and description generation. It's built with flexibility and ease of use in mind, making it ideal for various data analysis and manipulation tasks.

Key Features:

  • Anonymization: Securely anonymize sensitive data within your JSON files using configurable rules.
  • Parsing: Process and structure your JSON data according to your specific needs.
  • Description Generation: Generate clear and concise descriptions based on the processed JSON data.
  • Configuration: Customize Task AI's behavior through a simple YAML configuration file.
  • Logging: Track the tool's progress and debug issues with detailed logging capabilities.
  • Command-Line Interface: Enjoy a user-friendly command-line interface for easy interaction.

Getting Started:

Installation: Install Task AI using pip:

pip install task-ai

Configuration: Create a configuration file (e.g., ~/.uac/task_ai.yml) to define your anonymization rules, parsing options, and other settings. Usage: Run Task AI from your terminal, specifying the input JSON file and any desired options.

Sample Config

template_path: task_ai/templates
prompt_example_path: task_ai/prompts/examples
llm:
  provider: "ollama"
  api_base: "http://localhost:11434"
  model: "llama3:latest"
  # For OpenAI use the following configuration
  # provider: "openai"
  # api_key: "sk-xxxxx
  # model: "gpt-4o"
  # temperature: 0.2
  # max_tokens: 1024
  # base_prompt: >
  # If there are notes just summarize the content of the notes. Do not include any notes in the output.
anonymization:
  fields:
    - agent
    - name
    - script
    - sysId
    - agentVar
    - command
    - parameters
    - summary
    - agent_cluster
    - broadcastCluster
    - credentials
    - runtimeDir
processing:
  exclude:
    - sysId
    - version
    - firstRun
    - lastRun
    - exportReleaseLevel
    - lastRunTimeDisplay
    - minRunTimeDisplay
    - maxRunTimeDisplay
    - avgRunTimeDisplay
    - notes
  include:
    - type

Example:

task-ai -i input.json -c config.yml -s

This command will process input.json using the settings in config.yml, anonymize the data, and display the anonymized JSON output and the description of the task.

You can use this tool combined with UAC-CLI tool like this.

uac task get task_name="Linux Sleep 10" | task-ai -s

Output

{
    "type": "taskUnix",
    "agent": "{agent}",
    "command": "{command}",
    "name": "{name}"
}
Unix task running on 'AGENT1' agent with name 'Linux Sleep 10' that will run a command as 'sleep 10'.

Security

Your data will be anonymized using the provided rules. Sensitive data will not be sent to LLM API. Sensitive data is defined by the fields in the config file.

The sensitive data will be replaced with a string of {field_name}, for example: Agent will be replaced with {agent}. Once the description returned from LLM API, it will be replaced back to its original value.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

task-ai-0.0.3.tar.gz (11.0 kB view hashes)

Uploaded Source

Built Distribution

task_ai-0.0.3-py3-none-any.whl (14.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page