GEAI(1)

NAME
geai - Command Line Interface for Globant Enterprise AI

SYNOPSIS
geai command [subcommand] [--option] [option-arg]

DESCRIPTION
The geai command-line interface (CLI) interacts with the PyGEAI SDK to manage tasks in Globant Enterprise AI (GEAI), including creating organizations and projects, defining assistants, managing workflows, handling files, and more.

The available commands and their subcommands are described below. For specific options, use:

geai
command
h

or

geai
command
help

  Commands
The following top-level commands are available:

help, h
    Display help text for the specified command.

version, v
    Display the version of the GEAI CLI.

check-updates, cu
    Search for available updates for the GEAI CLI.

configure, config, c
    Set up environment variables required to interact with GEAI.

    --key, -k
        Set the GEAI API key.

    --url, -u
        Set the GEAI API base URL.

    --eval-url, --eu
        Set the GEAI API evaluation URL for the evaluation module.

    --alias, -a
        Set an alias for the settings section.

    --list, -l
        List available aliases.

organization, org
    Manage organization endpoints to handle project parameters. See ORGANIZATION COMMANDS for details.

assistant, ast
    Manage assistant endpoints to handle assistant parameters. See ASSISTANT COMMANDS for details.

rag Manage RAG (Retrieval-Augmented Generation) assistant endpoints. See RAG ASSISTANT COMMANDS for details.

chat
    Manage chat endpoints to interact with assistants. See CHAT COMMANDS for details.

admin, adm
    Manage admin endpoints for internal use. See ADMIN COMMANDS for details.

llm Retrieve information about providers and models. See LLM COMMANDS for details.

files
    Handle file-related operations. See FILES COMMANDS for details.

usage-limit, ulim
    Manage usage limits for organizations and projects. See USAGE LIMIT COMMANDS for details.

embeddings, emb
    Generate embeddings in GEAI. See EMBEDDINGS COMMANDS for details.

feedback, fbk
    Send feedback on assistant responses. See FEEDBACK COMMANDS for details.

rerank, rr
    Rerank document chunks based on a query. See RERANK COMMANDS for details.

evaluation, eval
    Interact with dataset, plan, and result APIs in the evaluation module. See EVALUATION COMMANDS for details.

gam Manage GAM authentication endpoints. See GAM COMMANDS for details.

secrets, sec
    Handle GEAI secrets. See SECRETS COMMANDS for details.

ai-lab, ail
    Interact with AI Lab endpoints. See AI LAB COMMANDS for details.

ai-lab-spec, spec
    Load AI Lab components from JSON specifications. See AI LAB SPEC COMMANDS for details.

migrate, mig
    Migrate data between organizations and instances. See MIGRATE COMMANDS for details.

ERROR CODES
Certain errors include up to %n references specific to the error, denoted as %1, %2, ..., %n.
Error Code | Description
1 | Assistant Not Found
2 | Provider Type Not Found
3 | Request Not Found
5 | Api Key Not Found
6 | Api Token Not Found
7 | Api Token Out Of Scope
10 | Query Text Empty
20 | Bad Input Text
100 | Provider Request Timeout
150 | Provider Unknown Error
151 | Provider Rate Limit
152 | Provider Quota Exceeded
153 | Provider Over Capacity
154 | Quota Exceeded
401 | Unauthorized
404 | Bad Endpoint
405 | Method Not Allowed
500 | Internal Server Error
1001 | Provider Configuration Error
1010 | RAG Not Found
1101 | Search Index Profile Name Not Found
1102 | Request Failed
2000 | Invalid ProjectName
2001 | Invalid OrganizationId
2002 | ProjectName %1 Already Exists In The Organization
2003 | OrganizationName Already Exists
2004 | Organization Not Found
2005 | Project Not Found
2006 | Project Not In Organization
2007 | Name is Empty
2008 | Prompt is Empty
2009 | Invalid Type
2010 | Not Implemented
2011 | Assistant General Error
2012 | Assistant Not Implemented
2013 | Revision Is Empty
2014 | Assistant Revision Not Found
2015 | Assistant Revision Update Error
2016 | AIModel Id For %1 %2
2017 | RAG General Error
2018 | Vector Store Not Found
2019 | Index Profile General Error
2020 | RAG Already Exists
2021 | Document Not Found
2022 | Invalid DocumentId
2023 | Document General Error
2024 | RAG Invalid
2025 | Document Name Not Provided
2026 | Verb Not Supported
2027 | Document Extension Invalid
2028 | Invalid File Size
2029 | Project name already exists
2030 | Assistant name already exists
2031 | Assistant not in Project
2032 | The status value is unexpected
2041 | The assistant specified is of a different type than expected
3000 | Data Analyst APIError: The connection with DataAnalyst Server could not be established
3003 | The assistant is currently being updated and is not yet available
3004 | Error validating metadata: each uploaded file requires related JSON metadata and vice versa
3005 | Error validating metadata: no metadata was found for file 'nameOfFile'

ORGANIZATION COMMANDS

  Synopsis
geai organization subcommand [--flag] [flag-arg]

  Description
Manage key components such as organizations and projects.

  Subcommands

help, h
    Display help text.

list-assistants
    List assistant information.

    --organization-id, --oid
        UUID of the organization.

    --project-id, --pid
        UUID of the project.

list-projects
    List project information.

    --detail, -d
        Level of detail: summary (default) or full.

    --name, -n
        Name of the project.

get-project
    Get project information.

    --project-id, --pid
        GUID of the project (required).

create-project
    Create a new project.

    --name, -n
        Name of the new project.

    --description, -d
        Description of the new project.

    --email, -e
        Project administrator's email.

    --subscription-type
        Subscription type: Freemium, Daily, Weekly, Monthly.

    --usage-unit
        Usage unit: Requests, Cost.

    --soft-limit
        Soft limit for usage (lower threshold).

    --hard-limit
        Hard limit for usage (upper threshold, must be >= soft-limit).

    --renewal-status
        Renewal status: Renewable, NonRenewable. Must be NonRenewable if subscription-type is Freemium.

