/elixir-openai

Elixir OpenAi Client

Primary LanguageElixirMIT LicenseMIT

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:

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.