https://github.com/JuliaML/OpenAI.jl
OpenAI API wrapper for Julia
https://github.com/JuliaML/OpenAI.jl
api-wrapper julia openai-api wrapper
Last synced: 4 months ago
JSON representation
OpenAI API wrapper for Julia
- Host: GitHub
- URL: https://github.com/JuliaML/OpenAI.jl
- Owner: JuliaML
- License: mit
- Created: 2022-04-21T22:22:15.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-29T17:42:45.000Z (8 months ago)
- Last Synced: 2025-03-21T00:14:11.580Z (4 months ago)
- Topics: api-wrapper, julia, openai-api, wrapper
- Language: Julia
- Homepage: https://juliaml.github.io/OpenAI.jl/dev/
- Size: 459 KB
- Stars: 99
- Watchers: 6
- Forks: 22
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-generative-ai-meets-julia-language - OpenAI.jl - A community-maintained Julia wrapper to the OpenAI API. (API SDKs / Model Providers)
README
# OpenAI API wrapper for Julia (Unofficial)
[](https://juliaml.github.io/OpenAI.jl/stable/)
[](https://juliaml.github.io/OpenAI.jl/dev/)## Overview
Provides a community maintained Julia wrapper to the OpenAI API.
For API functionality see [reference documentation](https://platform.openai.com/docs/api-reference).
Autogenerated documentation can be found here: https://juliaml.github.io/OpenAI.jl/dev/## Usage
```julia
using Pkg; Pkg.add("OpenAI")
```## Quick Start
1. Create an [OpenAI account](https://chat.openai.com/auth/login), if you don't already have one
2. Create a [secret API key](https://platform.openai.com/account/api-keys)
3. Choose a [model](https://platform.openai.com/docs/models) to interact with
__⚠️ We strongly suggest setting up your API key as an ENV variable__.
```julia
secret_key = ENV["OPENAI_API_KEY"]
model = "gpt-4o-mini"
prompt = "Say \"this is a test\""r = create_chat(
secret_key,
model,
[Dict("role" => "user", "content"=> prompt)]
)
println(r.response[:choices][begin][:message][:content])
```
returns
```julia
"This is a test."
```### Overriding default parameters
If you have a non-standard setup, such as a local LLM or third-party service that
conforms to the OpenAI interface, you can override parameters using the `OpenAIProvider`
struct in your application like this:```julia
using OpenAI
provider = OpenAI.OpenAIProvider(
api_key=ENV["OPENAI_API_KEY"],
base_url=ENV["OPENAI_BASE_URL_OVERRIDE"]
)
response = create_chat(
provider,
"gpt-4o-mini",
[Dict("role" => "user", "content" => "Write some ancient Greek poetry")]
)
```For more use cases [see tests](https://github.com/JuliaML/OpenAI.jl/tree/main/test).
## Feature requests
Feel free to open a PR, or file an issue if that's out of reach!