update-project
    Update an existing project.

    --project-id, --pid
        GUID of the project (required).

    --name, -n
        Name of the project.

    --description, -d
        Description of the project.

delete-project
    Delete an existing project.

    --project-id, --pid
        GUID of the project (required).

get-tokens
    Get project tokens.

    --project-id, --pid
        GUID of the project (required).

export-request
    Export request data.

    --assistant-name
        Assistant name (optional).

    --status
        Status (optional).

    --skip
        Number of entries to skip (integer).

    --count
        Number of entries to retrieve (integer).

  Examples

geai organization list-projects
    List available projects for the configured organization.

geai organization create-project --name NewProject --description A test project --email admin@example.com
    Create a new project named "NewProject".

ASSISTANT COMMANDS

  Synopsis
geai assistant subcommand [--flag] [flag-arg]

  Description
Manage assistants in GEAI.

  Subcommands

help, h
    Display help text.

get-assistant
    Get assistant details.

    --detail, -d
        Level of detail: summary (default) or full.

    --assistant-id, --id
        Assistant ID.

create-assistant
    Create a new assistant.

    --type, -t
        Type of assistant: text, chat (required).

    --name, -n
        Name of the assistant (required).

    --description, -d
        Description of the assistant.

    --prompt
        Prompt for the assistant (required).

    --provider-name, --provider, -p
        Provider to be used.

    --model-name, -m
        Model name according to the selected provider.

    --temperature
        Volatility of the assistant (decimal).

    --max-tokens
        Maximum number of tokens (integer).

    --wd-title
        Title for welcome data.

    --wd-description
        Description for welcome data.

    --wd-feature
        Feature in JSON format (e.g., '{"title": "feature", "description": "Feature desc"}').

    --wd-example-prompt
        Example prompt in JSON format (e.g., '{"title": "prompt", "description": "Prompt desc", "prompt_text": "Text"}').

update-assistant
    Update an existing assistant.

    --assistant-id, --id
        Assistant ID.

    --status
        Status: 1 (Enabled), 2 (Disabled) (optional).

    --action
        Action: save, saveNewRevision (default), savePublishNewRevision.

    --revision-id
        Revision ID (required if action is save).

    --name, -n
        Name of the assistant (required).

    --description, -d
        Description of the assistant.

    --prompt
        Prompt for the assistant (required).

    --provider-name, --provider, -p
        Provider to be used.

    --model-name, -m
        Model name according to the selected provider.

    --temperature
        Volatility of the assistant (decimal).

    --max-tokens
        Maximum number of tokens (integer).

    --wd-title
        Title for welcome data.

    --wd-description
        Description for welcome data.

    --wd-feature
        Feature in JSON format (e.g., '{"title": "feature", "description": "Feature desc"}').

    --wd-example-prompt
        Example prompt in JSON format (e.g., '{"title": "prompt", "description": "Prompt desc", "prompt_text": "Text"}').

delete-assistant
    Delete an existing assistant.

    --assistant-id, --id
        Assistant ID.

chat
    Send a chat request to an assistant.

    --name, -n
        Name of the assistant.

    --messages, --msg
        Chat request data in JSON format (e.g., '[{"role": "user", "content": "Hello"}]').

    --revision
        Revision number (integer).

    --revision-name
        Name of the revision.

    --variables, --var
        Key/value properties (optional).

request-status
    Retrieve the status of a request.

    --request-id, --id
        Request ID.

cancel-request
    Cancel a request.

    --request-id, --id
        Request ID.

  Examples

geai assistant create-assistant --type chat --name MyAssistant --prompt Hello, how can I help you?
    Create a new chat assistant named "MyAssistant".

geai assistant chat --name MyAssistant --messages '[{"role": user , content : Hi }]'
    Send a chat message to "MyAssistant".

RAG ASSISTANT COMMANDS

  Synopsis
geai rag subcommand [--flag] [flag-arg]

  Description
Manage RAG (Retrieval-Augmented Generation) assistants in GEAI.

  Subcommands

help, h
    Display help text.

list-assistants
    List all RAG assistants in a project.

get-assistant
    Get a specific RAG assistant.

    --name, -n
        RAG assistant name (required).

create-assistant
    Create a new RAG assistant.

    --name, -n
        RAG assistant name (required).

    --description, -d
        Description of the RAG assistant.

    --template, --tpl
        Name of an existing RAG to base configuration (optional).

    --history-count, --hc
        History count (integer).

    --cache, -c
        Cache (boolean).

    --frequency-penalty, --fp
        Frequency penalty (decimal).

    --max-tokens, --mt
        Maximum tokens (integer).

    --model-name, -m
        Model name.

    -n  Number (integer).

    --presence-penalty, --pp
        Presence penalty (decimal).

    --provider, -p
        Provider.

    --stream
        Stream (boolean).

    --temperature, --temp, -t
        Temperature (decimal).

    --top-p
        Top P (decimal).

    --llm-type
        LLM type: empty (default) or json_object.

    --verbose, -v
        Verbose (boolean).

    -k  K (integer).

    --search-type
        Search type: similarity (default) or mmr.

    --fetch-k, --fk
        Fetch K (number, valid for mmr).

    --lambda, -l
        Lambda (decimal, valid for mmr).

    --search-prompt, --sp
        Prompt.

    --return-source-documents, --rsd
        Return source documents (boolean).

    --score-threshold, --st
        Score threshold (decimal).

    --search-template, --stpl
        Template.

    --retriever-type
        Retriever type: vectorStore, multiQuery, selfQuery, hyde, contextualCompression.

    --retriever-search-type
        Search type: similarity, similarity_hybrid, semantic_hybrid (Azure AISearch specific, defaults to similarity).

    --step
        Step: all (default) or documents.

    --retriever-prompt, --rp
        Prompt (not needed for vectorStore).

    --chunk-overlap
        Overlap size between chunks in the main document.

    --chunk-size
        Size of each chunk in the main document.

    --use-parent-document
        Enable parent-child document relationships (boolean).

    --child-k
        Parameter for child document processing.

    --child-chunk-size
        Size of each chunk in the child document.

    --child-chunk-overlap
        Overlap size between chunks in the child document.

    --wd-title
        Title for welcome data.

    --wd-description
        Description for welcome data.

    --wd-feature
        Feature in JSON format (e.g., '{"title": "feature", "description": "Feature desc"}').

    --wd-example-prompt
        Example prompt in JSON format (e.g., '{"title": "prompt", "description": "Prompt desc", "prompt_text": "Text"}').

update-assistant
    Update an existing RAG assistant.

    --name, -n
        RAG assistant name (required).

    --status
        Status: 1 (enabled), 0 (disabled, default: 1).

    --description, -d
        Description of the RAG assistant.

    --template, --tpl
        Name of an existing RAG to base configuration (optional).

    --history-count, --hc
        History count (integer).

    --cache, -c
        Cache (boolean).

    --frequency-penalty, --fp
        Frequency penalty (decimal).

    --max-tokens, --mt
        Maximum tokens (integer).

    --model-name, -m
        Model name.

    -n  Number (integer).

    --presence-penalty, --pp
        Presence penalty (decimal).

    --provider, -p
        Provider.

    --stream
        Stream (boolean).

    --temperature, --temp, -t
        Temperature (decimal).

    --top-p
        Top P (decimal).

    --llm-type
        LLM type: empty (default) or json_object.

    --verbose, -v
        Verbose (boolean).

    -k  K (integer).

    --search-type
        Search type: similarity (default) or mmr.

    --fetch-k, --fk
        Fetch K (number, valid for mmr).

    --lambda, -l
        Lambda (decimal, valid for mmr).

    --search-prompt, --sp
        Prompt.

    --return-source-documents, --rsd
        Return source documents (boolean).

    --score-threshold, --st
        Score threshold (decimal).

    --search-template, --stpl
        Template.

    --retriever-type
        Retriever type: vectorStore, multiQuery, selfQuery, hyde, contextualCompression.

    --retriever-search-type
        Search type: similarity, similarity_hybrid, semantic_hybrid.

    --step
        Step: all (default) or documents.

    --retriever-prompt, --rp
        Prompt (not needed for vectorStore).

    --wd-title
        Title for welcome data.

    --wd-description
        Description for welcome data.

    --wd-feature
        Feature in JSON format (e.g., '{"title": "feature", "description": "Feature desc"}').

    --wd-example-prompt
        Example prompt in JSON format (e.g., '{"title": "prompt", "description": "Prompt desc", "prompt_text": "Text"}').

delete-assistant
    Delete an existing RAG assistant.

    --name, -n
        RAG assistant name (required).

list-documents
    List documents for a RAG assistant.

    --name, -n
        RAG assistant name (required).

    --skip, -s
        Number of documents to skip.

    --count, -c
        Number of documents to return (default: 10).

delete-all-documents, del-docs
    Delete all documents for a RAG assistant.

    --name, -n
        RAG assistant name (required).

get-document, get-doc
    Get a document for a RAG assistant.

    --name, -n
        RAG assistant name (required).

    --document-id, --id
        Document ID (required).

upload-document, up-doc
    Upload a document for a RAG assistant.

    --name, -n
        RAG assistant name (required).

    --file-path, -f
        Path to the document file (required).

    --upload-type, -t
        Upload type: binary or multipart (default: multipart).

    --metadata, -m
        Document metadata (JSON or file path, for multipart).

    --content-type, --ct
        Document content type.

delete-document, del-doc
    Delete a document by ID for a RAG assistant.

    --name, -n
        RAG assistant name (required).

    --document-id, --id
        Document ID (required).

  Examples

geai rag create-assistant --name MyRAG --description RAG for docs --model-name gpt-4o
    Create a new RAG assistant named "MyRAG".

geai rag upload-document --name MyRAG --file-path /path/to/doc.pdf
    Upload a document to "MyRAG".

CHAT COMMANDS

  Synopsis
geai chat subcommand [--flag] [flag-arg]

  Description
Chat with assistants in GEAI.

  Subcommands

help, h
    Display help text.

completion, comp
    Get chat completion.

    --model, -m
        Model format: saia:<assistant_type>:<assistant_name>|<bot_id>.

    --messages, --msg
        Messages in JSON format (e.g., '[{"role": "user", "content": "Hello"}]').

    --stream
        Stream response: 0 (OFF), 1 (ON).

    --temperature, --temp
        Volatility (float, 0-2).

    --max-tokens
        Maximum tokens (integer).

    --thread-id
        Conversation UUID (optional).

    --frequency-penalty
        Penalize token frequency (-2.0 to 2.0, optional).

    --presence-penalty
        Penalize new tokens (-2.0 to 2.0, optional).

    --top-p
        Nucleus sampling (float, 0-1, optional).

    --stop
        Stop sequences (string or JSON array, up to 4, optional).

    --response-format
        Output format (JSON, optional).

    --tools
        Tools in JSON array (optional).

    --tool-choice
        Tool control: none, auto, or JSON (optional).

    --logprobs
        Return log probabilities: 0 (OFF), 1 (ON, optional).

    --top-logprobs
        Number of likely tokens (0-20, optional).

    --seed
        Deterministic sampling seed (integer, optional, in Beta).

    --stream-options
        Streaming options (JSON, optional).

    --store
        Store output: 0 (OFF), 1 (ON, optional).

    --metadata
        Metadata (JSON, up to 16 key-value pairs, optional).

    --user
        End-user identifier (optional).

iris
    Interactive chat with Iris.

agent
    Interactive chat with an agent.

    --agent-name, --name, -n
        Agent name or ID.

    --gui, -g
        Launch Streamlit GUI: 0 (OFF), 1 (ON).

  Examples

