Skip to content

Run OciGenAiConfig models in the AutoGen, Agent Framework and OpenAI Agents adapters (OpenAI-compatible API) #263

Open

Description

@fede-kamel

Description

OciGenAiConfig is only executable by the WayFlow and LangGraph adapters. The adapters built on the openai SDK (AutoGen, Microsoft Agent Framework, OpenAI Agents) reject it:

NotImplementedError: LlmConfig with api_provider='oci' is not supported in autogen yet. Consider using a specific LlmConfig subclass instead.

(same message in agent_framework and openaiagents), so an Agent Spec configuration that uses OCI Generative AI is not portable across the supported runtimes.

Proposal

OCI Generative AI exposes OpenAI-compatible chat/completions and responses endpoints under <service_endpoint>/openai/v1, authenticated with an OCI request signature and an opc-compartment-id header. The three adapters can execute OciGenAiConfig by giving their OpenAI clients a signing httpx client built from the OciClientConfig (the four authentication types map onto the httpx.Auth implementations of the oci-openai package), with the compartment header, and by mapping api_type to chat completions or the Responses API where the runtime supports it. The runtime-to-Agent-Spec converters should rebuild the OciGenAiConfig from such clients.

Known limits of that API to handle explicitly: Cohere models and the DEDICATED serving mode are not served; the Responses API needs OpenAI models or a conversation store; the endpoint negotiates zstd and compresses streamed chunks as independent frames that httpx cannot decode (gzip works).

Environment

  • pyagentspec main (26.4.0.dev0), autogen-core 0.7.4, agent-framework-core 1.13.0, openai-agents 0.19.4

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions