You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* full feature flag
* github action full feature flag
* fix docs warnings
* expanded types for docs.rs
* types docs
* updated README
* add docs on scope
* add CONTRIBUTING.md
* 🎉
* updated readm
* doc comment
* updated lib.rs for docs.rs
* updated doc tests in lib.rs
* cleanup
* update feature flags
* borrow-instead-of-move example
* updated example
* References in README
* Using References
* simplify cargo.toml
* dependency version to allow patch or minor updates
* allow minor or patch updates in example dependencies
* add language to code blocks in README for syntax colors
* unittests: add missing feature flags in all mod tests {}
* fix feature flags required for tests
* update embedding tests to use latest small model
* fix ser_de test
* fix vector_store_files tests
* fix assistants examples to include required beta header
* fix example responses-images-and-vision
* fix responses-structured-outputs example
* fix for video-types
Thank you for taking the time to contribute and improve the project. I'd be happy to have you!
4
+
5
+
All forms of contributions, such as new features requests, bug fixes, issues, documentation, testing, comments, [examples](https://github.com/64bit/async-openai/tree/main/examples) etc. are welcome.
6
+
7
+
A good starting point would be to look at existing [open issues](https://github.com/64bit/async-openai/issues).
8
+
9
+
To maintain quality of the project, a minimum of the following is a must for code contribution:
10
+
11
+
-**Names & Documentation**: All struct names, field names and doc comments are from OpenAPI spec. Nested objects in spec without names leaves room for making appropriate name.
12
+
-**Tested**: For changes supporting test(s) and/or example is required. Existing examples, doc tests, unit tests, and integration tests should be made to work with the changes if applicable.
13
+
-**Scope**: Keep scope limited to APIs available in official documents such as [API Reference](https://platform.openai.com/docs/api-reference) or [OpenAPI spec](https://github.com/openai/openai-openapi/). Other LLMs or AI Providers offer OpenAI-compatible APIs, yet they may not always have full parity - for those use `byot` feature.
14
+
-**Consistency**: Keep code style consistent across all the "APIs" that library exposes; it creates a great developer experience.
15
+
16
+
This project adheres to [Rust Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct)
17
+
18
+
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in async-openai by you, shall be licensed as MIT, without any additional terms or conditions.
Visit [examples/borrow-instead-of-move](https://github.com/64bit/async-openai/tree/main/examples/borrow-instead-of-move) to learn more.
164
+
165
+
153
166
## Rust Types
154
167
155
-
To only use Rust types from the crate - use feature flag `types`.
168
+
To only use Rust types from the crate - disable default features and use feature flag `types`.
156
169
157
170
There are granular feature flags like `response-types`, `chat-completion-types`, etc.
158
171
172
+
These granular types are enabled when the corresponding API feature is enabled - for example `response` will enable `response-types`.
173
+
174
+
## Configurable Requests
175
+
176
+
### Individual Request
177
+
Certain individual APIs that need additional query or header parameters - these can be provided by chaining `.query()`, `.header()`, `.headers()` on the API group.
178
+
179
+
For example:
180
+
```rust
181
+
client.
182
+
.chat()
183
+
// query can be a struct or a map too.
184
+
.query(&[("limit", "10")])?
185
+
// header for demo
186
+
.header("key", "value")?
187
+
.list()
188
+
.await?
189
+
```
190
+
191
+
### All Requests
192
+
193
+
Use `Config`, `OpenAIConfig` etc. for configuring url, headers or query parameters globally for all requests.
194
+
159
195
## OpenAI-compatible Providers
160
196
161
-
### Configurable Request
197
+
Even though the scope of the crate is official OpenAI APIs, it is very configurable to work with compatible providers.
198
+
199
+
### Configurable Path
162
200
163
-
To change path, query or headers of individual request use the `.path()`, `.query()`, `.header()`, `.headers()` method on the API group.
201
+
In addition to `.query()`, `.header()`, `.headers()` a path for individual request can be changed by using `.path()`, method on the API group.
Thank you for taking the time to contribute and improve the project. I'd be happy to have you!
204
-
205
-
All forms of contributions, such as new features requests, bug fixes, issues, documentation, testing, comments, [examples](https://github.com/64bit/async-openai/tree/main/examples) etc. are welcome.
206
-
207
-
A good starting point would be to look at existing [open issues](https://github.com/64bit/async-openai/issues).
208
-
209
-
To maintain quality of the project, a minimum of the following is a must for code contribution:
210
-
211
-
-**Names & Documentation**: All struct names, field names and doc comments are from OpenAPI spec. Nested objects in spec without names leaves room for making appropriate name.
212
-
-**Tested**: For changes supporting test(s) and/or example is required. Existing examples, doc tests, unit tests, and integration tests should be made to work with the changes if applicable.
213
-
-**Scope**: Keep scope limited to APIs available in official documents such as [API Reference](https://platform.openai.com/docs/api-reference) or [OpenAPI spec](https://github.com/openai/openai-openapi/). Other LLMs or AI Providers offer OpenAI-compatible APIs, yet they may not always have full parity - for those use `byot` feature.
214
-
-**Consistency**: Keep code style consistent across all the "APIs" that library exposes; it creates a great developer experience.
239
+
🎉 Thank you for taking the time to contribute and improve the project. I'd be happy to have you!
215
240
216
-
This project adheres to [Rust Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct)
241
+
Please see [contributing guide!](https://github.com/64bit/async-openai/blob/main/CONTRIBUTING.md)
217
242
218
-
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in async-openai by you, shall be licensed as MIT, without any additional terms or conditions.
0 commit comments