geai chat completion --model saia:chat:MyAssistant --messages '[{"role": user , content : Hello }]'
    Get a chat completion from "MyAssistant".

geai chat agent --name MyAgent --gui 1
    Launch a GUI chat with "MyAgent".

ADMIN COMMANDS

  Synopsis
geai admin subcommand [--flag] [flag-arg]

  Description
Manage internal admin operations in GEAI.

  Subcommands

help, h
    Display help text.

validate-token, vt
    Validate an API token and retrieve organization/project information.

list-authorized-organizations, auth-org
    List organizations a user can access.

list-authorized-projects, auth-proj
    List projects a user can access in an organization.

    --organization, --org, -o
        Organization ID.

project-visibility, pv
    Check if a GAM user has project visibility.

    --organization, --org, -o
        Organization ID.

    --project, -p
        Project ID.

    --access-token, --token, --at
        GAM access token.

project-token, pt
    Get a project's API token.

    --organization, --org, -o
        Organization ID.

    --project, -p
        Project ID.

    --access-token, --token, --at
        GAM access token.

  Examples

geai admin validate-token
    Validate the configured API token.

geai admin project-token --organization org-id --project proj-id --access-token token
    Get the API token for a project.

LLM COMMANDS

  Synopsis
geai llm subcommand [--flag] [flag-arg]

  Description
Retrieve information about available models and providers in GEAI.

  Subcommands

help, h
    Display help text.

list-providers, lp
    Retrieve the list of providers.

get-provider, gp
    Retrieve provider data.

    --provider-name, --pn
        LLM provider name (required).

list-models, lm
    Retrieve provider models.

    --provider-name, --pn
        LLM provider name (required).

get-model, gm
    Retrieve model data.

    --provider-name, --pn
        LLM provider name (required).

    --model-name, --mn
        LLM model name.

    --model-id, --mid
        LLM model ID.

  Examples

geai llm list-providers
    List all available LLM providers.

geai llm get-model --provider-name openai --model-name gpt-4o
    Get details for the "gpt-4o" model from OpenAI.

FILES COMMANDS

  Synopsis
geai files subcommand [--flag] [flag-arg]

  Description
Manage files in GEAI.

  Subcommands

help, h
    Display help text.

upload-file, uf
    Upload a file.

    --organization, --org, -o
        Organization ID (required).

    --project, --proj, -p
        Project ID (required).

    --file-name, --fn
        File name (optional, defaults to uploaded file name).

    --file-path, --fp
        File path (required).

    --folder, -f
        Destination folder (optional, defaults to temporary storage).

get-file, gf
    Get file data.

    --organization, --org, -o
        Organization ID (required).

    --project, --proj, -p
        Project ID (required).

    --file-id, --fid
        File ID (required).

delete-file, df
    Delete file data.

    --organization, --org, -o
        Organization ID (required).

    --project, --proj, -p
        Project ID (required).

    --file-id, --fid
        File ID (required).

get-file-content, gfc
    Get file content.

    --organization, --org, -o
        Organization ID (required).

    --project, --proj, -p
        Project ID (required).

    --file-id, --fid
        File ID (required).

list-files, lf
    Retrieve file list.

    --organization, --org, -o
        Organization ID (required).

    --project, --proj, -p
        Project ID (required).

  Examples

geai files upload-file --organization org-id --project proj-id --file-path /path/to/file.txt
    Upload a file to a project.

geai files list-files --organization org-id --project proj-id
    List all files in a project.

USAGE LIMIT COMMANDS

  Synopsis
geai usage-limit subcommand [--flag] [flag-arg]

  Description
Manage usage limits for organizations and projects in GEAI.

  Subcommands

help, h
    Display help text.

set-organization-limit, set-org-lim
    Set organization usage limit.

    --organization, --org, -o
        Organization ID (required).

    --subscription-type
        Subscription type: Freemium, Daily, Weekly, Monthly.

    --usage-unit
        Usage unit: Requests, Cost.

    --soft-limit
        Soft limit for usage (lower threshold).

    --hard-limit
        Hard limit for usage (upper threshold, must be >= soft-limit).

    --renewal-status
        Renewal status: Renewable, NonRenewable. Must be NonRenewable if subscription-type is Freemium.

get-latest-organization-limit, get-latest-org-lim
    Get the latest organization usage limit.

    --organization, --org, -o
        Organization ID (required).

get-all-organization-limit, get-all-org-lim
    Get all organization usage limits.

    --organization, --org, -o
        Organization ID (required).

delete-organization-limit, del-org-lim
    Delete an organization usage limit.

    --organization, --org, -o
        Organization ID (required).

    --limit-id, --lid
        Usage limit ID (required).

update-organization-limit, up-org-lim
    Update an organization usage limit.

    --organization, --org, -o
        Organization ID (required).

    --limit-id, --lid
        Usage limit ID (required).

    --hard-limit
        Hard limit for usage (upper threshold, must be >= soft-limit).

    --soft-limit
        Soft limit for usage (lower threshold).

    --renewal-status
        Renewal status: Renewable, NonRenewable.

set-project-limit, set-proj-lim
    Set project usage limit.

    --organization, --org, -o
        Organization ID (required).

    --project, --proj, -p
        Project ID (required).

    --subscription-type
        Subscription type: Freemium, Daily, Weekly, Monthly.

    --usage-unit
        Usage unit: Requests, Cost.

    --soft-limit
        Soft limit for usage (lower threshold).

    --hard-limit
        Hard limit for usage (upper threshold, must be >= soft-limit).

    --renewal-status
        Renewal status: Renewable, NonRenewable. Must be NonRenewable if subscription-type is Freemium.

get-all-project-limit, get-all-proj-lim
    Get all usage limits for a project.

    --organization, --org, -o
        Organization ID (required).

    --project, --proj, -p
        Project ID (required).

get-latest-project-limit, get-latest-proj-lim
    Get the latest usage limit for a project.

    --organization, --org, -o
        Organization ID (required).

    --project, --proj, -p
        Project ID (required).

