OpenaiEx 、コミュニティに維持されたOpenAI APIクライアントを提供するElixirライブラリです。
このプロジェクトの一部は、ChatGPT 3.5および4の支援と、Claude 3 OpusおよびClaude 3.5 Sonnetの支援を受けて開発されました。ただし、コードのすべての行は人間がキュレーションされています(私によって?)。
すべてのAPIエンドポイントと機能(2024年5月1日現在)がサポートされています。これには、実行ランストリーミング、Dall-E-3、テキストツースピーチ、チャット完了時のツールサポート、およびチャット完了エンドポイントのストリーミングバージョンなど、すべてのAPIベータ2がサポートされています。ストリーミングリクエストのキャンセルもサポートされています。
FinchプールとAPIベースURLの構成がサポートされています。
他のElixir Openaiラッパーと比較して、いくつかの違いがあります。
ディスカッションと発表は、Elixirフォーラムのこのスレッドにあります
インストールの手順と詳細な使用例については、HexDocsのユーザーガイドをご覧ください。このガイドはライブブックであり、新しいプロジェクトを作成せずにすべてのコードを実行できます。実際には、すべてのAPIコールには、ユーザーガイドに実行されている例があります。
ライブブックの例もあります
これらはHexdocsでホストされており、独自のプロジェクトのインスピレーション /スターターとして使用できます。
次のセクションは、このリポジトリに貢献したい開発者向けです。
このライブラリは、VSコードDevContainer内で実行されるLiveBook Docker画像を使用して開発されました。 .devcontainerフォルダーには、関連するすべてのファイルが含まれています。
開始するには、リポジトリをローカルマシンにクローンし、VSコードで開きます。プロンプトに従ってコンテナで開く。
コンテナがVSコードで稼働している後、http:// localhost:8080でLivebookにアクセスできます。ただし、環境変数LIVEBOOK_PASSWORDに保存されているパスワードを入力する必要があります。この変数は、以下で説明する.devcontainer/.envファイルで定義する必要があります。
DevContainer開発の環境変数を設定するには、 .devcontainerフォルダーに.envファイルを作成できます。 OPENAI_API_KEYやLIVEBOOK_PASSWORDなどの秘密は、このファイルで環境変数として定義できます。この.envファイルはバージョンコントロールに含めるべきではなく、このために.gitignoreファイルに既に含まれていることに注意してください。
同じフォルダーにサンプルenvファイルを見つけることができます。これは、独自の.envファイルのテンプレートとして使用できます。これらの変数はdocker-compose.ymlを介してライブブックに渡されます。