今回は GPT クローンの「LibreChat」でファイル添付、コード実行(Code Interpreter)をできるようにする。
最新の LibreChat で環境構築している人は特に設定せず利用できるはずだが、もしかしたら自分のように以前環境構築してそのままという人は「OpenAI だとファイルを添付できない」「Assistant Builder でアシスタントが保存できない」といった問題があるかもしれない。特に「LibreChat で Command R+ を使えるようにする」の記事を見て環境構築した人は対象となる。
今回はこの「添付ファイルの問題」と「Assistant Builder の問題」を解決する。
OpenAI でファイルが添付できない問題
OpenAI を選択したときだけ添付ファイルのアイコンが表示されないことがある。
原因は、設定ファイルであるlibrechat.yaml
で設定がオフになっていたからだった。
下記のようにlibrechat.yaml
内のfileConfig
をコメントアウトすれば OK。
version: 1.0.5 cache: true + # fileStrategy: "firebase" # If using Firebase CDN + # fileConfig: + # endpoints: + # assistants: + # fileLimit: 5 + # # Maximum size for an individual file in MB + # fileSizeLimit: 10 + # # Maximum total size for all files in a single request in MB + # totalSizeLimit: 50 + # # In case you wish to limit certain filetypes + # # supportedMimeTypes: + # # - "image/.*" + # # - "application/pdf" + # openAI: + # # Disables file uploading to the OpenAI endpoint + # disabled: true + # default: + # totalSizeLimit: 20 + # # Example for custom endpoints + # # YourCustomEndpointName: + # # fileLimit: 2 + # # fileSizeLimit: 5 + # # Global server file size limit in MB + # serverFileSizeLimit: 100 + # # Limit for user avatar image size in MB, default: 2 MB + # avatarSizeLimit: 4
昔の librechat.yaml.example
ではデフォルトでopenAI がdisabled: true
になっていたため、表示されなくなっていた。最新の LibreChat のlibrechat.yaml.example
では、デフォルトでここがコメントアウトされているため問題ない。
再度docker-compose up --build
で立ち上げ直すと、表示されるようになる。
コード実行(Code Interpreter)できるようにする
LibreChat でコード実行(Code Interpreter)をするには、Assistant Builder を利用する。Assistant Builder とは、OpenAI のAssistants APIを利用するもので、Python によるコード実行やファイル検索、関数呼び出しが可能となる。これにより CSV を解析してグラフにしたり、PDF を読み込んで要約などができるようになる。
まず、.env
に下記を追記する
ASSISTANTS_API_KEY=xxxxxxxxxxxxxx
KEY は OpenAI の API キーと同じで OK。
続いてlibrechat.yaml
のassistants
の項目をコメントアウト。すでにコメントアウトされている人は何もしなくて OK。
endpoints: + # assistants: + # # Disable Assistants Builder Interface by setting to `true` + # disableBuilder: false + # # Polling interval for checking assistant updates + # pollIntervalMs: 750 + # # Timeout for assistant operations + # timeoutMs: 180000 + # # Should only be one or the other, either `supportedIds` or `excludedIds` + # supportedIds: ["asst_supportedAssistantId1", "asst_supportedAssistantId2"]
準備完了。docker-compose up --build
で立ち上げ直すと、Assistant が選択できるようになっている。
Assistant を選択すると右サイドバーに Assistant Builder が表示されるので、ここでアシスタントを作成する。
名前をつけて、モデルを選択後、Code Interpreter
にチェックをし、保存ボタンをクリック。
※モデルの選択時にgpt-4o
が表示されない場合、.env
に下記を追加しよう。
ASSISTANTS_API_KEY=xxxxxxxxxxxxxx
+ ASSISTANTS_MODELS=gpt-4o,gpt-3.5-turbo-0125,gpt-3.5-turbo-16k-0613,gpt-3.5-turbo-16k,gpt-3.5-turbo,gpt-4,gpt-4-0314,gpt-4-32k-0314,gpt-4-0613,gpt-3.5-turbo-0613,gpt-3.5-turbo-1106,gpt-4-0125-preview,gpt-4-turbo-preview,gpt-4-1106-preview
.env
に上記を追記した後、docker-compose up -d
で起動し直すと、gpt-4o
が選択できるようになっているはず。
アシスタントの保存が成功すると、作成したアシスタントが選択できるようになるので選択する。
アシスタント選択後、ファイルを添付してチャットしてみよう。Code Interpreter が実行されるはず!
ちなみにここで作成したアシスタントはOpenAI > ダッシュボード > Assistantで確認が可能。
また、Assistant API の料金体系はgpt-4o
とは異なるので注意したい。
終わりに
今回の設定で LibreChat でファイル添付、コード実行(Code Interpreter)ができるようになりました。
LibreChat はデモサイトもあるので、「あれ、これ LibreChat ではできないのかな?」と思ったら一度こちらで確認してみると良いかもしれません。
デモサイトではできるのに自分の環境ではできないということは、自分の設定ファイルになにか問題がある可能性が高いです。
また、LibreChat のChangeLogではアップデートの内容がわかりやすく記載してあるので、チェックしてみると楽しいです。