Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timeline for beta or stable release? #71

Closed
HaraldNordgren opened this issue Sep 30, 2024 · 14 comments
Closed

Timeline for beta or stable release? #71

HaraldNordgren opened this issue Sep 30, 2024 · 14 comments

Comments

@HaraldNordgren
Copy link

We are currently using https://github.com/sashabaranov/go-openai, but considering switching to this. But I'm worried that it is still in alpha.

Is there a timeline for beta or stable release?

@jacobzim-stl
Copy link
Collaborator

jacobzim-stl commented Oct 10, 2024

Hi, we appreciate the excitement. We will be shifting toward beta very soon! I'll keep this thread updated when more information is clear.

@captain-corgi
Copy link

Alpha testing now
Nice work!

@qhenkart
Copy link

qhenkart commented Jan 2, 2025

Any update on this? The official announcement said that the Go SDK is currently available in Beta, yet the repo is still in Alpha. We are excited to start migrating, but wondering where to put this in our own development timeline
https://openai.com/index/o1-and-new-tools-for-developers/

@jacobzim-stl
Copy link
Collaborator

jacobzim-stl commented Jan 2, 2025

Hi all, we appreciate your patience.

The current SDK is design is undergoing limited development. A breaking version will come out later this month featuring improved ergonomics for param and response structs.

This will involve a few breaking changes, but it shouldn't take long to migrate and a full guide will be posted. I'll share a rough overview to give a sense of the updates (may be subject to change).

  1. openai.F(...) will no longer be necessary in parameters

    • Migration should only require deleting code, no need to rewrite
  2. Response structs will be indistinct from parameter structs, allowing ergonomic re-use of response data in parameters for following API calls.

    • Accesses to response fields will need to be updated
  3. Access to raw response JSON, checks for null and omitted JSON fields, and overloading parameters with arbitrary JSON will also require small updates, but all functionality will remain.

In the meantime, we still recommend using the library. If you update your IDE to the latest gopls, in which we improved polymorphic type inference, it makes the openai.F(...) pattern significantly more user-friendly.

@qhenkart
Copy link

qhenkart commented Jan 4, 2025

@jacobzim-stl thank you for the quick response. We will wait for this next update and then migrate over. Any specific release tags to look for?

@makinghappen
Copy link

how does openai/openai-go compare to https://github.com/sashabaranov/go-openai/ implementation?

@hi-pender
Copy link

@jacobzim-stl sorry to bother you, is there any update on the beta version timeline?

@qhenkart
Copy link

@jacobzim-stl also wondering if the version mentioned here has been released yet. My team has been waiting for this to migrate

The current SDK is design is undergoing limited development. A breaking version will come out later this month featuring improved ergonomics for param and response structs.

@a67793581
Copy link

@jacobzim-stl also wondering if the version mentioned here has been released yet. My team has been waiting for this to migrate

@jacobzim-stl
Copy link
Collaborator

jacobzim-stl commented Mar 17, 2025

We'll be going live early this week! We appreciate your patience.

@jacobzim-stl
Copy link
Collaborator

jacobzim-stl commented Mar 21, 2025

The new design is out now, we'd be grateful for any feedback as you migrate.

We're particularly interested in improving:

  • The migration guide & README
  • The discoverability of the getter helpers for request unions
  • Any documentation areas that could use improvement

Some features actively in development are:

  • Discriminators in flattened response unions will become a named type.
  • Narrowing the any return type of union's .AsAny() methods when all variants are structs
  • Support for unmarshalling into request types.

Thanks everyone for your patience!

@wangxj03
Copy link

I'm glad the migration guide includes a footnote clarifying the required Go version. At first, the README had me worried—I thought I'd need to upgrade to Go 1.24.

The SDK doesn't require Go 1.24, despite supporting the omitzero feature

@a67793581
Copy link

The new design is out now, we'd be grateful for any feedback as you migrate.

We're particularly interested in improving:

  • The migration guide & README
  • The discoverability of the getter helpers for request unions
  • Any documentation areas that could use improvement

Some features actively in development are:

  • Discriminators in flattened union will become a named type.
  • Narrowing the any return type of .AsAny() functions when all types are structs
  • Support for unmarshalling into request types.

Thanks everyone for your patience!
Is it the stable version? Can I start the migration now?

@jacobzim-stl
Copy link
Collaborator

Just another update, we're aiming to finish beta with a stable API around the end of March, I'm going to close this issue for now.

We don't anticipate any breaking changes of similar magnitude as the shift from alpha to beta. However, minor changes such as renaming helper functions, and some type narrowing may occur (particularly for any types).

There are a few features we're going to release soon after the API stabilizes, primarily that param structs will all implement json.Unmarshaler.

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

No branches or pull requests

8 participants