Codex met Azure OpenAI in Microsoft Foundry-modellen

De Codex CLI van OpenAI is hetzelfde coderingstool dat de Codex van ChatGPT aandrijft. U kunt deze coderingsagent volledig uitvoeren op Azure infrastructuur, terwijl u uw gegevens binnen uw nalevingsgrens houdt met de toegevoegde voordelen van beveiliging op bedrijfsniveau, privénetwerken, op rollen gebaseerd toegangsbeheer en voorspelbaar kostenbeheer. Codex is meer dan een chat met uw codeagent. Het is een asynchrone coderingsagent die kan worden geactiveerd vanuit uw terminal, VS Code of vanuit een GitHub Actions runner. Met Codex kunt u automatisch pull-aanvragen openen, bestanden herstructureren en tests schrijven met de referenties van uw Foundry-project en Azure OpenAI-implementaties.

Voorwaarden

Eisen Details
Besturingssystemen macOS 12+, Ubuntu 20.04+/Debian 10+, of Windows 11 via WSL2
Git (optioneel, aanbevolen) 2.23+ voor ingebouwde pull request-helpers
RAM Minimaal 4 GB (8 GB aanbevolen)

Een model implementeren in Foundry

  1. Ga naar Foundry en maak een nieuw project.
  2. Selecteer in de modelcatalogus een redeneringsmodel zoals gpt-5.3-codex, gpt-5.2-codex, , gpt-5.1-codex-maxgpt-5.1-codex, gpt-5.1-codex-mini, gpt-5-codex, gpt-5, , of gpt-5-minigpt-5-nano.
  3. Als u het model wilt implementeren vanuit de modelcatalogus, selecteer dan Dit model gebruiken, of als u het Azure OpenAI Deployments-deelvenster gebruikt, selecteer dan deploy model.
  4. Kopieer de eindpunt-URL en de API-sleutel.

De Codex CLI installeren

Voer vanuit de terminal de volgende opdrachten uit om Codex CLI te installeren

npm install -g @openai/codex
codex --version # verify installation

config.toml maken en configureren

  1. Als u Codex CLI wilt gebruiken met Azure, moet u een config.toml-bestand maken en instellen.

    Het bestand config.toml moet worden opgeslagen in de ~/.codex map. Maak een config.toml bestand in deze map of bewerk het bestaande bestand als het al bestaat:

    cd ~/.codex
    nano config.toml
    
  2. Kopieer de onderstaande tekst om de v1-antwoord-API te gebruiken. Met de v1-API hoeft u geen API-versie meer door te geven, maar u moet /v1 opnemen in het base_url pad. U kunt uw API-sleutel niet rechtstreeks als een tekenreeks doorgeven aan env_key. env_key moet verwijzen naar een omgevingsvariabele. Werk uw base_url bij met de resourcenaam:

    model = "gpt-5-codex"  # Replace with your actual Azure model deployment name
    model_provider = "azure"
    model_reasoning_effort = "medium"
    
    [model_providers.azure]
    name = "Azure OpenAI"
    base_url = "https://YOUR_RESOURCE_NAME.openai.azure.com/openai/v1"
    env_key = "AZURE_OPENAI_API_KEY"
    wire_api = "responses"
    
  3. Nadat u de updates voor het config.toml bestand hebt opgeslagen, keert u terug naar de terminal en maakt u een exemplaar van de omgevingsvariabele waarnaar wordt verwezen in uw configuratiebestand.

    # Linux, macOS, or WSL 
    export AZURE_OPENAI_API_KEY="<your-api-key>"
    
  4. Voer nu een van de volgende opdrachten uit in de terminal om te testen of uw Codex CLI-configuratie is geslaagd:

    Opdracht Purpose
    Codex Interactieve Terminal User Interface (TUI) starten
    codex "Eerste prompt" Start TUI met een eerste prompt
    codex exec "Initiële prompt" Start TUI in de niet-interactieve "automatiseringsmodus"

Codex gebruiken in Visual Studio Code

U kunt Codex ook rechtstreeks in Visual Studio Code gebruiken bij het gebruik van de extensie OpenAI Codex

  1. Als u nog geen Visual Studio Code hebt, kunt u deze installeren voor macOS en Linux.

  2. Installeer de OpenAI Codex-extensie. De extensie is afhankelijk van uw config.toml bestand dat is geconfigureerd voor Codex CLI.

  3. Als u zich in een nieuwe terminalsessie bevindt, wordt de omgevingsvariabele ingesteld voor AZURE_OPENAI_API_KEY:

    export OPENAI_API_KEY="<your-azure-api-key-here>"
    

    Opmerking

    Als u WSL gebruikt, stelt u ook dezelfde omgevingsvariabele in op de Windows host, zodat de extensie deze zo nodig kan lezen.

  4. Start VS Code vanuit dezelfde Terminal-sessie. (Wanneer u een app-launcher start, kan dit ertoe leiden dat de omgevingsvariabele van uw API-sleutel niet beschikbaar is voor de Codex-extensie.)

    code .
    
  5. U kunt nu Codex in Visual Studio Code gebruiken om te chatten, bewerken en preview-wijzigingen te bekijken terwijl u tussen drie goedkeuringsmodi schakelt.

Goedkeuringsmodi

Goedkeuringsmodi bepalen hoeveel autonomie en interactie u wilt hebben met Codex.

