Skip to content

Commit 8430f05

Browse files
committed
docs(providers): record verified OCI Generative AI capabilities
Document the OpenAI-compatible operations exercised through the sandbox proxy with the oci-genai profile: chat completions with streaming, tool calling, vision input including a large request body, embeddings, Responses with streaming, and the GET/DELETE rule coverage. Add the two OCI error messages operators are most likely to hit and what they mean. Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
1 parent d6bada2 commit 8430f05

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

‎docs/how-it-works/providers/oracle.mdx‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,25 @@ The profile ships `curl` as its only client binary. Add your interpreter or
146146
agent CLI to `binaries` in a copy of the profile before importing it, or the
147147
credential is never injected for that process.
148148

149+
## Verified Capabilities
150+
151+
The following OpenAI-compatible operations were exercised through the sandbox
152+
proxy with this profile against `us-chicago-1`. All of them pass with the
153+
credential injected by the proxy and none of them required changes to the
154+
profile.
155+
156+
| Operation | Result |
157+
|---|---|
158+
| `POST /openai/v1/chat/completions` | Works, including `stream: true` server-sent events. |
159+
| Tool calling (`tools`, `tool_choice`) | Works; the response carries `tool_calls` and `finish_reason: tool_calls`. |
160+
| Vision input (`image_url` with a `data:` URL) | Works on multimodal models such as `meta.llama-4-maverick-17b-128e-instruct-fp8` and `google.gemini-2.5-flash`. A 263 KB request body passed the L7 proxy unchanged. |
161+
| `POST /openai/v1/embeddings` | Works with `openai.text-embedding-3-small`. Cohere embedding models return `400 Unsupported OpenAI operation` on this endpoint; call them through the native API instead. |
162+
| `POST /openai/v1/responses` | Works, including `stream: true`. Stored responses (`store: true`) need an OCI conversation store; see the OCI documentation for the `opc-conversation-store-id` header. |
163+
| `GET` and `DELETE` under `/openai/v1` | Allowed by the profile rules for Responses lifecycle calls. Any other method, such as `PUT`, is denied by the proxy with `403 policy_denied`. |
164+
165+
Models not exposed on the OpenAI-compatible endpoint return
166+
`404 Entity with key <model> not found` from OCI, not from the proxy.
167+
149168
## Regions and Realms
150169

151170
The profile's host pattern `inference.generativeai.*.oci.oraclecloud.com`
@@ -186,6 +205,12 @@ covers them as well.
186205
- **`GET /openai/v1/models` returns `404`.** Model listing is not served on
187206
this endpoint. Do not use it as a health check; send a small chat request
188207
instead.
208+
- **`404 Entity with key <model> not found`.** The model is not served on the
209+
OpenAI-compatible endpoint, or the identifier is wrong. Use the OCI model
210+
identifier form, for example `meta.llama-4-maverick-17b-128e-instruct-fp8`.
211+
- **`400 Unsupported OpenAI operation`.** The model family does not support
212+
that operation on this endpoint, for example Cohere embeddings. Use the
213+
native API for those models.
189214
- **Request denied by the sandbox proxy.** Check that the calling binary is in
190215
the profile's `binaries` list and that the request path starts with
191216
`/openai/v1`. Use `openshell sandbox logs` to see the denial.

0 commit comments

Comments
 (0)