get-active-project-limit, get-active-proj-lim
    Get the active usage limit for a project.

    --organization, --org, -o
        Organization ID (required).

    --project, --proj, -p
        Project ID (required).

delete-project-limit, del-proj-lim
    Delete a project usage limit.

    --organization, --org, -o
        Organization ID (required).

    --project, --proj, -p
        Project ID (required).

    --limit-id, --lid
        Usage limit ID (required).

update-project-limit, up-proj-lim
    Update a project usage limit.

    --organization, --org, -o
        Organization ID (required).

    --project, --proj, -p
        Project ID (required).

    --limit-id, --lid
        Usage limit ID (required).

    --hard-limit
        Hard limit for usage (upper threshold, must be >= soft-limit).

    --soft-limit
        Soft limit for usage (lower threshold).

    --renewal-status
        Renewal status: Renewable, NonRenewable.

  Examples

geai usage-limit set-project-limit --organization org-id --project proj-id --subscription-type Monthly --usage-unit Requests --soft-limit 1000 --hard-limit 2000
    Set a project usage limit.

geai usage-limit get-latest-organization-limit --organization org-id
    Get the latest usage limit for an organization.

EMBEDDINGS COMMANDS

  Synopsis
geai embeddings subcommand [--flag] [flag-arg]

  Description
Generate embeddings in GEAI.

  Subcommands

help, h
    Display help text.

generate, gen
    Generate embeddings.

    --input, -i
        Input to embed (string, multiple inputs allowed).

    --model, -m
        Provider/model ID.

    --encoding-format, --enc-for
        Format: float (default) or base64.

    --dimensions, --dim
        Number of dimensions (integer, optional).

    --user, -u
        End-user identifier.

    --input-type, --it
        Input data usage type (optional).

    --timeout, -t
        API response timeout (seconds, default: 600).

    --cache
        Cache embeddings: 0 (False, default), 1 (True).

  Examples

geai embeddings generate --input Sample text --model openai/text-embedding-3
    Generate embeddings for "Sample text".

geai embeddings generate --input Text one --input Text two --model openai/text-embedding-3
    Generate embeddings for multiple inputs.

FEEDBACK COMMANDS

  Synopsis
geai feedback subcommand [--flag] [flag-arg]

  Description
Send feedback on assistant responses.

  Subcommands

help, h
    Display help text.

send, sf
    Send feedback.

    --request-id, --rid
        Request ID (integer).

    --origin
        Feedback origin (default: user-feedback).

    --answer-score, --ans-score, --score
        Feedback score: 1 (good), 2 (bad).

    --comments
        Feedback comment (optional).

  Examples

geai feedback send --request-id 123 --answer-score 1 --comments Great response!
    Send positive feedback for a request.

geai feedback send --request-id 124 --answer-score 2
    Send negative feedback for a request.

RERANK COMMANDS

  Synopsis
geai rerank subcommand [--flag] [flag-arg]

  Description
Rerank document chunks based on a query in GEAI.

  Subcommands

help, h
    Display help text.

rerank-chunks, chunks, rc
    Rerank chunks based on a query.

    --query, -q
        Input query (string).

    --model, -m
        Reranker model: cohere/rerank-v3.5, awsbedrock/cohere.rerank-v3.5, awsbedrock/amazon.rerank-v1.

    --documents, --doc, -d
        Text chunks (string or array).

    --top-n
        Number of top results to return (string).

  Examples

geai rerank rerank-chunks --query What is AI? --model cohere/rerank-v3.5 --documents '["Text 1", Text 2 ]' --top-n 2
    Rerank two document chunks for the query.

EVALUATION COMMANDS

  Synopsis
geai evaluation subcommand [--flag] [flag-arg]

  Description
Interact with dataset, plan, and result APIs in the GEAI evaluation module. Dataset rows have the structure:

{
  "dataSetRowExpectedAnswer": "string",
  "dataSetRowInput": "string",
  "dataSetRowContextDocument": "string",
  "expectedSources": [
    {
      "dataSetExpectedSourceId": "UUID",
      "dataSetExpectedSourceName": "string",
      "dataSetExpectedSourceValue": "string",
      "dataSetexpectedSourceExtention": "string"
    }
  ],
  "filterVariables": [
    {
      "dataSetMetadataType": "string",
      "dataSetRowFilterKey": "string",
      "dataSetRowFilterOperator": "string",
      "dataSetRowFilterValue": "string",
      "dataSetRowFilterVarId": "UUID"
    }
  ]
}

  Subcommands

help, h
    Display help text.

list-datasets, ld
    List all datasets.

create-dataset, cd
    Create a dataset.

    --dataset-name, --dn
        Dataset name (string).

    --dataset-description, --dd
        Dataset description (string).

    --dataset-type, --dt
        Dataset type (e.g., T for test).

    --dataset-active, --da
        Dataset active: 0 (False), 1 (True).

    --row, -r
        Row data (JSON).

    --dataset-file, --df
        JSON file with dataset structure.

get-dataset, gd
    Get a dataset by ID.

    --dataset-id, --did
        Dataset UUID.

update-dataset, ud
    Update a dataset by ID.

    --dataset-id, --did
        Dataset UUID.

    --dataset-name, --dn
        Dataset name (string).

    --dataset-description, --dd
        Dataset description (string).

    --dataset-type, --dt
        Dataset type (e.g., T for test).

    --dataset-active, --da
        Dataset active: 0 (False), 1 (True).

    --row, -r
        Row data (JSON).

delete-dataset, dd
    Delete a dataset by ID.

    --dataset-id, --did
        Dataset UUID.

create-dataset-row, cdr
    Create a dataset row.

    --dataset-id, --did
        Dataset UUID.

    --row, -r
        Row data (JSON).

list-dataset-rows, ldr
    List dataset rows.

    --dataset-id, --did
        Dataset UUID.

