ClojureはOpenai APIとAzure Openai APIを駆動する機能
この非公式ライブラリは、2つのAPIの間の小さな違いを隠すことを目的としているため、両方のバリアントで動作できるツールとアプリケーションを開発できます。
| Openai | Azure Openai | |
|---|---|---|
| バージョン | v2.3.0 | V2024-06-01 |
| チャット | x | x |
| オーディオ | x | x |
| 完了 | x | x |
| 埋め込み | x | x |
| モデル | x | |
| 画像 | x | x |
| ファイル | x | |
| 微調整 | x | |
| モデレーション | x | |
| アシスタント | (ベータ) | |
| スレッド | (ベータ) | |
| メッセージ | (ベータ) | |
| 実行 | (ベータ) | |
| ベクトルストア | (ベータ) |
openai-clojure依存関係を追加します
net.clojars.wkok/openai-clojure {:mvn/version "0.22.0"}
[net.clojars.wkok/openai-clojure "0.22.0"]
最小Java 11が必要です
環境変数OPENAI_API_KEY OpenAI APIキーに設定します。
(APIキーに合格する代替オプションについては、オプションを参照してください)
APIキーはOpenAIアカウントで生成できます
オプション- OpenAIアカウントが複数の組織を使用している場合は、環境変数OPENAI_ORGANIZATIONアプリに使用した組織に設定します。
参照:認証-Azure Openai
サポートされているすべてのOpenAI APIの例については、完全なAPIリファレンスを参照してください。
apiネームスペースが必要です
(:require [wkok.openai-clojure.api :as api])
OpenaiのChatGptとの簡単なチャット会話は次のとおりです。
( api/create-chat-completion { :model " gpt-3.5-turbo "
:messages [{ :role " system " :content " You are a helpful assistant. " }
{ :role " user " :content " Who won the world series in 2020? " }
{ :role " assistant " :content " The Los Angeles Dodgers won the World Series in 2020. " }
{ :role " user " :content " Where was it played? " }]})結果:
{ :id " chatcmpl-6srOKLabYTpTRwRUQxjkcBxw3uf1H " ,
:object " chat.completion " ,
:created 1678532968 ,
:model " gpt-3.5-turbo-0301 " ,
:usage { :prompt_tokens 56 , :completion_tokens 19 , :total_tokens 75 },
:choices
[{ :message
{ :role " assistant " ,
:content
" The 2020 World Series was played at Globe Life Field in Arlington, Texas. " },
:finish_reason " stop " ,
:index 0 }]}GitHubで問題を提起するか、プルリクエストを送信してください
このライブラリは、HTTP抽象化ライブラリであるMartianを使用しています
これは非公式のライブラリであり、Openaiに所属しておらず、承認されていません
MITライセンス
Copyright(c)2023 Werner Kok
このソフトウェアと関連するドキュメントファイル(「ソフトウェア」)のコピーを入手して、制限なしにソフトウェアを扱うために、このソフトウェアを制限する権利を含め、ソフトウェアのコピーをコピー、変更、公開、配布、販売する、ソフトウェアのコピーを許可する人を許可する人を許可することを含めて、許可が無料で許可されます。
上記の著作権通知とこの許可通知は、ソフトウェアのすべてのコピーまたはかなりの部分に含まれるものとします。
このソフトウェアは、商品性、特定の目的への適合性、および非侵害の保証を含むがこれらに限定されない、明示的または黙示的なものを保証することなく、「現状のまま」提供されます。いかなる場合でも、著者または著作権所有者は、契約、不法行為、またはその他の訴訟、ソフトウェアまたはソフトウェアの使用またはその他の取引に関連する、またはその他の契約、またはその他の請求、またはその他の責任について責任を負いません。