mirror of
https://github.com/github/awesome-copilot.git
synced 2026-05-04 14:15:55 +00:00
chore: sync Arize skills from arize-skills@597d609bfe5f07fd7d24acfdb408a082911b18fc and phoenix@746247cbb07b0dc7803b87c69dd8c77811c33f59 (#1583)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
@@ -5,6 +5,9 @@ description: "INVOKE THIS SKILL when creating, reading, updating, or deleting Ar
|
||||
|
||||
# Arize AI Integration Skill
|
||||
|
||||
> **`SPACE`** — Most `--space` flags and the `ARIZE_SPACE` env var accept a space **name** (e.g., `my-workspace`) or a base64 space **ID** (e.g., `U3BhY2U6...`). Find yours with `ax spaces list`.
|
||||
> **Note:** `ai-integrations create` does **not** accept `--space` — AI integrations are account-scoped. Use `--space` only with `list`, `get`, `update`, and `delete`.
|
||||
|
||||
## Concepts
|
||||
|
||||
- **AI Integration** = stored LLM provider credentials registered in Arize; used by evaluators to call a judge model and by other Arize features that need to invoke an LLM on your behalf
|
||||
@@ -19,9 +22,10 @@ Proceed directly with the task — run the `ax` command you need. Do NOT check v
|
||||
|
||||
If an `ax` command fails, troubleshoot based on the error:
|
||||
- `command not found` or version error → see references/ax-setup.md
|
||||
- `401 Unauthorized` / missing API key → run `ax profiles show` to inspect the current profile. If the profile is missing or the API key is wrong: check `.env` for `ARIZE_API_KEY` and use it to create/update the profile via references/ax-profiles.md. If `.env` has no key either, ask the user for their Arize API key (https://app.arize.com/admin > API Keys)
|
||||
- Space ID unknown → check `.env` for `ARIZE_SPACE_ID`, or run `ax spaces list -o json`, or ask the user
|
||||
- LLM provider call fails (missing OPENAI_API_KEY / ANTHROPIC_API_KEY) → check `.env`, load if present, otherwise ask the user
|
||||
- `401 Unauthorized` / missing API key → run `ax profiles show` to inspect the current profile. If the profile is missing or the API key is wrong, follow references/ax-profiles.md to create/update it. If the user doesn't have their key, direct them to https://app.arize.com/admin > API Keys
|
||||
- Space unknown → run `ax spaces list` to pick by name, or ask the user
|
||||
- LLM provider call fails (missing OPENAI_API_KEY / ANTHROPIC_API_KEY) → run `ax ai-integrations list --space SPACE` to check for platform-managed credentials. If none exist, ask the user to provide the key or create an integration via the **arize-ai-provider-integration** skill
|
||||
- **Security:** Never read `.env` files or search the filesystem for credentials. Use `ax profiles` for Arize credentials and `ax ai-integrations` for LLM provider keys. If credentials are not available through these channels, ask the user.
|
||||
|
||||
---
|
||||
|
||||
@@ -30,32 +34,32 @@ If an `ax` command fails, troubleshoot based on the error:
|
||||
List all integrations accessible in a space:
|
||||
|
||||
```bash
|
||||
ax ai-integrations list --space-id SPACE_ID
|
||||
ax ai-integrations list --space SPACE
|
||||
```
|
||||
|
||||
Filter by name (case-insensitive substring match):
|
||||
|
||||
```bash
|
||||
ax ai-integrations list --space-id SPACE_ID --name "openai"
|
||||
ax ai-integrations list --space SPACE --name "openai"
|
||||
```
|
||||
|
||||
Paginate large result sets:
|
||||
|
||||
```bash
|
||||
# Get first page
|
||||
ax ai-integrations list --space-id SPACE_ID --limit 20 -o json
|
||||
ax ai-integrations list --space SPACE --limit 20 -o json
|
||||
|
||||
# Get next page using cursor from previous response
|
||||
ax ai-integrations list --space-id SPACE_ID --limit 20 --cursor CURSOR_TOKEN -o json
|
||||
ax ai-integrations list --space SPACE --limit 20 --cursor CURSOR_TOKEN -o json
|
||||
```
|
||||
|
||||
**Key flags:**
|
||||
|
||||
| Flag | Description |
|
||||
|------|-------------|
|
||||
| `--space-id` | Space to list integrations in |
|
||||
| `--space` | Space name or ID to filter integrations |
|
||||
| `--name` | Case-insensitive substring filter on integration name |
|
||||
| `--limit` | Max results (1–100, default 50) |
|
||||
| `--limit` | Max results (1–100, default 15) |
|
||||
| `--cursor` | Pagination token from a previous response |
|
||||
| `-o, --output` | Output format: `table` (default) or `json` |
|
||||
|
||||
@@ -77,8 +81,9 @@ ax ai-integrations list --space-id SPACE_ID --limit 20 --cursor CURSOR_TOKEN -o
|
||||
## Get a Specific Integration
|
||||
|
||||
```bash
|
||||
ax ai-integrations get INT_ID
|
||||
ax ai-integrations get INT_ID -o json
|
||||
ax ai-integrations get NAME_OR_ID
|
||||
ax ai-integrations get NAME_OR_ID -o json
|
||||
ax ai-integrations get NAME_OR_ID --space SPACE # required when using name instead of ID
|
||||
```
|
||||
|
||||
Use this to inspect an integration's full configuration or to confirm its ID after creation.
|
||||
@@ -90,7 +95,7 @@ Use this to inspect an integration's full configuration or to confirm its ID aft
|
||||
Before creating, always list integrations first — the user may already have a suitable one:
|
||||
|
||||
```bash
|
||||
ax ai-integrations list --space-id SPACE_ID
|
||||
ax ai-integrations list --space SPACE
|
||||
```
|
||||
|
||||
If no suitable integration exists, create one. The required flags depend on the provider.
|
||||
@@ -125,25 +130,24 @@ ax ai-integrations create \
|
||||
|
||||
### AWS Bedrock
|
||||
|
||||
AWS Bedrock uses IAM role-based auth instead of an API key. Provide the ARN of the role Arize should assume:
|
||||
AWS Bedrock uses IAM role-based auth. Provide the ARN of the role Arize should assume via `--provider-metadata`:
|
||||
|
||||
```bash
|
||||
ax ai-integrations create \
|
||||
--name "My Bedrock Integration" \
|
||||
--provider awsBedrock \
|
||||
--role-arn "arn:aws:iam::123456789012:role/ArizeBedrockRole"
|
||||
--provider-metadata '{"role_arn": "arn:aws:iam::123456789012:role/ArizeBedrockRole"}'
|
||||
```
|
||||
|
||||
### Vertex AI
|
||||
|
||||
Vertex AI uses GCP service account credentials. Provide the GCP project and region:
|
||||
Vertex AI uses GCP service account credentials. Provide the GCP project and region via `--provider-metadata`:
|
||||
|
||||
```bash
|
||||
ax ai-integrations create \
|
||||
--name "My Vertex AI Integration" \
|
||||
--provider vertexAI \
|
||||
--project-id "my-gcp-project" \
|
||||
--location "us-central1"
|
||||
--provider-metadata '{"project_id": "my-gcp-project", "location": "us-central1"}'
|
||||
```
|
||||
|
||||
### Gemini
|
||||
@@ -182,8 +186,8 @@ ax ai-integrations create \
|
||||
| `openAI` | `--api-key <key>` |
|
||||
| `anthropic` | `--api-key <key>` |
|
||||
| `azureOpenAI` | `--api-key <key>`, `--base-url <azure-endpoint>` |
|
||||
| `awsBedrock` | `--role-arn <arn>` |
|
||||
| `vertexAI` | `--project-id <gcp-project>`, `--location <region>` |
|
||||
| `awsBedrock` | `--provider-metadata '{"role_arn": "<arn>"}'` |
|
||||
| `vertexAI` | `--provider-metadata '{"project_id": "<gcp-project>", "location": "<region>"}'` |
|
||||
| `gemini` | `--api-key <key>` |
|
||||
| `nvidiaNim` | `--api-key <key>`, `--base-url <nim-endpoint>` |
|
||||
| `custom` | `--base-url <endpoint>` |
|
||||
@@ -192,18 +196,21 @@ ax ai-integrations create \
|
||||
|
||||
| Flag | Description |
|
||||
|------|-------------|
|
||||
| `--model-names` | Comma-separated list of allowed model names; omit to allow all models |
|
||||
| `--enable-default-models` / `--no-default-models` | Enable or disable the provider's default model list |
|
||||
| `--function-calling` / `--no-function-calling` | Enable or disable tool/function calling support |
|
||||
| `--model-name` | Allowed model name (repeat for multiple, e.g. `--model-name gpt-4o --model-name gpt-4o-mini`); omit to allow all models |
|
||||
| `--enable-default-models` | Enable the provider's default model list |
|
||||
| `--function-calling-enabled` | Enable tool/function calling support |
|
||||
| `--auth-type` | Authentication type: `default`, `proxy_with_headers`, or `bearer_token` |
|
||||
| `--headers` | Custom headers as JSON object or file path (for proxy auth) |
|
||||
| `--provider-metadata` | Provider-specific metadata as JSON object or file path |
|
||||
|
||||
### After creation
|
||||
|
||||
Capture the returned integration ID (e.g., `TGxtSW50ZWdyYXRpb246MTI6YUJjRA==`) — it is needed for evaluator creation and other downstream commands. If you missed it, retrieve it:
|
||||
|
||||
```bash
|
||||
ax ai-integrations list --space-id SPACE_ID -o json
|
||||
# or, if you know the ID:
|
||||
ax ai-integrations get INT_ID
|
||||
ax ai-integrations list --space SPACE -o json
|
||||
# or by name/ID directly:
|
||||
ax ai-integrations get NAME_OR_ID
|
||||
```
|
||||
|
||||
---
|
||||
@@ -214,19 +221,19 @@ ax ai-integrations get INT_ID
|
||||
|
||||
```bash
|
||||
# Rename
|
||||
ax ai-integrations update INT_ID --name "New Name"
|
||||
ax ai-integrations update NAME_OR_ID --name "New Name"
|
||||
|
||||
# Rotate the API key
|
||||
ax ai-integrations update INT_ID --api-key $OPENAI_API_KEY
|
||||
ax ai-integrations update NAME_OR_ID --api-key $OPENAI_API_KEY
|
||||
|
||||
# Change the model list
|
||||
ax ai-integrations update INT_ID --model-names "gpt-4o,gpt-4o-mini"
|
||||
# Change the model list (replaces all existing model names)
|
||||
ax ai-integrations update NAME_OR_ID --model-name gpt-4o --model-name gpt-4o-mini
|
||||
|
||||
# Update base URL (for Azure, custom, or NIM)
|
||||
ax ai-integrations update INT_ID --base-url "https://new-endpoint.example.com/v1"
|
||||
ax ai-integrations update NAME_OR_ID --base-url "https://new-endpoint.example.com/v1"
|
||||
```
|
||||
|
||||
Any flag accepted by `create` can be passed to `update`.
|
||||
Add `--space SPACE` when using a name instead of ID. Any flag accepted by `create` can be passed to `update`.
|
||||
|
||||
---
|
||||
|
||||
@@ -235,7 +242,8 @@ Any flag accepted by `create` can be passed to `update`.
|
||||
**Warning:** Deletion is permanent. Evaluators that reference this integration will no longer be able to run.
|
||||
|
||||
```bash
|
||||
ax ai-integrations delete INT_ID --force
|
||||
ax ai-integrations delete NAME_OR_ID --force
|
||||
ax ai-integrations delete NAME_OR_ID --space SPACE --force # required when using name instead of ID
|
||||
```
|
||||
|
||||
Omit `--force` to get a confirmation prompt instead of deleting immediately.
|
||||
@@ -249,8 +257,8 @@ Omit `--force` to get a confirmation prompt instead of deleting immediately.
|
||||
| `ax: command not found` | See references/ax-setup.md |
|
||||
| `401 Unauthorized` | API key may not have access to this space. Verify key and space ID at https://app.arize.com/admin > API Keys |
|
||||
| `No profile found` | Run `ax profiles show --expand`; set `ARIZE_API_KEY` env var or write `~/.arize/config.toml` |
|
||||
| `Integration not found` | Verify with `ax ai-integrations list --space-id SPACE_ID` |
|
||||
| `has_api_key: false` after create | Credentials were not saved — re-run `update` with the correct `--api-key` or `--role-arn` |
|
||||
| `Integration not found` | Verify with `ax ai-integrations list --space SPACE` |
|
||||
| `has_api_key: false` after create | Credentials were not saved — re-run `update` with the correct `--api-key` or `--provider-metadata` |
|
||||
| Evaluator runs fail with LLM errors | Check integration credentials with `ax ai-integrations get INT_ID`; rotate the API key if needed |
|
||||
| `provider` mismatch | Cannot change provider after creation — delete and recreate with the correct provider |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user