Azure-Samples / Azure-Samples/rag-postgres-openai-python

Migrate AzureOpenAI constructors to OpenAI client

Open
#269 0 comments 1 reaction 1 assignee Assigned to @Copilot View on GitHub
Dominant language
Python
Stars
505
Forks
1.1k
Avg merge
3d 13h
Merged PRs (30d)
1

Description

## Issue Description

This repository is using the Azure-specific client constructors from the OpenAI SDK:
`AzureOpenAI` or `AsyncAzureOpenAI`.

These constructors are deprecated in the latest SDKs. Migrate to the standard
`OpenAI` / `AsyncOpenAI` constructors instead so the code stays compatible with the
current API surface.

## Required Updates

1. **Replace constructors**
```python
# Before
client = openai.AzureOpenAI(
api_version=os.environ["AZURE_OPENAI_VERSION"],
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
azure_ad_token_provider=token_provider,
)

# After
client = openai.OpenAI(
base_url=os.environ["AZURE_OPENAI_ENDPOINT"],
api_key=token_provider,
)
```

* `AzureOpenAI` → `OpenAI` (or `AsyncAzureOpenAI` → `AsyncOpenAI`).
* `azure_endpoint` → `base_url`.
* `azure_ad_token_provider` (or similar Azure credential helpers) → `api_key`.

2. **Remove `api_version` usage**
* Delete the `api_version=...` argument from client construction.
* Remove any `AZURE_OPENAI_VERSION` environment variables and references (including
`.env`, application settings, and `infra/main.bicep` or other Bicep files).

3. **Update package requirements**
* Ensure `requirements.txt` or `pyproject.toml` declares `openai>=1.108.1`.
This is the first version where `OpenAI` / `AsyncOpenAI` fully replace the
Azure-specific constructors.

## Follow-up Checklist

- [ ] All Python client instantiations use `OpenAI` / `AsyncOpenAI`.
- [ ] No `api_version` argument or related environment variables remain.
- [ ] Dependency metadata requires `openai>=1.108.1`.

Addressing these items will keep the repository aligned with the supported OpenAI SDK usage.

## Details

**Pattern:** `\b(?:AzureOpenAI|AsyncAzureOpenAI)\s*\(`

### Found matches in 2 file(s) with 6 total match(es):

**File:** `evals/generate_ground_truth.py`

- **Line 88:** `openai_client = AzureOpenAI(`

- **Line 97:** `openai_client = AzureOpenAI(`

**File:** `src/backend/fastapi_app/openai_clients.py`

- **Line 26:** `openai_chat_client = openai.AsyncAzureOpenAI(`

- **Line 41:** `openai_chat_client = openai.AsyncAzureOpenAI(`

- **Line 85:** `openai_embed_client = openai.AsyncAzureOpenAI(`

- **Line 100:** `openai_embed_client = openai.AsyncAzureOpenAI(`

**Repository:** https://github.com/Azure-Samples/rag-postgres-openai-python

---
*This issue was automatically created by the GitHub Repo Maintainer Agent.*

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.