feat: expand GenAI catalog to 63 chat models from OCI portal

Add all models available in OCI GenAI Ashburn region including
OpenAI GPT-5.2/5.1/5/4.1/4o, o1/o3/o4-mini, GPT Audio,
xAI Grok 4.1/4 reasoning/non-reasoning variants, and update
README with complete model table and Model IDs.
This commit is contained in:
nogueiraguh
2026-03-03 19:28:54 -03:00
parent ea71dff699
commit 408ca45ee3
2 changed files with 121 additions and 39 deletions

101
README.md
View File

@@ -32,7 +32,7 @@ The platform combines security compliance scanning, AI-powered chat with **RAG (
### 🤖 AI Chat Agent with RAG ### 🤖 AI Chat Agent with RAG
- **OCI Generative AI** integration via official SDK (`oci.generative_ai_inference`) - **OCI Generative AI** integration via official SDK (`oci.generative_ai_inference`)
- **RAG (Retrieval-Augmented Generation)**: automatically queries ADB vector store for relevant context before generating responses - **RAG (Retrieval-Augmented Generation)**: automatically queries ADB vector store for relevant context before generating responses
- 26 models across 5 providers: **Cohere** (Command A Reasoning/Vision/R/R+), **Meta** (Llama 4/3.3/3.2/3.1), **Google** (Gemini 2.5 Pro/Flash/Flash-Lite), **xAI** (Grok 4.1/4/3/3 Mini + fast variants), **OpenAI** (GPT-oss 120B/20B) - 63 models across 5 providers: **Cohere** (Command A/R/R+), **Meta** (Llama 4/3.3/3.2/3.1), **Google** (Gemini 2.5 Pro/Flash/Flash-Lite), **OpenAI** (GPT-5.2/5.1/5/4.1/4o, o1/o3/o4-mini, GPT Audio, GPT-oss), **xAI** (Grok 4.1/4/3 + reasoning/fast variants)
- 16 OCI regions supported with auto-generated endpoints - 16 OCI regions supported with auto-generated endpoints
- Full parameter control: temperature, max_tokens, top_p, top_k, frequency/presence penalty - Full parameter control: temperature, max_tokens, top_p, top_k, frequency/presence penalty
- Conversation history with session management - Conversation history with session management
@@ -399,34 +399,77 @@ oci-cis-agent/
--- ---
## Supported GenAI Models ## Supported GenAI Models (63 Chat + 9 Embedding)
| Provider | Model | API Format | ### Chat Models
|----------|-------|------------|
| Cohere | Command A Reasoning | COHERE | | Provider | Model | Model ID | API Format |
| Cohere | Command A Vision | COHERE | |----------|-------|----------|------------|
| Cohere | Command A (03-2025) | COHERE | | Cohere | Command A Reasoning | `cohere.command-a-reasoning` | COHERE |
| Cohere | Command R+ (08-2024) | COHERE | | Cohere | Command A Vision | `cohere.command-a-vision` | COHERE |
| Cohere | Command R (08-2024) | COHERE | | Cohere | Command A | `cohere.command-a-03-2025` | COHERE |
| Meta | Llama 4 Maverick | GENERIC | | Cohere | Command R+ (08-2024) | `cohere.command-r-plus-08-2024` | COHERE |
| Meta | Llama 4 Scout | GENERIC | | Cohere | Command R (08-2024) | `cohere.command-r-08-2024` | COHERE |
| Meta | Llama 3.3 (70B) | GENERIC | | Meta | Llama 4 Maverick | `meta.llama-4-maverick-17b-128e-instruct-fp8` | GENERIC |
| Meta | Llama 3.2 90B Vision | GENERIC | | Meta | Llama 4 Scout | `meta.llama-4-scout-17b-16e-instruct` | GENERIC |
| Meta | Llama 3.2 11B Vision | GENERIC | | Meta | Llama 3.3 (70B) | `meta.llama-3.3-70b-instruct` | GENERIC |
| Meta | Llama 3.1 (405B) | GENERIC | | Meta | Llama 3.2 90B Vision | `meta.llama-3.2-90b-vision-instruct` | GENERIC |
| Google | Gemini 2.5 Pro | GENERIC | | Meta | Llama 3.2 11B Vision | `meta.llama-3.2-11b-vision-instruct` | GENERIC |
| Google | Gemini 2.5 Flash | GENERIC | | Meta | Llama 3.1 (405B) | `meta.llama-3.1-405b-instruct` | GENERIC |
| Google | Gemini 2.5 Flash-Lite | GENERIC | | Google | Gemini 2.5 Pro | `google.gemini-2.5-pro` | GENERIC |
| xAI | Grok Code Fast 1 | GENERIC | | Google | Gemini 2.5 Flash | `google.gemini-2.5-flash` | GENERIC |
| xAI | Grok 4.1 Fast | GENERIC | | Google | Gemini 2.5 Flash-Lite | `google.gemini-2.5-flash-lite` | GENERIC |
| xAI | Grok 4 Fast | GENERIC | | OpenAI | GPT-5.2 Pro | `openai.gpt-5.2-pro` | GENERIC |
| xAI | Grok 4 | GENERIC | | OpenAI | GPT-5.2 | `openai.gpt-5.2` | GENERIC |
| xAI | Grok 3 | GENERIC | | OpenAI | GPT-5.2 (2025-12-11) | `openai.gpt-5.2-2025-12-11` | GENERIC |
| xAI | Grok 3 Mini | GENERIC | | OpenAI | GPT-5.2 Chat Latest | `openai.gpt-5.2-chat-latest` | GENERIC |
| xAI | Grok 3 Fast | GENERIC | | OpenAI | GPT-5.2 Pro (2025-12-11) | `openai.gpt-5.2-pro-2025-12-11` | GENERIC |
| xAI | Grok 3 Mini Fast | GENERIC | | OpenAI | GPT-5.1 | `openai.gpt-5.1` | GENERIC |
| OpenAI | GPT-oss (120B) | GENERIC | | OpenAI | GPT-5.1 (2025-11-13) | `openai.gpt-5.1-2025-11-13` | GENERIC |
| OpenAI | GPT-oss (20B) | GENERIC | | OpenAI | GPT-5.1 Chat Latest | `openai.gpt-5.1-chat-latest` | GENERIC |
| OpenAI | GPT-5 | `openai.gpt-5` | GENERIC |
| OpenAI | GPT-5 (2025-08-07) | `openai.gpt-5-2025-08-07` | GENERIC |
| OpenAI | GPT-5 Mini | `openai.gpt-5-mini` | GENERIC |
| OpenAI | GPT-5 Mini (2025-08-07) | `openai.gpt-5-mini-2025-08-07` | GENERIC |
| OpenAI | GPT-5 Nano | `openai.gpt-5-nano` | GENERIC |
| OpenAI | GPT-5 Nano (2025-08-07) | `openai.gpt-5-nano-2025-08-07` | GENERIC |
| OpenAI | GPT-4.1 | `openai.gpt-4.1` | GENERIC |
| OpenAI | GPT-4.1 (2025-04-14) | `openai.gpt-4.1-2025-04-14` | GENERIC |
| OpenAI | GPT-4.1 Mini | `openai.gpt-4.1-mini` | GENERIC |
| OpenAI | GPT-4.1 Mini (2025-04-14) | `openai.gpt-4.1-mini-2025-04-14` | GENERIC |
| OpenAI | GPT-4.1 Nano | `openai.gpt-4.1-nano` | GENERIC |
| OpenAI | GPT-4.1 Nano (2025-04-14) | `openai.gpt-4.1-nano-2025-04-14` | GENERIC |
| OpenAI | GPT-4o | `openai.gpt-4o` | GENERIC |
| OpenAI | GPT-4o (2024-08-06) | `openai.gpt-4o-2024-08-06` | GENERIC |
| OpenAI | GPT-4o (2024-11-20) | `openai.gpt-4o-2024-11-20` | GENERIC |
| OpenAI | GPT-4o Mini | `openai.gpt-4o-mini` | GENERIC |
| OpenAI | GPT-4o Mini Search Preview | `openai.gpt-4o-mini-search-preview` | GENERIC |
| OpenAI | GPT-4o Mini Search (2025-03-11) | `openai.gpt-4o-mini-search-preview-2025-03-11` | GENERIC |
| OpenAI | GPT-4o Search Preview | `openai.gpt-4o-search-preview` | GENERIC |
| OpenAI | GPT-4o Search (2025-03-11) | `openai.gpt-4o-search-preview-2025-03-11` | GENERIC |
| OpenAI | GPT Audio | `openai.gpt-audio` | GENERIC |
| OpenAI | o4-mini | `openai.o4-mini` | GENERIC |
| OpenAI | o4-mini (2025-04-16) | `openai.o4-mini-2025-04-16` | GENERIC |
| OpenAI | o3 | `openai.o3` | GENERIC |
| OpenAI | o3 (2025-04-16) | `openai.o3-2025-04-16` | GENERIC |
| OpenAI | o3-mini | `openai.o3-mini` | GENERIC |
| OpenAI | o3-mini (2025-01-31) | `openai.o3-mini-2025-01-31` | GENERIC |
| OpenAI | o1 | `openai.o1` | GENERIC |
| OpenAI | o1 (2024-12-17) | `openai.o1-2024-12-17` | GENERIC |
| OpenAI | GPT-oss (120B) | `openai.gpt-oss-120b` | GENERIC |
| OpenAI | GPT-oss (20B) | `openai.gpt-oss-20b` | GENERIC |
| xAI | Grok 4 | `xai.grok-4` | GENERIC |
| xAI | Grok 4.1 Fast Reasoning | `xai.grok-4-1-fast-reasoning` | GENERIC |
| xAI | Grok 4.1 Fast Non-Reasoning | `xai.grok-4-1-fast-non-reasoning` | GENERIC |
| xAI | Grok 4 Fast Reasoning | `xai.grok-4-fast-reasoning` | GENERIC |
| xAI | Grok 4 Fast Non-Reasoning | `xai.grok-4-fast-non-reasoning` | GENERIC |
| xAI | Grok 3 | `xai.grok-3` | GENERIC |
| xAI | Grok 3 Mini | `xai.grok-3-mini` | GENERIC |
| xAI | Grok 3 Fast | `xai.grok-3-fast` | GENERIC |
| xAI | Grok 3 Mini Fast | `xai.grok-3-mini-fast` | GENERIC |
| xAI | Grok Code Fast 1 | `xai.grok-code-fast-1` | GENERIC |
> **Custom OCID**: You can also use any model available in your region by selecting "Personalizado (usar OCID)" and providing the full model OCID.
### Embedding Models ### Embedding Models
@@ -468,7 +511,7 @@ oci-cis-agent/
| Version | Date | Changes | | Version | Date | Changes |
|---------|------|---------| |---------|------|---------|
| **v1.4** | 2026-03 | In-place config editing (OCI, GenAI, ADB, MCP), OpenAI GPT-oss models (120B/20B), Cohere Embed v4.0 multimodal, wallet auto-parse with DSN extraction | | **v1.4** | 2026-03 | In-place config editing (OCI, GenAI, ADB, MCP), 63 chat models (OpenAI GPT-5.2/5.1/5/4.1/4o, o1/o3/o4-mini, xAI Grok 4.1/4/3, Google Gemini 2.5, Meta Llama 4, Cohere Command A), custom OCID model support, Cohere Embed v4.0 multimodal, wallet auto-parse with DSN extraction |
| **v1.3** | 2026-03 | Persistent config logs per tab, GenAI auto-fill from OCI credentials, inline UX feedback with loading spinners, MCP type-switch fix, encrypted key passphrase support, Docker stdin hang fix | | **v1.3** | 2026-03 | Persistent config logs per tab, GenAI auto-fill from OCI credentials, inline UX feedback with loading spinners, MCP type-switch fix, encrypted key passphrase support, Docker stdin hang fix |
| **v1.2** | 2026-03 | RAG pipeline (OCI GenAI embeddings + ADB vector search), dedicated Embeddings tab, CIS report chunking, file upload embedding | | **v1.2** | 2026-03 | RAG pipeline (OCI GenAI embeddings + ADB vector search), dedicated Embeddings tab, CIS report chunking, file upload embedding |
| **v1.1** | 2025-02 | OCI SDK GenAI (exact pattern), OCI Account Explorer, MCP↔ADB linking, full chat parameters | | **v1.1** | 2025-02 | OCI SDK GenAI (exact pattern), OCI Account Explorer, MCP↔ADB linking, full chat parameters |

View File

@@ -46,35 +46,74 @@ security = HTTPBearer()
# ── OCI GenAI Models Catalog ────────────────────────────────────────────────── # ── OCI GenAI Models Catalog ──────────────────────────────────────────────────
GENAI_MODELS = { GENAI_MODELS = {
# Cohere # ── Cohere ──
"cohere.command-a-reasoning": {"provider":"cohere","name":"Cohere Command A Reasoning","api_format":"COHERE"}, "cohere.command-a-reasoning": {"provider":"cohere","name":"Cohere Command A Reasoning","api_format":"COHERE"},
"cohere.command-a-vision": {"provider":"cohere","name":"Cohere Command A Vision","api_format":"COHERE"}, "cohere.command-a-vision": {"provider":"cohere","name":"Cohere Command A Vision","api_format":"COHERE"},
"cohere.command-a-03-2025": {"provider":"cohere","name":"Cohere Command A","api_format":"COHERE"}, "cohere.command-a-03-2025": {"provider":"cohere","name":"Cohere Command A","api_format":"COHERE"},
"cohere.command-r-plus-08-2024": {"provider":"cohere","name":"Cohere Command R+ (08-2024)","api_format":"COHERE"}, "cohere.command-r-plus-08-2024": {"provider":"cohere","name":"Cohere Command R+ (08-2024)","api_format":"COHERE"},
"cohere.command-r-08-2024": {"provider":"cohere","name":"Cohere Command R (08-2024)","api_format":"COHERE"}, "cohere.command-r-08-2024": {"provider":"cohere","name":"Cohere Command R (08-2024)","api_format":"COHERE"},
# Meta # ── Meta ──
"meta.llama-4-maverick-17b-128e-instruct-fp8": {"provider":"meta","name":"Meta Llama 4 Maverick","api_format":"GENERIC"}, "meta.llama-4-maverick-17b-128e-instruct-fp8": {"provider":"meta","name":"Meta Llama 4 Maverick","api_format":"GENERIC"},
"meta.llama-4-scout-17b-16e-instruct": {"provider":"meta","name":"Meta Llama 4 Scout","api_format":"GENERIC"}, "meta.llama-4-scout-17b-16e-instruct": {"provider":"meta","name":"Meta Llama 4 Scout","api_format":"GENERIC"},
"meta.llama-3.3-70b-instruct": {"provider":"meta","name":"Meta Llama 3.3 (70B)","api_format":"GENERIC"}, "meta.llama-3.3-70b-instruct": {"provider":"meta","name":"Meta Llama 3.3 (70B)","api_format":"GENERIC"},
"meta.llama-3.2-90b-vision-instruct": {"provider":"meta","name":"Meta Llama 3.2 90B Vision","api_format":"GENERIC"}, "meta.llama-3.2-90b-vision-instruct": {"provider":"meta","name":"Meta Llama 3.2 90B Vision","api_format":"GENERIC"},
"meta.llama-3.2-11b-vision-instruct": {"provider":"meta","name":"Meta Llama 3.2 11B Vision","api_format":"GENERIC"}, "meta.llama-3.2-11b-vision-instruct": {"provider":"meta","name":"Meta Llama 3.2 11B Vision","api_format":"GENERIC"},
"meta.llama-3.1-405b-instruct": {"provider":"meta","name":"Meta Llama 3.1 (405B)","api_format":"GENERIC"}, "meta.llama-3.1-405b-instruct": {"provider":"meta","name":"Meta Llama 3.1 (405B)","api_format":"GENERIC"},
# Google # ── Google ──
"google.gemini-2.5-pro": {"provider":"google","name":"Google Gemini 2.5 Pro","api_format":"GENERIC"}, "google.gemini-2.5-pro": {"provider":"google","name":"Google Gemini 2.5 Pro","api_format":"GENERIC"},
"google.gemini-2.5-flash": {"provider":"google","name":"Google Gemini 2.5 Flash","api_format":"GENERIC"}, "google.gemini-2.5-flash": {"provider":"google","name":"Google Gemini 2.5 Flash","api_format":"GENERIC"},
"google.gemini-2.5-flash-lite": {"provider":"google","name":"Google Gemini 2.5 Flash-Lite","api_format":"GENERIC"}, "google.gemini-2.5-flash-lite": {"provider":"google","name":"Google Gemini 2.5 Flash-Lite","api_format":"GENERIC"},
# xAI # ── OpenAI ──
"xai.grok-code-fast-1": {"provider":"xai","name":"xAI Grok Code Fast 1","api_format":"GENERIC"}, "openai.gpt-5.2-pro": {"provider":"openai","name":"OpenAI GPT-5.2 Pro","api_format":"GENERIC"},
"xai.grok-4.1-fast": {"provider":"xai","name":"xAI Grok 4.1 Fast","api_format":"GENERIC"}, "openai.gpt-5.2": {"provider":"openai","name":"OpenAI GPT-5.2","api_format":"GENERIC"},
"xai.grok-4-fast": {"provider":"xai","name":"xAI Grok 4 Fast","api_format":"GENERIC"}, "openai.gpt-5.2-2025-12-11": {"provider":"openai","name":"OpenAI GPT-5.2 (2025-12-11)","api_format":"GENERIC"},
"openai.gpt-5.2-chat-latest": {"provider":"openai","name":"OpenAI GPT-5.2 Chat Latest","api_format":"GENERIC"},
"openai.gpt-5.2-pro-2025-12-11": {"provider":"openai","name":"OpenAI GPT-5.2 Pro (2025-12-11)","api_format":"GENERIC"},
"openai.gpt-5.1": {"provider":"openai","name":"OpenAI GPT-5.1","api_format":"GENERIC"},
"openai.gpt-5.1-2025-11-13": {"provider":"openai","name":"OpenAI GPT-5.1 (2025-11-13)","api_format":"GENERIC"},
"openai.gpt-5.1-chat-latest": {"provider":"openai","name":"OpenAI GPT-5.1 Chat Latest","api_format":"GENERIC"},
"openai.gpt-5": {"provider":"openai","name":"OpenAI GPT-5","api_format":"GENERIC"},
"openai.gpt-5-2025-08-07": {"provider":"openai","name":"OpenAI GPT-5 (2025-08-07)","api_format":"GENERIC"},
"openai.gpt-5-mini": {"provider":"openai","name":"OpenAI GPT-5 Mini","api_format":"GENERIC"},
"openai.gpt-5-mini-2025-08-07": {"provider":"openai","name":"OpenAI GPT-5 Mini (2025-08-07)","api_format":"GENERIC"},
"openai.gpt-5-nano": {"provider":"openai","name":"OpenAI GPT-5 Nano","api_format":"GENERIC"},
"openai.gpt-5-nano-2025-08-07": {"provider":"openai","name":"OpenAI GPT-5 Nano (2025-08-07)","api_format":"GENERIC"},
"openai.gpt-4.1": {"provider":"openai","name":"OpenAI GPT-4.1","api_format":"GENERIC"},
"openai.gpt-4.1-2025-04-14": {"provider":"openai","name":"OpenAI GPT-4.1 (2025-04-14)","api_format":"GENERIC"},
"openai.gpt-4.1-mini": {"provider":"openai","name":"OpenAI GPT-4.1 Mini","api_format":"GENERIC"},
"openai.gpt-4.1-mini-2025-04-14": {"provider":"openai","name":"OpenAI GPT-4.1 Mini (2025-04-14)","api_format":"GENERIC"},
"openai.gpt-4.1-nano": {"provider":"openai","name":"OpenAI GPT-4.1 Nano","api_format":"GENERIC"},
"openai.gpt-4.1-nano-2025-04-14": {"provider":"openai","name":"OpenAI GPT-4.1 Nano (2025-04-14)","api_format":"GENERIC"},
"openai.gpt-4o": {"provider":"openai","name":"OpenAI GPT-4o","api_format":"GENERIC"},
"openai.gpt-4o-2024-08-06": {"provider":"openai","name":"OpenAI GPT-4o (2024-08-06)","api_format":"GENERIC"},
"openai.gpt-4o-2024-11-20": {"provider":"openai","name":"OpenAI GPT-4o (2024-11-20)","api_format":"GENERIC"},
"openai.gpt-4o-mini": {"provider":"openai","name":"OpenAI GPT-4o Mini","api_format":"GENERIC"},
"openai.gpt-4o-mini-search-preview": {"provider":"openai","name":"OpenAI GPT-4o Mini Search Preview","api_format":"GENERIC"},
"openai.gpt-4o-mini-search-preview-2025-03-11": {"provider":"openai","name":"OpenAI GPT-4o Mini Search (2025-03-11)","api_format":"GENERIC"},
"openai.gpt-4o-search-preview": {"provider":"openai","name":"OpenAI GPT-4o Search Preview","api_format":"GENERIC"},
"openai.gpt-4o-search-preview-2025-03-11": {"provider":"openai","name":"OpenAI GPT-4o Search (2025-03-11)","api_format":"GENERIC"},
"openai.gpt-audio": {"provider":"openai","name":"OpenAI GPT Audio","api_format":"GENERIC"},
"openai.o4-mini": {"provider":"openai","name":"OpenAI o4-mini","api_format":"GENERIC"},
"openai.o4-mini-2025-04-16": {"provider":"openai","name":"OpenAI o4-mini (2025-04-16)","api_format":"GENERIC"},
"openai.o3": {"provider":"openai","name":"OpenAI o3","api_format":"GENERIC"},
"openai.o3-2025-04-16": {"provider":"openai","name":"OpenAI o3 (2025-04-16)","api_format":"GENERIC"},
"openai.o3-mini": {"provider":"openai","name":"OpenAI o3-mini","api_format":"GENERIC"},
"openai.o3-mini-2025-01-31": {"provider":"openai","name":"OpenAI o3-mini (2025-01-31)","api_format":"GENERIC"},
"openai.o1": {"provider":"openai","name":"OpenAI o1","api_format":"GENERIC"},
"openai.o1-2024-12-17": {"provider":"openai","name":"OpenAI o1 (2024-12-17)","api_format":"GENERIC"},
"openai.gpt-oss-120b": {"provider":"openai","name":"OpenAI GPT-oss (120B)","api_format":"GENERIC"},
"openai.gpt-oss-20b": {"provider":"openai","name":"OpenAI GPT-oss (20B)","api_format":"GENERIC"},
# ── xAI ──
"xai.grok-4": {"provider":"xai","name":"xAI Grok 4","api_format":"GENERIC"}, "xai.grok-4": {"provider":"xai","name":"xAI Grok 4","api_format":"GENERIC"},
"xai.grok-4-1-fast-reasoning": {"provider":"xai","name":"xAI Grok 4.1 Fast Reasoning","api_format":"GENERIC"},
"xai.grok-4-1-fast-non-reasoning": {"provider":"xai","name":"xAI Grok 4.1 Fast Non-Reasoning","api_format":"GENERIC"},
"xai.grok-4-fast-reasoning": {"provider":"xai","name":"xAI Grok 4 Fast Reasoning","api_format":"GENERIC"},
"xai.grok-4-fast-non-reasoning": {"provider":"xai","name":"xAI Grok 4 Fast Non-Reasoning","api_format":"GENERIC"},
"xai.grok-3": {"provider":"xai","name":"xAI Grok 3","api_format":"GENERIC"}, "xai.grok-3": {"provider":"xai","name":"xAI Grok 3","api_format":"GENERIC"},
"xai.grok-3-mini": {"provider":"xai","name":"xAI Grok 3 Mini","api_format":"GENERIC"}, "xai.grok-3-mini": {"provider":"xai","name":"xAI Grok 3 Mini","api_format":"GENERIC"},
"xai.grok-3-fast": {"provider":"xai","name":"xAI Grok 3 Fast","api_format":"GENERIC"}, "xai.grok-3-fast": {"provider":"xai","name":"xAI Grok 3 Fast","api_format":"GENERIC"},
"xai.grok-3-mini-fast": {"provider":"xai","name":"xAI Grok 3 Mini Fast","api_format":"GENERIC"}, "xai.grok-3-mini-fast": {"provider":"xai","name":"xAI Grok 3 Mini Fast","api_format":"GENERIC"},
# OpenAI "xai.grok-code-fast-1": {"provider":"xai","name":"xAI Grok Code Fast 1","api_format":"GENERIC"},
"openai.gpt-oss-120b": {"provider":"openai","name":"OpenAI GPT-oss (120B)","api_format":"GENERIC"},
"openai.gpt-oss-20b": {"provider":"openai","name":"OpenAI GPT-oss (20B)","api_format":"GENERIC"},
} }
EMBEDDING_MODELS = { EMBEDDING_MODELS = {