Skip to content

docs: add DaoXE OpenAI-compatible gateway integration - #2436

Closed
seven7763 wants to merge 3 commits into
567-labs:mainfrom
seven7763:docs/add-daoxe-integration
Closed

docs: add DaoXE OpenAI-compatible gateway integration#2436
seven7763 wants to merge 3 commits into
567-labs:mainfrom
seven7763:docs/add-daoxe-integration

Conversation

@seven7763

Copy link
Copy Markdown
Contributor

Summary

  • Adds docs/integrations/daoxe.md for using Instructor with DaoXE via OpenAI-compatible Chat Completions (https://daoxe.com/v1).
  • Links DaoXE under the Routing section of the integrations index.

Account-scoped model IDs only; multi-protocol context; no static public price table.

I maintain DaoXE. Examples: https://github.com/seven7763/DaoXE-AI

seven7763 and others added 3 commits July 13, 2026 22:37
Signed-off-by: seven7763 <seven7763@users.noreply.github.com>
Signed-off-by: seven7763 <seven7763@users.noreply.github.com>
@seven7763

Copy link
Copy Markdown
Contributor Author

Friendly ping in case this fell off the radar — small docs-only addition showing how to point the OpenAI client at an OpenAI-compatible gateway via base_url (DaoXE as one concrete example, pattern is vendor-neutral). Happy to adjust wording if you'd prefer a different example set.

jxnl added a commit that referenced this pull request Aug 3, 2026
## Summary

- accumulate declared, nested, and unknown numeric OpenAI/Anthropic
usage fields across retries while preserving non-numeric metadata
- add corrective feedback when a Responses API retry receives no tool
call
- preserve raw iterable type hints through sync and async v2
parallel-tool wrappers
- strengthen API-key-free coverage for current and future SDK usage
counters

## Consolidated and superseded items

- closes #2493
- consolidates contributor work from #2498, #2500, and #2501 with
original commit authorship preserved
- supersedes #2497 because it drops unknown `model_extra` counters
- supersedes #2499 because its hand-maintained provider field lists
would drift as SDKs evolve

## Validation

- focused changed-surface suite: `110 passed`
- broad offline v2/coverage suite: `2368 passed, 91 skipped, 73
deselected`
- Ruff check and format check: passed
- scoped `ty check`: passed
- `uv lock --check`: passed
- pre-commit hooks and `git diff --check`: passed

The 73 deselected tests require live provider credentials. An unfiltered
local run confirmed its 22 failures were provider network connections in
the restricted environment; GitHub provider jobs remain the
authoritative validation for those paths.

## Intentionally skipped

- provider additions or expansions: #2436, #2435, #2423, #2409, #2384,
#2322, #2306, #2298, #2283, #2168, #2086; issues #2408, #2383, #2365,
#2260, #2084, #2076
- broad architecture, product, security, or streaming decisions: #2394,
#2392, #2357, #2356, #2355, #2351, #2321, #2307, #2287, #2263; issues
#2479, #2403, #2393, #2391, #2316, #2272, #2056
- dependency batch: #2433
- nontrivial examples and editorial/resource additions: #2468, #2405,
#2401, #2354, #2346, #2311, #2305; issue #2404

These remain open because they need dedicated product, architecture,
provider, security, dependency, or editorial review and are not required
for the `1.15.5` patch release.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Changes retry usage totals and reask message content on failure paths;
scope is limited and heavily covered by tests, with no auth or
data-store changes.
> 
> **Overview**
> Bundles three v2 retry and wrapper fixes for a patch release.
> 
> **Retry usage accounting** replaces hand-maintained token field sums
with generic `_accumulate_models` on Pydantic usage objects. Numeric
fields (including nested models and `model_extra` counters) add across
retries; booleans and other non-numeric metadata are not treated as
billable. OpenAI and Anthropic paths share this logic.
> 
> **OpenAI Responses reask** appends a user correction when
`RESPONSES_TOOLS` validation fails but the output has no tool calls
(e.g. reasoning-only), so retries include feedback instead of repeating
the same request.
> 
> **Parallel tools** in `patch_v2` skips `prepare_response_model` and
does not replace `response_model` with the handler’s prepared wrapper
for parallel modes, keeping raw `Iterable[...]` hints so schemas and
parsed results include every member type.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
bbddca1. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
jxnl added a commit that referenced this pull request Aug 3, 2026
## Summary

- update the wheel/sdist repository metadata from the former
`instructor-ai` organization to `567-labs/instructor`
- make release preparation reject stale repository metadata before
artifacts are built or published
- include the compact OpenAI-compatible multi-model gateway `base_url`
example from #2504 while preserving contributor authorship
- document the package metadata correction in the `1.15.5` notes

The package metadata defect was found by inspecting the exact wheel
produced by the non-publishing readiness run after #2503 merged.

## Included / superseded

- includes #2504 as the canonical compact docs update
- supersedes the broader DaoXE-specific docs PR #2436 with the generic
eight-line example

Both source commits remain separately attributed on this branch.

## Validation

- release validator tests: 6 passed
- Ruff check and format: passed
- scoped test type check: passed
- release metadata validation for `1.15.5`: passed
- `uv lock --check`: passed
- pre-commit hooks: passed
- wheel and sdist build: passed
- Twine metadata checks: passed
- built wheel reports `Project-URL: repository,
https://github.com/567-labs/instructor`
- DaoXE `api.daoxe.com/v1/models` and `daoxe.com/v1/models` endpoints
both return the expected authenticated API response
- `git diff --check`: passed

## Skipped

- no runtime/provider implementation changes
- no dependency changes
- no tag, release, PyPI publication, or social post

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Metadata, release script, docs, and tests only—no library runtime or
dependency changes.
> 
> **Overview**
> Updates **published package metadata** so `project.urls.repository`
points at `567-labs/instructor` instead of the old `instructor-ai` org,
and records that fix in the **1.15.5** changelog.
> 
> **Release preparation** now reads that URL from `pyproject.toml` and
fails fast with a repository URL mismatch if it still points at the
wrong GitHub org, with a test covering the stale-URL case.
> 
> **Docs** add a short `from_provider` example for OpenAI-compatible
gateways using `base_url` and a gateway API key (DaoXE as the sample
endpoint).
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
5ff8c87. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@jxnl

jxnl commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Superseded by the compact generic gateway example from #2504, which was consolidated and merged in #2505. The supported from_provider(..., base_url=...) pattern is now documented without adding a separate vendor-specific integration page, so this older broader patch is closed as a duplicate.

@jxnl jxnl closed this Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants