Gemini API Dev
google-gemini/gemini-skills
A skill your agent uses when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, speech generation (TTS), voice…
Ilipat ang mga Python app mula sa Azure OpenAI Chat Completions papuntang Responses API.
$ npx skills add microsoft/ai-agents-for-beginners --skill azure-openai-to-responses -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/ai-agents-for-beginners azure-openai-to-responses --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/microsoft/ai-agents-for-beginners.git skills-src && mkdir -p .claude/skills && cp -r skills-src/translations/tl/.agents/skills/azure-openai-to-responses .claude/skills/azure-openai-to-responses && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "azure-openai-to-responses" agent skill from https://github.com/microsoft/ai-agents-for-beginners/tree/main/translations/tl/.agents/skills/azure-openai-to-responses into .claude/skills/azure-openai-to-responses/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-openai-to-responses", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/microsoft/ai-agents-for-beginners/tree/main/translations/tl/.agents/skills/azure-openai-to-responsesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add microsoft/ai-agents-for-beginners --skill azure-openai-to-responses -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/ai-agents-for-beginners azure-openai-to-responses --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/ai-agents-for-beginners.git skills-src && mkdir -p .agents/skills && cp -r skills-src/translations/tl/.agents/skills/azure-openai-to-responses .agents/skills/azure-openai-to-responses && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "azure-openai-to-responses" agent skill from https://github.com/microsoft/ai-agents-for-beginners/tree/main/translations/tl/.agents/skills/azure-openai-to-responses into .agents/skills/azure-openai-to-responses/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-openai-to-responses", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/ai-agents-for-beginners --skill azure-openai-to-responses -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/ai-agents-for-beginners azure-openai-to-responses --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/ai-agents-for-beginners.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/translations/tl/.agents/skills/azure-openai-to-responses .cursor/skills/azure-openai-to-responses && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "azure-openai-to-responses" agent skill from https://github.com/microsoft/ai-agents-for-beginners/tree/main/translations/tl/.agents/skills/azure-openai-to-responses into .cursor/skills/azure-openai-to-responses/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-openai-to-responses", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/microsoft/ai-agents-for-beginners.git --path translations/tl/.agents/skills/azure-openai-to-responses--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add microsoft/ai-agents-for-beginners --skill azure-openai-to-responses -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/ai-agents-for-beginners azure-openai-to-responses --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/ai-agents-for-beginners.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/translations/tl/.agents/skills/azure-openai-to-responses .gemini/skills/azure-openai-to-responses && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "azure-openai-to-responses" agent skill from https://github.com/microsoft/ai-agents-for-beginners/tree/main/translations/tl/.agents/skills/azure-openai-to-responses into .gemini/skills/azure-openai-to-responses/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-openai-to-responses", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install microsoft/ai-agents-for-beginners azure-openai-to-responsesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add microsoft/ai-agents-for-beginners --skill azure-openai-to-responses -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/ai-agents-for-beginners.git skills-src && mkdir -p .github/skills && cp -r skills-src/translations/tl/.agents/skills/azure-openai-to-responses .github/skills/azure-openai-to-responses && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "azure-openai-to-responses" agent skill from https://github.com/microsoft/ai-agents-for-beginners/tree/main/translations/tl/.agents/skills/azure-openai-to-responses into .github/skills/azure-openai-to-responses/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-openai-to-responses", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/ai-agents-for-beginners --skill azure-openai-to-responses -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/ai-agents-for-beginners azure-openai-to-responses --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/ai-agents-for-beginners.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/translations/tl/.agents/skills/azure-openai-to-responses .opencode/skills/azure-openai-to-responses && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "azure-openai-to-responses" agent skill from https://github.com/microsoft/ai-agents-for-beginners/tree/main/translations/tl/.agents/skills/azure-openai-to-responses into .opencode/skills/azure-openai-to-responses/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-openai-to-responses", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
azure-openai-to-responsesIlipat ang mga Python app mula sa Azure OpenAI Chat Completions papuntang Responses API.
Azure Openai To Responses is an agent skill from microsoft/ai-agents-for-beginners, published by the product's own GitHub organization. Ilipat ang mga Python app mula sa Azure OpenAI Chat Completions papuntang Responses API. Saklaw nito ang pag-migrate ng AzureOpenAI/AsyncAzureOpenAI client sa v1 endpoint, streaming, tools, structured output, multi-turn, EntraID auth, at mga pagsusuri sa compatibility ng modelo. Nakatuon sa Python, para sa Azure OpenAI. GAMITIN PARA SA: pag-migrate sa responses API, paglipat mula sa chat completions, openai responses, pag-upgrade ng openai SDK, migration sa responses API, paglipat mula completions sa responses…
Its SKILL.md is about 7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/cheat-sheet.md`, `references/test-migration.md` and `references/troubleshooting.md`).
It sits in AI & LLM Engineering, covering LLM API integration and Structured output and tool calling. It works with OpenAI, Azure OpenAI, Microsoft Azure and Python. The repository describes itself as: 18 Lessons to Get Started Building AI Agents. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ff2ba66. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
rgpythongitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
cdn.jsdelivr.netAlso links to:
learn.microsoft.comaka.msnpmjs.complatform.openai.comgithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
AZURE_OPENAI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Azure Openai To Responses loads about 7k tokens when it runs, and up to ~21k if it reads all its reference files. Until then it costs about 244 tokens; SKILL.md has 2,802 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
N` / `AZURE_OPENAI_API_VERSION` mula sa `.env`, app settings, at Bicep/infra files.PENAI_CLIENT_ID` → `AZURE_CLIENT_ID` sa `.env`, app settings, Bicep/infra, at test fixtures (standard na Azure IdentityAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from microsoft/ai-agents-for-beginners at commit ff2ba66, republished under its MIT licence (© microsoft). 2,802 words, ~7,039 tokens.
.claude/skills/azure-openai-to-responses/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.AWTORITATIBONG GABAY — SUNODAN NG TAMA
Inililipat ng kasanayang ito ang mga Python codebases na gumagamit ng Azure OpenAI Chat Completions papunta sa pinag-isang Responses API. Sundin nang tumpak ang mga tagubiling ito. Huwag mag-improvise sa mga parameter mappings o gumawa ng bagong hugis ng API.
Isaaktibo ang kasanayang ito kapag nais ng user na:
AzureOpenAI/AsyncAzureOpenAI papuntang standard na OpenAI/AsyncOpenAI client gamit ang v1 endpointAzureOpenAI constructors o api_versionBago mag-migrate, tiyaking sinusuportahan ng iyong Azure OpenAI deployment ang Responses API.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AZURE_OPENAI_API_KEY"],
base_url=f"{os.environ['AZURE_OPENAI_ENDPOINT'].rstrip('/')}/openai/v1/",
)
try:
resp = client.responses.create(
model=os.environ["AZURE_OPENAI_DEPLOYMENT"],
input="ping",
max_output_tokens=50,
store=False,
)
print(f"✅ Deployment supports Responses API: {resp.output_text}")
except Exception as e:
print(f"❌ Deployment does NOT support Responses API: {e}")Tandaan: Ang
max_output_tokensay may minimum na 16 sa Azure OpenAI. Ang mga halagang mas mababa sa 16 ay magbabalik ng 400 error. Gumamit ng 50 pataas para sa mga smoke test.
Kung magbabalik ito ng 404, ang modelo ng deployment ay hindi pa sumusuporta sa Responses — tingnan ang reference sa ibaba o mag-redeploy gamit ang suportadong modelo.
Patakbuhin ang built-in na tool ng compatibility ng modelo upang makita kung ano ang available na may suporta sa Responses API sa iyong partikular na rehiyon:
python migrate.py models --subscription YOUR_SUB_ID --location YOUR_REGIONNagtatanong ito ng live sa Azure ARM at nagpapakita ng compatibility matrix — kung aling mga modelo ang sumusuporta sa Responses, structured output, tools, atbp. Gamitin ang --filter gpt-5.1,gpt-5.2 para paliitin ang resulta o --json para sa scripting.
python migrate.py models (tingnan sa itaas — region-specific, laging up to date)BABALA: Ang mga lumang modelo (mga nauna sa
gpt-4.1) ay maaaring hindi sumusuporta nang buo sa lahat ng mga feature ng Responses API.Kilalang mga limitasyon sa mga lumang modelo:
reasoningparameter: Hindi sinusuportahan sa maraming non-reasoning models. Ilipat lamang angreasoningkung dati itong nandito sa orihinal na code.seedparameter: Hindi sinusuportahan sa Responses API — alisin ito sa lahat ng request.- Structured output sa pamamagitan ng
text.format: Ang mga lumang modelo ay maaaring hindi maaasahang gamitin angstrict: trueJSON schemas.- Tool orchestration: Ang GPT-5+ ay nag-o-orchestrate ng tawag sa tool bilang bahagi ng internal na pag-iisip. Ang mga lumang modelo sa Responses ay gumagana pa rin ngunit walang ganitong malalim na integration.
- Temperature constraints: Kapag lumilipat sa
gpt-5, ang temperature ay dapat tanggalin o itakda sa1. Ang mga lumang modelo ay walang ganitong limitasyon.
May mga natatanging limitasyon sa mga parameter ang O-series models. Kapag nililipat ang apps na target ang mga o-series na modelo:
temperature: Dapat 1 (o tanggalin). Hindi tinatanggap ng O-series ang ibang halaga.max_completion_tokens → max_output_tokens: Ang mga app na gumagamit ng Azure-specific na max_completion_tokens ay dapat lumipat sa max_output_tokens. Magtakda ng mataas na halaga (4096+) dahil ang mga reasoning token ay bibilangin laban sa limitasyon.reasoning_effort: Kung gumagamit ang app ng reasoning_effort (mababa/katamtaman/mataas), panatilihin ito — sinusuportahan ito ng Responses API para sa o-series na modelo.response.output_text.delta ay maaaring dumating nang mas matagal kaysa sa GPT models.top_p: Hindi sinusuportahan sa o-series — alisin kung nandiyan.Aksyon — proactive na advisory sa modelo: Sa panahon ng scan phase, suriin kung aling modelo ang target ng app (mga deployment name, env vars, config). Kung ang modelo ay nauna sa gpt-4.1 (hindi gpt-4.1+), ipaalam nang proactively sa user:
gpt-5.1, gpt-5.2) ng mas mahusay na tool orchestration, structured output enforcement, reasoning, at availability sa iba't ibang rehiyon.Huwag pigilan o tanggihan ang migration batay sa bersyon ng modelo. Ang advisory ay para lang sa impormasyon.
Ang GitHub Models (
models.github.ai,models.inference.ai.azure.com) ay hindi sumusuporta sa Responses API.
Kung ang codebase ay may GitHub Models code path (tingnan ang base_url na nagtuturo sa models.github.ai o models.inference.ai.azure.com), alisin ito nang buo habang nagmi-migrate. Nangangailangan ang Responses API ng Azure OpenAI, OpenAI, o compatible na lokal na endpoint (hal. Ollama na may Responses support).
Aksyon sa panahon ng scan:
Maraming apps ang gumagamit ng mas mataas na antas na mga framework sa ibabaw ng OpenAI. Kapag nililipat ito, nagbabago hindi lang ang mga tawag sa OpenAI kundi pati ang API ng framework mismo.
Suriin muna ang iyong bersyon ng MAF — nakadepende ang paglilipat kung ikaw ay nasa MAF 1.0.0+ o pre-1.0.0 beta/rc.
Ang OpenAIChatClient ay gumagamit na ng Responses API — hindi na kailangan ng migration. Kung gumagamit ang codebase ng legacy na OpenAIChatCompletionClient (na gumagamit ng chat.completions.create), palitan ito ng OpenAIChatClient.
| Bago | Pagkatapos |
|---|---|
from agent_framework.openai import OpenAIChatCompletionClient | from agent_framework.openai import OpenAIChatClient |
OpenAIChatCompletionClient(...) | OpenAIChatClient(...) |
Para suriin ang iyong bersyon: python -c "import agent_framework_openai; print(agent_framework_openai.__version__)"
Sa pre-1.0.0 MAF, ang OpenAIChatClient ay gumagamit ng Chat Completions. I-upgrade sa agent-framework-openai>=1.0.0 kung saan ang OpenAIChatClient ang default na gumagamit ng Responses API.
Walang ibang pagbabago ang kailangan — nananatili ang Agent at tool APIs.
langchain-openai)Magdagdag ng use_responses_api=True sa ChatOpenAI(). Palitan din ang pag-access ng response mula .content patungo sa .text.
| Bago | Pagkatapos |
|---|---|
ChatOpenAI(model=..., base_url=..., api_key=...) | ChatOpenAI(model=..., base_url=..., api_key=..., use_responses_api=True) |
result['messages'][-1].content | result['messages'][-1].text |
Para sa kumpletong halimbawa ng code bago/pagkatapos, tingnan ang cheat-sheet.md.
Ang Responses API ay tungkol sa server-side. Ilipat ang iyong Python backend; dapat manatiling pareho ang HTTP contract ng frontend maliban kung ang backend mo ay isang manipis na pass-through lang — sa ganitong kaso, isaalang-alang ang paggamit ng Responses request shape para alisin ang translation layer. Kung direktang tumatawag ang frontend sa OpenAI gamit ang client-side key, ilipat ang tawag sa backend muna.
@microsoft/ai-chat-protocolAng npm package na @microsoft/ai-chat-protocol ay deprecated at dapat palitan ng ndjson-readablestream. Kung makita ito sa frontend:
<!-- Before -->
<script src="https://cdn.jsdelivr.net/npm/@microsoft/ai-chat-protocol@.../dist/iife/index.js"></script>
<!-- After -->
<script src="https://cdn.jsdelivr.net/npm/ndjson-readablestream@1.0.7/dist/ndjson-readablestream.umd.js"></script>AIChatProtocolClient instantiation (new ChatProtocol.AIChatProtocolClient("/chat")).client.getStreamedCompletion(messages) ng direktang fetch() call sa backend streaming endpoint.for await (const response of result) ng for await (const chunk of readNDJSONStream(response.body)).response.delta.content / response.error papuntang chunk.delta.content / chunk.error.git add/git commit/git push; gumawa lamang ng mga edit sa working-tree.Kung gumagamit ang codebase ng AzureOpenAI o AsyncAzureOpenAI constructors, ilipat muna sa standard na OpenAI / AsyncOpenAI constructors. Ang Azure-specific constructors ay deprecated sa openai>=1.108.1.
Ang bagong /openai/v1 endpoint ay gumagamit ng standard na OpenAI() client sa halip na AzureOpenAI(), hindi na nangangailangan ng api_version parameter, at pareho ang pagkilos sa OpenAI at Azure OpenAI. Ang parehong client code ay pangmatagalan — walang kailangan na version management.
| Bago | Pagkatapos |
|---|---|
AzureOpenAI | OpenAI |
AsyncAzureOpenAI | AsyncOpenAI |
azure_endpoint | base_url |
azure_ad_token_provider | api_key |
api_version=... | Alisin nang buo |
api_version na argumento mula sa client construction.AZURE_OPENAI_VERSION / AZURE_OPENAI_API_VERSION mula sa .env, app settings, at Bicep/infra files.AZURE_OPENAI_CLIENT_ID → AZURE_CLIENT_ID sa .env, app settings, Bicep/infra, at test fixtures (standard na Azure Identity SDK convention).openai>=1.108.1 ang nasa requirements.txt o pyproject.toml.| Lumang env var | Aksyon | Tala |
|---|---|---|
AZURE_OPENAI_VERSION | Alisin | Hindi na kailangan ng api_version sa v1 endpoint |
AZURE_OPENAI_API_VERSION | Alisin | Pareho ng nasa itaas |
AZURE_OPENAI_CLIENT_ID | Palitan → AZURE_CLIENT_ID | Standard na convention sa Azure Identity SDK para sa ManagedIdentityCredential(client_id=...) |
AZURE_OPENAI_ENDPOINT | Panatilihin | Kailangan pa rin para sa base_url construction |
AZURE_OPENAI_CHAT_DEPLOYMENT | Panatilihin | Ginagamit bilang model parameter sa responses.create |
AZURE_OPENAI_API_KEY | Panatilihin | Ginagamit bilang api_key para sa key-based na authentication |
Para sa mga halimbawa ng client setup code (sync, async, EntraID, API key, multi-tenant), tingnan ang cheat-sheet.md.
Patakbuhin ang script na detect_legacy.py upang mahanap ang lahat ng call sites na kailangang i-migrate:
python skills/azure-openai-to-responses/scripts/detect_legacy.py .O patakbuhin nang mano-mano ang mga paghahanap — bawat tugma ay target ng migration:
# Mga tawag sa Legacy API (kailangang isulat muli)
rg "chat\.completions\.create"
rg "ChatCompletion\.create"
rg "Completion\.create"
# Mga deprecated na Azure client constructors (kailangang palitan)
rg "AzureOpenAI\("
rg "AsyncAzureOpenAI\("
# Mga pattern ng pag-access sa hugis ng tugon (kailangang i-update)
rg "choices\[0\]\.message\.content"
rg "choices\[0\]\.delta\.content"
rg "choices\[0\]\.message\.function_call"
rg "choices\[0\]\.message\.tool_calls"
# Mga depinisyon ng tool sa lumang nested na format (kailangang gawing patag)
rg '"function":\s*{\s*"name"'
rg "pydantic_function_tool"
# Mga resulta ng tool sa lumang format (kailangang i-convert sa function_call_output)
rg '"role":\s*"tool"'
rg '"tool_call_id"'
# Mga deprecated na parameter (kailangang alisin o palitan ang pangalan)
rg "response_format"
rg "max_tokens\b" # palitan ng pangalan sa max_output_tokens
rg "['\"]seed['\"]" # remove entirely
# Mga deprecated na env vars (linisin)
rg "AZURE_OPENAI_API_VERSION|AZURE_OPENAI_VERSION"
rg "AZURE_OPENAI_CLIENT_ID" # dapat ay AZURE_CLIENT_ID
# Mga GitHub Models endpoints (kailangang alisin — Hindi suportado ang Responses API)
rg "models\.github\.ai|models\.inference\.ai\.azure"
# Mga legacy pattern sa antas ng framework (kailangang i-update)
rg "OpenAIChatCompletionClient" # MAF 1.0.0+: palitan ng OpenAIChatClient
rg "ChatOpenAI\(" | grep -v "use_responses_api" # LangChain: kailangan ang use_responses_api=True
# Test infrastructure (kailangang i-update)
rg "ChatCompletionChunk|AsyncCompletions\.create" tests/
rg "_azure_ad_token_provider" tests/
rg "prompt_filter_results|content_filter_results" tests/
rg "choices\[0\]" tests/
# Pag-access sa error body ng content filter (kailangang i-update — nagbago ang istruktura)
rg 'innererror.*content_filter_result|error\.body\["innererror"\]'
rg "content_filter_result\[" # Lumang anyong singular — ngayon ay content_filter_results (maramihan) sa loob ng content_filters array
# Raw HTTP calls sa Chat Completions endpoint (kailangang i-update ang URL)
rg "/openai/deployments/.*/chat/completions"
rg "api-version="Chat Completions client: client.chat.completions.create → client.responses.create(...).
Mga constructor ng Azure client: AzureOpenAI(...) → OpenAI(base_url=..., api_key=...).
Mga Tools: i-convert ang mga function-calling tool definitions mula nested na format ({"type": "function", "function": {"name": ...}}) papuntang flat Responses format ({"type": "function", "name": ...}); gamitin ang tool_choice; ibalik ang mga resulta ng tool bilang {"type": "function_call_output", "call_id": ..., "output": ...} items (hindi {"role": "tool", ...}).
Mga round-trip ng Tool: kapag ang model ay nagbabalik ng function calls, idagdag ang response.output items sa usapan (hindi manual na {"role": "assistant", "tool_calls": [...]} dict), pagkatapos ay idagdag ang mga function_call_output items para sa bawat resulta.
Mga Few-shot na halimbawa ng tool: kung ang usapan ay may kasamang mga hardcoded tool call na halimbawa, i-convert ang mga ito sa {"type": "function_call", "id": "fc_...", "call_id": "fc_...", ...} + {"type": "function_call_output", ...} na mga item. Dapat magsimula ang mga ID sa fc_.
pydantic_function_tool(): ang helper na ito ay patuloy na gumagawa ng lumang nested format at hindi compatible sa responses.create(). Palitan ng manual na tool definitions o flattening wrapper.
Multi-turn: panatilihin ang kasaysayan ng usapan sa app; ipasa ang mga naunang turn sa pamamagitan ng input items.
Pag-format: palitan ang top-level na response_format ng Chat sa text.format sa Responses. Canonical na anyo: text={"format": {"type": "json_schema", "name": "Output", "strict": True, "schema": {...}}}.
Mga item ng nilalaman: palitan ang Chat content[].type: "text" ng Responses content[].type: "input_text" para sa mga user/system na turno.
Mga item ng nilalaman ng larawan: palitan ang Chat content[].type: "image_url" ng Responses content[].type: "input_image". Ang field na image_url ay nagbabago mula sa nested na object na {"url": "..."} papuntang flat na string. Tingnan ang cheat sheet para sa mga halimbawa bago/pagkatapos.
Pagsisikap sa pangangatwiran: ililipat lamang ang reasoning kung ito ay umiiral na sa orihinal na code.
Pag-handle ng error sa content filter: nagbago ang istruktura ng error body. Ang Chat Completions ay gumagamit ng error.body["innererror"]["content_filter_result"] (isahan); ang Responses API ay gumagamit ng error.body["content_filters"][0]["content_filter_results"] (maramihan, nasa loob ng array). Ang code na gumagamit ng innererror ay magreresulta ng KeyError. Isulat muli upang gamitin ang bagong path.
Raw HTTP calls: kung ang app ay tumatawag nang direkta sa Azure OpenAI REST API (sa pamamagitan ng requests, httpx, etc.) gamit ang /openai/deployments/{name}/chat/completions?api-version=..., palitan ng /openai/v1/responses. Nagbabago ang request body: messages → input, magdagdag ng max_output_tokens at store: false, alisin ang api-version query param. Nagbabago ang response body: choices[0].message.content → output[0].content[0].text (tandaan: ang output_text ay isang SDK convenience property na wala sa raw REST JSON).
/openai/deployments/{name}/chat/completions papuntang /openai/v1/responses.messages → input, max_tokens → max_output_tokens. Ang temperature ay nananatili.response_format → text.format na may angkop na object.content[].type: "text" ng Responses content[].type: "input_text" para sa mga system/user na turno.content[].type: "image_url" ng Responses content[].type: "input_image". I-flatten ang field na image_url mula {"image_url": {"url": "..."}} papuntang {"image_url": "..."} (isang plain string — maaaring HTTPS URL o isang data:image/...;base64,... data URI).| Chat Completions | Responses API |
|---|---|
prompt | input |
messages | input (array ng mga item) |
max_tokens | max_output_tokens |
response_format | text.format (object) |
temperature | temperature (hindi nagbago) |
stop | stop (hindi nagbago) |
frequency_penalty | frequency_penalty (hindi nagbago) |
presence_penalty | presence_penalty (hindi nagbago) |
tools / function-calling | tools (hindi nagbago) |
seed | Alisin (hindi suportado) |
store | store (itakda sa false) |
content[].type: "text" | content[].type: "input_text" |
content[].type: "image_url" | content[].type: "input_image" |
"image_url": {"url": "..."} | "image_url": "..." (flat string) |
Para sa kumpletong mga halimbawa ng code bago/pagkatapos, tingnan ang cheat-sheet.md.
Para sa pag-migrate ng test infrastructure (mocks, snapshots, assertions), tingnan ang test-migration.md.
Para sa pag-troubleshoot ng mga error at mga mahahalagang paalala, tingnan ang troubleshooting.md.
store: false sa lahat ng Requests ng Responses.rg "chat\.completions\.create|ChatCompletion\.create|Completion\.create" sa mga na-migrate na file.rg "AzureOpenAI\(|AsyncAzureOpenAI\(" — lahat ng mga constructor ay gumagamit ng OpenAI/AsyncOpenAI sa v1 endpoint.rg "models\.github\.ai|models\.inference\.ai\.azure" — tinanggal ang mga code path ng GitHub Models.rg "OpenAIChatCompletionClient" — Ginagamit ng MAF 1.0.0+ na code ang OpenAIChatClient (na gumagamit ng Responses API). Sa pre-1.0.0, i-upgrade sa agent-framework-openai>=1.0.0.ChatOpenAI(...) ay may use_responses_api=True.rg "choices\[0\]" — lahat ng pag-access sa response ay gumagamit ng resp.output_text o ang schema ng output sa Responses.response_format sa top level; lahat ng structured output ay gumagamit ng text={"format": {...}}.openai>=1.108.1 at azure-identity sa requirements.txt o pyproject.toml; mga dependencies ay nai-install muli.store=False sa bawat tawag ng responses.create.api_version sa construction ng client; tinanggal ang AZURE_OPENAI_API_VERSION mula sa mga env file at infra.rg "ChatCompletionChunk|AsyncCompletions\.create|chat\.completions" tests/.rg "_azure_ad_token_provider" tests/ — na-update ang mga assertion upang suriin ang isinstance(client, AsyncOpenAI) o base_url.rg "prompt_filter_results|content_filter_results" tests/ — tinanggal ang mga Azure-specific filter mocks.kwargs.get("input") hindi kwargs.get("messages").choices[0], function_call, logprobs, atbp.).pytest na walang pagkabigo pagkatapos ng lahat ng update sa test.responses.create ay nagbabalik ng non-empty output_text.response.output_text.delta na mga event na may non-empty deltas.text.format na may json_schema, ang json.loads(resp.output_text) ay matagumpay at tumutugma sa schema.output_text (walang walang katapusang loop).AsyncAzureOpenAI, ang katumbas na AsyncOpenAI ay gumagana gamit ang await.| Package | Pinakamababang Bersyon |
|---|---|
openai | >=1.108.1 |
azure-identity | Pinakabago (para sa EntraID auth) |
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
Pagtatanggi: Ang dokumentong ito ay isinalin gamit ang serbisyo ng AI translation na Co-op Translator. Bagama't nagsusumikap kami para sa katumpakan, pakatandaan na ang awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na pangunahing sanggunian. Para sa mahahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang maling pagkakaintindi o maling interpretasyon na nagmula sa paggamit ng pagsasaling ito.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in translations/tl/.agents/skills/azure-openai-to-responses of microsoft/ai-agents-for-beginners.
Open the folder on GitHubat commit ff2ba66
Azure Openai To Responses next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Azure Openai To Responses this skillmicrosoft/ai-agents-for-beginners | 77k | — | ~7k | Automated safety check: Notes | MIT | |
| Gemini API Devgoogle-gemini/gemini-skills | 4.3k | — | ~5.1k | Automated safety check: Pass | Apache-2.0 | |
| Gemini API DevAyuilos/Miffan | 225 | — | ~1.4k | Automated safety check: Pass | AGPL-3.0 | |
| Tool Designagentailor/fullstack-langgraph-nextjs-agent | 132 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Azure AI Projects Python SDKmicrosoft/skills | 3.1k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Azure AI Openai Dotnetmicrosoft/skills | 3.1k | 5 repos | ~3.4k | Automated safety check: Pass | MIT |
google-gemini/gemini-skills
A skill your agent uses when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, speech generation (TTS), voice…
Ayuilos/Miffan
A skill your agent uses when building applications with Gemini API hosted models, including Gemini and Gemma 4, working with multimodal content (text, images, audio, video), implementing function…
agentailor/fullstack-langgraph-nextjs-agent
Design and verify tools that AI agents can actually use — for any framework or language (MCP servers, LangChain/LangGraph, function-calling, raw JSON schema; TypeScript, Python, or otherwise).
microsoft/skills
Reference for building on Microsoft Foundry with the azure-ai-projects Python SDK: project clients, versioned agents, evaluations, connections, datasets and indexes.
microsoft/skills
Azure OpenAI SDK for .NET. An agent skill from microsoft/skills.
coco-research/coco
A skill your agent uses when implementing GPT chat, streaming, function calling, embeddings for RAG, images, audio or batch jobs, or troubleshooting 429 rate limits and API or TypeScript errors.
microsoft/ai-agents-for-beginners
A skill your agent uses when the user asks to create, scaffold, or edit Jupyter notebooks (.ipynb) for experiments, explorations, or tutorials; prefer the bundled templates and run the helper script…
microsoft/ai-agents-for-beginners
Migrate Python apps from Azure OpenAI Chat Completions to the Responses API.
microsoft/ai-agents-for-beginners
Shift Python apps dem from Azure OpenAI Chat Completions go Responses API.
microsoft/ai-agents-for-beginners
Kasuta, kui kasutaja palub luua, üles ehitada või redigeerida Jupyteri märkmikke (.ipynb) katsetuste, uurimiste või juhendite jaoks; eelista kaasasolevaid malle ja käivita abiskript newnotebook.py…
microsoft/ai-agents-for-beginners
Käytetään, kun käyttäjä pyytää luomaan, alustamaan tai muokkaamaan Jupyter-muistikirjoja (.ipynb) kokeita, tutkimuksia tai opetusohjelmia varten; käytä mieluummin mukana olevia mallipohjia ja…
microsoft/ai-agents-for-beginners
À utiliser lorsque l'utilisateur demande de créer, structurer ou modifier des notebooks Jupyter (.ipynb) pour des expériences, explorations ou tutoriels ; privilégiez les modèles fournis et exécutez…
Categories
Ilipat ang mga Python app mula sa Azure OpenAI Chat Completions papuntang Responses API. Azure Openai To Responses is an agent skill from microsoft/ai-agents-for-beginners, published by the product's own GitHub organization. Ilipat ang mga Python app mula sa Azure OpenAI Chat Completions papuntang Responses API.
Azure Openai To Responses fits situations like: tasks that involve LLM API integration; tasks that involve Structured output and tool calling.
Run `npx skills add microsoft/ai-agents-for-beginners --skill azure-openai-to-responses -a claude-code`. Or copy the skill folder (translations/tl/.agents/skills/azure-openai-to-responses in microsoft/ai-agents-for-beginners) into .claude/skills/azure-openai-to-responses in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/ai-agents-for-beginners --skill azure-openai-to-responses -a codex`. Or copy the skill folder (translations/tl/.agents/skills/azure-openai-to-responses in microsoft/ai-agents-for-beginners) into .agents/skills/azure-openai-to-responses in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/ai-agents-for-beginners --skill azure-openai-to-responses -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/azure-openai-to-responses, .gemini/skills/azure-openai-to-responses, .github/skills/azure-openai-to-responses and .opencode/skills/azure-openai-to-responses in your project.
Going by SKILL.md and its folder, Azure Openai To Responses needs the command-line tools its instructions call (rg, python and git) and credentials named AZURE_OPENAI_API_KEY. Our summary lists: Python 3; A credential in AZURE_OPENAI_API_KEY.
SKILL.md names 6 domains. In commands or code: cdn.jsdelivr.net; the agent is likely to contact it when it follows the instructions. As links in the text: learn.microsoft.com, aka.ms, npmjs.com, platform.openai.com and github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Azure Openai To Responses is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 7k tokens (SKILL.md is roughly 28k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Azure Openai To Responses: Gemini API Dev (google-gemini/gemini-skills, 4.3k stars), Gemini API Dev (Ayuilos/Miffan, 225 stars), Tool Design (agentailor/fullstack-langgraph-nextjs-agent, 132 stars) and Azure AI Projects Python SDK (microsoft/skills, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
microsoft (a GitHub organization, an official publisher) maintains it in microsoft/ai-agents-for-beginners, which has 76,795 GitHub stars. The repository holds 122 skills in this directory. The repository was last updated on October 9, 2026.
Source: microsoft/ai-agents-for-beginners on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.