以前、このブログでは
OpenAI API を社内で使うためのフロントとして
・Dify
・OpenWebUI
を試した話を書きました。
このあたりの流れは、以下の記事にもまとめています。

ただ、実はその前にもう少し試行錯誤していた時期があります。
まだ ChatGPT が世の中で騒がれ始めたばかりの頃です。
とりあえず面白そうだったので OpenAI API を契約してみたのですが、そこで最初にぶつかったのが「どうやって社内で使わせるか」という問題でした。
とりあえず API は契約した。でもどう使う?
API 自体はすぐ使えます。
curl でも叩けるし、簡単なスクリプトでも動きます。
ただ、それだとエンジニアしか触れません。
せっかくなので
「社内の人が普通にチャットみたいに使える形にできないかな」
と思い始めました。
一番最初に考えたのは、社内の Web サイトに簡単なチャット画面を作る方法です。
フロントに入力欄を置いて、
バックエンドで OpenAI API を呼ぶ。
仕組みとしてはシンプルです。
ただ、実際に考え始めると、すぐに壁にぶつかりました。
API は「ユーザー」という概念を持っていない
当たり前といえば当たり前なんですが、OpenAI API にはユーザー管理という概念がありません。
つまり、
Aさんの会話
Bさんの会話
を区別してくれないんです。
単純に API に投げたテキストに対して答えが返ってくるだけ。
これだと何が起きるかというと、
・誰が使っているか分からない
・会話の履歴が残らない
・前の質問を踏まえた回答ができない
という状態になります。
ChatGPT を普段使っている感覚だと、
「前の質問を踏まえて会話が続く」
のが普通ですが、API ではそれを自分で管理しないといけません。
つまり、
・ユーザー識別
・会話履歴の保存
・何ターン分の会話を送るか
全部こちらで考える必要がありました。
この時点で「意外と面倒だな…」と思い始めました。
調べていたら n8n というものを見つけた
どうしたものかと思って、色々調べていたときに偶然見つけたのが
n8n でした。
最初は正直よく分かりませんでした。
画面を見ると、ノードが並んでいて、
それを線でつないで処理を作っていく。
いわゆるワークフロー型のツールです。
ただ、少し触ってみると
・ユーザー識別をノードで持たせる
・会話履歴をデータとして保存
・何回分の履歴を送るか制御
みたいなことが、思ったより簡単に組めそうでした。
コードをガリガリ書くというより、
処理の流れを組み立てていく感じです。
「これなら、とりあえず試せそうだな」
というのが正直な第一印象でした。
とりあえず VPS を1台立てた
その頃、ちょうど検証用の VPS をいくつか触っていたので
とりあえず環境を作ることにしました。
このとき使ったのが
WebARENA Indigo VPS の
2vCPU / 2GB メモリのプランです。
特別な理由があったわけではなく、
・とりあえず安い
・検証用にちょうどいい
というくらいの感覚でした。
この VPS に n8n を入れて、
まずは
・API を叩く
・ユーザー識別をつける
・履歴を少し残す
というところから試し始めました。
正直、この時点では
「業務で使うかどうか」までは全く考えていませんでした。
あくまで
「これ、どうやったら動くんだろう」
という好奇心です。
結局、そのあと別の構成に落ち着いた
その後、色々触っているうちに
・Dify
・OpenWebUI
など、AI フロントとして作られたツールも出てきました。
結果として、
今の環境はそちらに寄せた構成になっています。
ただ、今振り返ると
最初に n8n を触ったことで
「API を業務でどう使うか」
というイメージはかなり具体的になりました。
まとめ(当時の正直な感覚)
ChatGPT が流行り始めた頃、
とりあえず API を契約してみたものの、
「どうやって社内で使わせるか」
が一番の壁でした。
その中で偶然見つけたのが n8n です。
最終的にメインの構成は別のツールに落ち着きましたが、
・ユーザー識別
・会話履歴管理
・API ワークフロー
といった考え方を整理するきっかけになったのは、
このツールを触ったのが最初でした。
この環境の構成まとめ

次の記事



