0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ローカルで動く【わたし専用チャットAI】アプリを作ってみた

Last updated at Posted at 2025-05-02

はじめに

ChatGPTって便利なんですが、毎回「これ送って大丈夫かな?」って内容を気にしながら使うの、ちょっと気疲れしませんか?
わたしは「誰にも気にせず使える、自分専用のチャットエージェント欲しいな〜」って、ずっと思ってました。

そこで今回、Azure OpenAI の gpt-4o と、Vercel の AI SDK を使って、自分だけの Local Chat Agent アプリを作ってみました。

Azure OpenAI のエンドポイントさえあれば、すぐに使い始められます。
コードは下に公開しているので、よければ気軽に試してみてください〜

Azure OpenAI でモデルをデプロイする

Azure アカウントを作成

以下のページから Azure アカウントを作成します。
初回登録時には 30 日間・$200 分のクレジットが無料でもらえるため、気軽に試すことができます。

Azure OpenAI のリソースを作成・デプロイ

以下の手順に従ってリソースを作成します。

1. ログイン後「Azure OpenAI」に移動

local-agent-01.png

2. 「作成」を選択

local-agent-02.png

3. 「リソースグループ」「リージョン」「名前」「価格レベル」を設定

※「名前」はグローバルでユニークな値にする必要があります。
local-agent-03.png

4. ネットワークを選択

local-agent-04.png

5. Tags を設定(任意)

local-agent-05.png

6. 内容を確認し「作成」を選択

local-agent-06.png

7. 「リソースに移動」を選択

リソースの作成が完了したら以下のような画面になります。
local-agent-07.png

8. 作成したリソースを開く

local-agent-08.png

モデルをデプロイ

以下の手順に従ってモデルをデプロイします。

1. 「AI Azure Foundry」を開く

local-agent-09.png

2. メニューから「デプロイ」を選択

local-agent-10.png

3. 「モデルのデプロイ」を選択

local-agent-11.png

4. 「gpt-4o」を選択

local-agent-12.png

5. デプロイ名を設定しデプロイ

今回は初期値の「gpt-4o」のままでデプロイしました。
local-agent-13.png

6. 完了

エンドポイントとキーはあとで使うので、このページを開いておきます。
local-agent-14.png

チャットアプリをセットアップする

アプリを Git clone

ここからコードを clone して、README.md の手順に従ってセットアップしていきます。
bun が必要なので、インストールしていない方はここでインストールしておきます。

curl -fsSL https://bun.sh/install | bash

依存パッケージをインストール

clone してきたディレクトリに移動して、依存パッケージをインストールします。

cd local-chat-agent
bun install

環境変数をセット

.env.local を作成して環境変数をセットします。

cp .env.example .env.local

先ほどデプロイしたエンドポイントのターゲット URI が
https://{AZURE_RESOURCE_NAME}.openai.azure.com/openai/deployments/{AZURE_DEVELOPMENT_NAME}/chat/completions?api-version={OPENAI_API_VERSION}
の形をしていると思います。
local-agent-15.png

今回の例では
https://test-ai-sample.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2025-01-01-preview
なので、環境変数は以下のようになります。
AZURE_OPENAI_API_KEY はエンドポイントの「キー」になります。

.env.local
# Require

# ターゲット URIs
# https://{AZURE_RESOURCE_NAME}.openai.azure.com/openai/deployments/{AZURE_DEVELOPMENT_NAME}/chat/completions?api-version={OPENAI_API_VERSION}
AZURE_RESOURCE_NAME = test-ai-sample
AZURE_DEVELOPMENT_NAME = gpt-4o
OPENAI_API_VERSION = 2025-01-01-preview
# API キー
AZURE_OPENAI_API_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

アプリを起動

bun run dev

http://localhost:3123 で立ち上がります。以下のように見えれば OK です。
現状ではテキストメッセージとファイル添付に対応しています。
local-agent-17.png

おまけ:Langfuse を使う

Langfuse を導入すると、リクエストのログを視覚的に管理できるようになります。
セッションごとに送信した内容と返ってきた応答を確認できるので、過去の会話を遡ることが可能です。

将来的には、Langfuse のログを活用して「会話履歴」機能を実装する予定です。
local-agent-16.png

まとめ

今回は、Azure OpenAI の gpt-4o と Vercel の AI SDK を使って作成した、「自分だけの Local Chat Agent」を紹介しました。

Azure OpenAI では、送信されたデータがモデルのトレーニングや改善に利用されることはなく、処理後すぐに破棄されるため、安心して利用できます。

「自分専用の安全なチャットエージェントが欲しい!」という方は、ぜひ試してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?