Goedkeuringsmodus Beschrijving
Chat Chatten en plannen met het model.
Agent Codex kan bestanden lezen, wijzigingen aanbrengen en opdrachten automatisch uitvoeren in de werkmap. Codex heeft goedkeuring nodig voor activiteiten buiten de werkmap of voor toegang tot internet.
Agent (volledige toegang) Alle mogelijkheden van de agentmodus zonder dat u stapsgewijze goedkeuring nodig hebt. De volledige toegangsmodus mag niet worden gebruikt zonder volledig inzicht te krijgen in de mogelijke risico's en om extra kaders te implementeren, zoals het uitvoeren in een gecontroleerde sandbox-omgeving.

Belangrijk

We raden u aan de richtlijnen van OpenAI voor Codex-beveiliging te bekijken.

Doorlopende begeleiding met AGENTS.md

U kunt Codex extra instructies en richtlijnen geven met behulp van AGENTS.md bestanden. Codex zoekt naar AGENTS.md bestanden op de volgende plaatsen en voegt ze bovenaan samen, zodat deze context krijgt over uw persoonlijke voorkeuren, projectspecifieke details en de huidige taak:

  • ~/.codex/AGENTS.md– persoonlijke globale richtlijnen.
  • AGENTS.md in de root van uw opslagplaats: gedeelde projectnotities.
  • AGENTS.md in de huidige werkmap : submap/functiedetails.

Als u Codex bijvoorbeeld wilt helpen begrijpen hoe u code schrijft voor Foundry-agents, kunt u een AGENTS.md maken in de hoofdmap van uw project met de volgende inhoud, afgeleid van de Azure AI Agents SDK-documentatie:

# Instructions for working with Foundry Agents

You are an expert in the Azure AI Agents client library for Python.

## Key Concepts

- **Client Initialization**: Always start by creating an `AIProjectClient` or `AgentsClient`. The recommended way is via `AIProjectClient`.
- **Authentication**: Use `DefaultAzureCredential` from `azure.identity`.
- **Agent Creation**: Use `agents_client.create_agent()`. Key parameters are `model`, `name`, and `instructions`.
- **Tools**: Agents use tools to perform actions like file search, code interpretation, or function calls.
  - To use tools, they must be passed to `create_agent` via the `tools` and `tool_resources` parameters or a `toolset`.
  - Example: `file_search_tool = FileSearchTool(vector_store_ids=[...])`
  - Example: `code_interpreter = CodeInterpreterTool(file_ids=[...])`
  - Example: `functions = FunctionTool(user_functions)`

## Example: Creating a basic agent

\`\`\`python
import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential

# 1. Create Project Client
project_client = AIProjectClient(
    endpoint=os.environ["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

# 2. Get Agents Client
with project_client:
    agents_client = project_client.agents

    # 3. Create Agent
    agent = agents_client.create_agent(
        model=os.environ["MODEL_DEPLOYMENT_NAME"],
        name="my-helpful-agent",
        instructions="You are a helpful agent that can answer questions.",
    )
    print(f"Created agent with ID: {agent.id}")
\`\`\`

In het vorige voorbeeld worden backticks in het Python codeblok geëscaped om de juiste rendering mogelijk te maken. De \'s kunnen worden verwijderd.

Experimenteren met Codex CLI

Start codex met de volgende eerste prompt:

codex "write a python script to create an Azure AI Agent with file search capabilities"

Andere voorgestelde tests:

# generate a unit test for src/utils/date.ts
# refactor this agent to use the Code Interpreter tool instead

Codex binnen GitHub Actions

Codex kan worden uitgevoerd als onderdeel van uw CI-pijplijn (continuous integration). Sla uw API-sleutel op in het geheime archief van de opslagplaats als AZURE_OPENAI_KEY en voeg een taak als volgt toe om uw wijzigingslogboek automatisch bij te werken vóór een release:

jobs:
  update_changelog:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Update changelog via Codex
        run: |
          npm install -g @openai/codex
          export AZURE_OPENAI_API_KEY="${{ secrets.AZURE_OPENAI_KEY }}" 
          codex -p azure exec --full-auto "update CHANGELOG for next release"

Probleemoplossing

Symptoom Oplossing
401 Unauthorized Of 403 Forbidden Exporteer uw AZURE_OPENAI_API_KEY omgevingsvariabele correct. Controleer of uw sleutel toegang heeft tot project/implementatie.
Zorg ervoor dat u de API-sleutel niet rechtstreeks als een tekenreeks doorgeeft aan het env_keyconfig.toml bestand. U moet een geldige omgevingsvariabele doorgeven.
ENOTFOUND, of DNS error404 Not Found Controleer of uw resourcenaam in base_url, het juiste domein in config.toml staat en dat /v1 bevat.
Bijvoorbeeld base_url = "https://<your-resource>.openai.azure.com/openai/v1".
CLI negeert Azure-instellingen Open ~/.codex/config.toml en zorg ervoor dat:
- model_provider = "azure" is ingesteld.
- De [model_providers.azure] sectie bestaat.
- env_key = "AZURE_OPENAI_API_KEY" komt overeen met de naam van uw omgevingsvariabele.
ondersteuning voor Entra ID Entra ID ondersteuning is momenteel niet beschikbaar voor Codex.
401 Unauthorized alleen met de WSL + VS Code Codex-extensie Bij het uitvoeren van VS Code vanuit WSL met de Codex-extensie kan de extensie controleren op de omgevingsvariabele van de API-sleutel op de lokale Windows-host in plaats van in de terminalshell die VS Code heeft gestart. Als u dit probleem wilt oplossen, stelt u de omgevingsvariabele op de lokale Windows-host ook in, start u vervolgens een nieuwe terminal vanuit WSL en start u VS Code met code ..