get-dataset-row, gdr
    Get a dataset row.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

update-dataset-row, udr
    Update a dataset row.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

    --row, -r
        Row data (JSON).

delete-dataset-row, ddr
    Delete a dataset row.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

create-expected-source, ces
    Create a dataset row expected source.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

    --name, -n
        Source name (string).

    --value, -v
        Source value (string).

    --extension, -e
        Source extension (e.g., txt, pdf).

list-expected-sources, les
    List dataset row expected sources.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

get-expected-source, ges
    Get a dataset row expected source.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

    --expected-source-id, --esid
        Expected source UUID.

update-expected-source, ues
    Update a dataset row expected source.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

    --expected-source-id, --esid
        Expected source UUID.

    --name, -n
        Source name (string).

    --value, -v
        Source value (string).

    --extension, -e
        Source extension (e.g., txt, pdf).

delete-expected-source, des
    Delete a dataset row expected source.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

    --expected-source-id, --esid
        Expected source UUID.

create-filter-variable, cfv
    Create a dataset row filter variable.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

    --metadata-type, --mt
        Metadata type (e.g., V for variable).

    --key, -k
        Filter key (string).

    --value, -v
        Filter value (string).

    --operator, -o
        Filter operator (e.g., =, !=, contains).

list-filter-variables, lfv
    List dataset row filter variables.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

get-filter-variable, gfv
    Get a dataset row filter variable.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

    --filter-variable-id, --fvid
        Filter variable UUID.

update-filter-variable, ufv
    Update a dataset row filter variable.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

    --filter-variable-id, --fvid
        Filter variable UUID.

    --metadata-type, --mt
        Metadata type (e.g., V for variable).

    --key, -k
        Filter key (string).

    --value, -v
        Filter value (string).

    --operator, -o
        Filter operator (e.g., =, !=, contains).

delete-filter-variable, dfv
    Delete a dataset row filter variable.

    --dataset-id, --did
        Dataset UUID.

    --row-id, --rid
        Row UUID.

    --filter-variable-id, --fvid
        Filter variable UUID.

upload-dataset-rows, udrf
    Upload dataset rows from a file.

    --dataset-id, --did
        Dataset UUID.

    --rows-file, --rf
        JSON file with dataset rows.

list-evaluation-plans, lep
    List all evaluation plans.

create-evaluation-plan, cep
    Create an evaluation plan.

    --name, --epn
        Evaluation plan name.

    --assistant-type, --epat
        Assistant type (e.g., TextPromptAssistant, RAG Assistant).

    --assistant-id, --epai
        Assistant UUID (optional, required for TextPromptAssistant).

    --assistant-name, --epan
        Assistant name (optional, required for TextPromptAssistant).

    --assistant-revision, --epar
        Assistant revision (optional, required for TextPromptAssistant).

    --profile-name, --eppn
        RAG profile name (optional, required for RAG Assistant).

    --dataset-id, --did
        Dataset ID (optional).

    --system-metrics, --sm
        System metrics (JSON array with systemMetricId and systemMetricWeight).

get-evaluation-plan, gep
    Retrieve an evaluation plan by ID.

    --evaluation-plan-id, --epid
        Evaluation plan UUID.

update-evaluation-plan, uep
    Update an evaluation plan by ID.

    --evaluation-plan-id, --epid
        Evaluation plan UUID.

    --name, --epn
        Evaluation plan name.

    --assistant-type, --epat
        Assistant type (e.g., TextPromptAssistant, RAG Assistant).

    --assistant-id, --epai
        Assistant UUID (optional, required for TextPromptAssistant).

    --assistant-name, --epan
        Assistant name (optional, required for TextPromptAssistant).

    --assistant-revision, --epar
        Assistant revision (optional, required for TextPromptAssistant).

    --profile-name, --eppn
        RAG profile name (optional, required for RAG Assistant).

    --dataset-id, --did
        Dataset ID (optional).

    --system-metrics, --sm
        System metrics (JSON array with systemMetricId and systemMetricWeight).

delete-evaluation-plan, dep
    Delete an evaluation plan by ID.

    --evaluation-plan-id, --epid
        Evaluation plan UUID.

list-evaluation-plan-system-metrics, lepsm
    List system metrics for an evaluation plan.

    --evaluation-plan-id, --epid
        Evaluation plan UUID.

add-evaluation-plan-system-metric, aepsm
    Add a system metric to an evaluation plan.

    --evaluation-plan-id, --epid
        Evaluation plan UUID.

    --system-metric-id, --smid
        System metric ID.

    --system-metric-weight, --smw
        Metric weight (0-1).

get-evaluation-plan-system-metric, gepsm
    Retrieve a system metric from an evaluation plan.

    --evaluation-plan-id, --epid
        Evaluation plan UUID.

    --system-metric-id, --smid
        System metric ID.

update-evaluation-plan-system-metric, uepsm
    Update a system metric in an evaluation plan.

    --evaluation-plan-id, --epid
        Evaluation plan UUID.

    --system-metric-id, --smid
        System metric ID.

    --system-metric-weight, --smw
        Metric weight (0-1).

delete-evaluation-plan-system-metric, depsm
    Delete a system metric from an evaluation plan.

    --evaluation-plan-id, --epid
        Evaluation plan UUID.

    --system-metric-id, --smid
        System metric ID.

list-available-system-metrics, lsm
    List all available system metrics.

get-system-metrics, gsm
    Retrieve a system metric by ID.

    --system-metric-id, --smid
        System metric ID.

execute-evaluation-plan, xep
    Execute an evaluation plan.

    --evaluation-plan-id, --epid
        Evaluation plan UUID.

list-evaluation-results, ler
    List evaluation results for a plan.

    --evaluation-plan-id, --epid
        Evaluation plan UUID.

get-evaluation-result, ger
    Retrieve an evaluation result by ID.

    --evaluation-result-id, --erid
        Evaluation result UUID.

  Examples

