Awesome
Noizu.OpenAI
Noizu.OpenAI is an Elixir wrapper for the OpenAI API. It provides a simple and convenient way to interact with OpenAI's powerful AI models for tasks like text generation, completion, translation, image generation, and more.
Installation
To install Noizu.OpenAI, add the following to your mix.exs
file:
defp deps do
[
{:noizu_labs_open_ai, "~> 0.1.0"}
]
end
Then, run mix deps.get
to fetch the dependencies.
Configuration
To configure the Noizu.OpenAI, add the following to your config.exs
or the appropriate environment-specific config file:
config :noizu_openai,
openai_api_key: "your_openai_api_key",
openai_org: "your_openai_organization_id" # Optional
Replace "your_openai_api_key"
with your actual OpenAI API key, and "your_openai_organization_id"
with your OpenAI organization ID if applicable.
Usage
Noizu.OpenAI provides modules for different OpenAI API endpoints:
- Noizu.OpenAI.Api.Audio
- Noizu.OpenAI.Api.Chat
- Noizu.OpenAI.Api.Completion
- Noizu.OpenAI.Api.Edit
- Noizu.OpenAI.Api.Embedding
- Noizu.OpenAI.Api.Engine
- Noizu.OpenAI.Api.File
- Noizu.OpenAI.Api.FineTune *deprecated
- Noizu.OpenAI.Api.Image
- Noizu.OpenAI.Api.Model
- Noizu.OpenAI.Api.Thread
- Noizu.OpenAI.Api.Assistant
- Noizu.OpenAI.Api.FineTuning
Each module corresponds to a specific functionality provided by the OpenAI API. You can use the functions in these modules to interact with the respective API endpoints.
Here's an example of using the Noizu.OpenAI.Api.Chat
module to generate a chatbot response:
alias Noizu.OpenAI.Api.Chat
messages = [
%{"role" => "system", "content" => "You are a helpful assistant."},
%{"role" => "user", "content" => "Who won the world series in 2020?"},
]
{:ok, response} = Chat.chat(messages)
Refer to the documentation for each module to learn about the available functions and their usage.
Documentation
You can generate the documentation for this project using ExDoc. Run mix docs
and open the doc/index.html
file in your browser.
Tests
To run the tests for this project, use the command mix test
.
Contributing
If you'd like to contribute to the development of Noizu.OpenAI, please submit a pull request with your changes or open an issue to discuss your proposed changes.
License
Noizu.OpenAI is released under the MIT License.