geai evaluation create-dataset --dataset-name MyNewDataset --dataset-description A dataset for testing --dataset-type T --dataset-active 1 --row '[{"dataSetRowExpectedAnswer": This is the expected answer , dataSetRowInput : What is the capital of France? , dataSetRowContextDocument :  }]'
    Create a dataset with one row.

geai evaluation execute-evaluation-plan --evaluation-plan-id plan-uuid
    Execute an evaluation plan.

GAM COMMANDS

  Synopsis
geai gam subcommand [--flag] [flag-arg]

  Description
Manage GAM authentication mechanisms in GEAI.

  Subcommands

help, h
    Display help text.

get-access-token, gat
    Get an access token.

    --client-id, --cid
        Application client ID.

    --client-secret, --cs
        Application client secret.

    --grant-type, --gt
        Grant type (default: password).

    --authentication-type-name, --atn
        Authentication type (default: local).

    --scope, -s
        Scope: gam_user_data+gam_user_roles (default: gam_user_data).

    --username, -u
        Username.

    --password, -p
        Password.

    --initial-properties, --ip
        User custom properties (array).

    --repository, -r
        IDP repository (for multitenant).

    --request-token-type, --rtt
        Token type: OAuth (default).

get-user-info, gui
    Get user information.

    --access-token, --at
        Access token.

refresh-access-token, rat
    Refresh an access token.

    --client-id, --cid
        Application client ID.

    --client-secret, --cs
        Application client secret.

    --grant-type, --gt
        Grant type: refresh_token.

    --refresh-token, --rt
        Refresh token.

  Examples

geai gam get-access-token --client-id client-id --client-secret secret --username user --password pass
    Obtain an access token.

geai gam get-user-info --access-token token
    Get user information using an access token.

SECRETS COMMANDS

  Synopsis
geai secrets subcommand [--flag] [flag-arg]

  Description
Handle secrets in GEAI.

  Subcommands

help, h
    Display help text.

get-secret, gs
    Retrieve a secret by ID.

    --secret-id, --sid
        Secret ID (required).

create-secret, cs
    Create a new secret.

    --name, -n
        Secret name (required).

    --secret-string, -ss
        Secret value (required).

    --description, -d
        Secret description (optional).

update-secret, us
    Update an existing secret.

    --secret-id, --sid
        Secret ID (required).

    --name, -n
        Secret name (required).

    --secret-string, -ss
        Secret value (required).

    --description, -d
        Secret description (optional).

list-secrets, ls
    List secrets with filtering and pagination.

    --name, -n
        Filter by name (optional).

    --id
        Filter by ID (optional).

    --start
        Starting index (integer, default: 0).

    --count
        Number of secrets to return (integer, default: 10).

  Examples

geai secrets create-secret --name my-secret --secret-string value
    Create a new secret.

geai secrets list-secrets --count 20
    List up to 20 secrets.

AI LAB COMMANDS

  Synopsis
geai ai-lab subcommand [--flag] [flag-arg]

  Description
Interact with AI Lab components in GEAI.

  Subcommands

help, h
    Display help text.

list-agents, la
    List agents.

    --project-id, --pid
        Project ID.

    --status
        Agent status (optional).

    --start
        Starting index (optional).

    --count
        Number of agents (optional).

    --access-scope
        Access scope: public, private (default: public).

    --allow-drafts
        Include drafts: 0 (False), 1 (True, default).

    --allow-external
        Include external agents: 0 (False, default), 1 (True).

create-agent, ca
    Create an agent.

    --project-id, --pid
        Project ID.

    --name, -n
        Agent name (unique, no : or /).

    --access-scope, --as
        Access scope: public, private (default: private).

    --public-name, --pn
        Public name (required for public scope).

    --job-description, --jd
        Agent role description.

    --avatar-image, --aimg
        Avatar image URL.

    --description, -d
        Agent purpose description.

    --agent-data-prompt-instructions, --adp-inst
        Agent instructions.

    --agent-data-prompt-input, --adp-input
        Prompt input (list of strings).

    --agent-data-prompt-output, --adp-out
        Prompt output (JSON).

    --agent-data-prompt-example, --adp-ex
        Prompt example (JSON).

    --agent-data-llm-max-tokens, --adl-max-tokens
        Max tokens for LLM.

    --agent-data-llm-timeout, --adl-timeout
        LLM response timeout (seconds).

    --agent-data-llm-temperature, --adl-temperature
        LLM sampling temperature (0.0-1.0).

    --agent-data-llm-top-k, --adl-top-k
        Top K sampling (unused).

    --agent-data-llm-top-p, --adl-top-p
        Top P sampling (unused).

    --agent-data-model-name, --adm-name
        LLM model name.

    --agent-data-resource-pools, --adr-pools
        Resource pools (JSON).

    --automatic-publish, --ap
        Publish after creation: 0 (draft), 1 (publish).

get-agent, ga
    Get an agent.

    --project-id, --pid
        Project ID.

    --agent-id, --aid
        Agent ID.

    --revision, -r
        Agent revision.

    --version, -v
        Agent version.

    --allow-drafts
        Include drafts: 0 (False), 1 (True, default).

create-sharing-link, csl
    Create a sharing link for an agent.

    --project-id, --pid
        Project ID.

    --agent-id, --aid
        Agent ID.

publish-agent-revision, par
    Publish an agent revision.

    --project-id, --pid
        Project ID.

    --agent-id, --aid
        Agent ID.

    --revision, -r
        Agent revision.

delete-agent, da
    Delete an agent.

    --project-id, --pid
        Project ID.

    --agent-id, --aid
        Agent ID.

update-agent, ua
    Update an agent.

    --project-id, --pid
        Project ID.

    --agent-id, --aid
        Agent ID.

    --name, -n
        Agent name (optional).

    --access-scope, --as
        Access scope: public, private.

    --public-name, --pn
        Public name (required for public scope).

    --job-description, --jd
        Agent role description.

    --avatar-image, --aimg
        Avatar image URL.

    --description, -d
        Agent purpose description.

    --agent-data-prompt-instructions, --adp-inst
        Agent instructions.

    --agent-data-prompt-input, --adp-input
        Prompt input (list of strings).

    --agent-data-prompt-output, --adp-out
        Prompt output (JSON).

    --agent-data-prompt-example, --adp-ex
        Prompt example (JSON).

    --agent-data-llm-max-tokens, --adl-max-tokens
        Max tokens for LLM.

    --agent-data-llm-timeout, --adl-timeout
        LLM response timeout (seconds).

    --agent-data-llm-temperature, --adl-temperature
        LLM sampling temperature (0.0-1.0).

    --agent-data-llm-top-k, --adl-top-k
        Top K sampling (unused).

    --agent-data-llm-top-p, --adl-top-p
        Top P sampling (unused).

    --agent-data-model-name, --adm-name
        LLM model name.

    --agent-data-resource-pools, --adr-pools
        Resource pools (JSON).

    --automatic-publish, --ap
        Publish after update: 0 (draft), 1 (publish).

    --upsert
        Create if not exists: 0 (update only), 1 (insert).

create-tool, ct
    Create a tool.

    --project-id, --pid
        Project ID.

    --name, -n
        Tool name (unique, no : or /).

    --description, -d
        Tool purpose description.

    --scope, -s
        Tool scope: builtin, external, api.

    --access-scope, --as
        Access scope: public, private (default: private).

    --public-name, --pn
        Public name (required for public scope).

    --icon, -i
        Tool icon URL.

    --open-api, --oa
        OpenAPI specification URL (for api scope).

    --open-api-json, --oaj
        OpenAPI specification (JSON, for api scope).

    --report-events, --re
        Event reporting: None, All, Start, Finish, Progress (default: None).

    --parameter, -p
        Tool parameter (JSON).

    --automatic-publish, --ap
        Publish after creation: 0 (draft), 1 (publish).

list-tools, lt
    List tools.

    --project-id, --pid
        Project ID.

    --id
        Tool ID (optional).

    --count
        Number of tools (default: 100).

    --access-scope
        Access scope: public, private (default: public).

    --allow-drafts
        Include drafts: 0 (False), 1 (True, default).

    --scope
        Tool scope: builtin, external, api (default: api).

    --allow-external
        Include external tools: 0 (False), 1 (True, default).

get-tool, gt
    Get a tool.

    --project-id, --pid
        Project ID.

    --tool-id, --tid
        Tool ID.

    --revision, -r
        Tool revision.

    --version, -v
        Tool version.

    --allow-drafts
        Include drafts: 0 (False), 1 (True, default).

delete-tool, dt
    Delete a tool.

    --project-id, --pid
        Project ID.

    --tool-id, --tid
        Tool ID.

    --tool-name, --tname
        Tool name.

update-tool, ut
    Update a tool.

    --project-id, --pid
        Project ID.

    --tool-id, --tid
        Tool ID.

    --name, -n
        Tool name (optional).

    --description, -d
        Tool description.

    --scope, -s
        Tool scope: builtin, external, api.

    --access-scope, --as
        Access scope: public, private.

    --public-name, --pn
        Public name (for public scope).

    --icon, -i
        Tool icon URL.

    --open-api, --oa
        OpenAPI specification URL.

    --open-api-json, --oaj
        OpenAPI specification (JSON).

    --report-events, --re
        Event reporting: None, All, Start, Finish, Progress.

    --parameter, -p
        Tool parameter (JSON).

    --automatic-publish, --ap
        Publish after update: 0 (draft), 1 (publish).

    --upsert
        Create if not exists: 0 (update only), 1 (insert).

publish-tool-revision, ptr
    Publish a tool revision.

    --project-id, --pid
        Project ID.

    --tool-id, --tid
        Tool ID.

    --revision, -r
        Tool revision (0 for latest).

get-parameter, gp
    Get a tool parameter.

    --project-id, --pid
        Project ID.

    --tool-id, --tid
        Tool ID.

    --tool-public-name, --tpn
        Tool public name.

    --revision, -r
        Parameter revision (0 for latest).

    --version, -v
        Parameter version (0 for latest).

    --allow-drafts
        Include drafts: 0 (False), 1 (True, default).

set-parameter, sp
    Set a tool parameter.

    --project-id, --pid
        Project ID.

    --tool-id, --tid
        Tool ID.

    --tool-public-name, --tpn
        Tool public name.

    --parameter, -p
        Tool parameter (JSON).

list-reasoning-strategies, lrs
    List reasoning strategies.

    --name, -n
        Strategy name (optional).

    --start
        Starting index (default: 0).

    --count
        Number of strategies (default: 100).

    --allow-external
        Include external strategies: 0 (False), 1 (True, default).

    --access-scope
        Access scope: public, private (default: public).

create-reasoning-strategy, crs
    Create a reasoning strategy.

    --project-id, --pid
        Project ID.

    --name, -n
        Strategy name.

    --system-prompt, --sp
        System prompt.

    --access-scope, --as
        Access scope: public, private (default: public).

    --type, -t
        Strategy type: addendum (default).

    --localized-description, --ld
        Localized description (JSON).

    --automatic-publish, --ap
        Publish after creation: 0 (draft), 1 (publish).

update-reasoning-strategy, urs
    Update a reasoning strategy.

    --project-id, --pid
        Project ID.

    --reasoning-strategy-id, --rsid
        Strategy ID.

    --name, -n
        Strategy name (optional).

    --system-prompt, --sp
        System prompt (optional).

    --access-scope, --as
        Access scope: public, private (optional).

    --type, -t
        Strategy type: addendum (optional).

    --localized-description, --ld
        Localized description (JSON, optional).

    --automatic-publish, --ap
        Publish after update: 0 (draft), 1 (publish).

SEE ALSO
pygeai(1)

AUTHOR
Written by the GEAI development team.

COPYRIGHT
Copyright © 2025 GEAI development team. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.