AI

ChatGPT API ハック – ①どこまでできるのか

はじめにいまさらですが、ChatGPT APIで何ができるのか、使いながら試していきます。ChatGPT API を使って何が実現できるか?ChatGPT APIは「単に質問に答えるAI」ではなく、あなたのサービスや業務の中で、“対話可能な脳”を好きな形で埋め込めるインターフェースです。想像を超える使い方一覧主に、私のようにSaaSを作る人・ECを運営する人・AIを実装する人向けに、「ChatGPT APIを使えばここまでできる」という事例・構想を、段階別に紹介します。【レベル1】よくある使い方ユースケース内容ECサイトのチャットボット「この商品は何?」「返品できる?」などに答えるお問い合わせ自動応答営業時間・料金・手順などFAQ対応メール・文章生成カスタマー返信文を生成/修正レビュー要約商品レビューを要約/感情分類【レベル2】中級者向け(現場レベルの自動化)ユースケース内容APIログの分析&アラートlogから異常トラフィックを発見し、Slackに通知Shopifyの商品説明を自動生成商品メタ情報から自然な説明

その他 未分類

マルチテナントアーキテクチャの理解

マルチテナントアーキテクチャとは?「マルチテナントアーキテクチャ」とは、ひとつのソフトウェアやインフラを複数の利用者(テナント)が共有して使う仕組みのことを指します。たとえばクラウドサービスでは、1つのアプリケーションを何社ものお客さんが同時に使っていても、それぞれのデータや設定はしっかり分かれています。一般的には、データベースを共通したり、スキーマをどう分けるのか、といった技術的な話が多いですが、今回は、ユーザーからみた機能として、どのようなテナントアーキテクチャにすることがよいのか、有名なSaaSがどういう戦略をとっているのかを理解していきたいと思います。テナントとは?法人の管理者がSaaSとサービス利用の契約して管理者が社員や関係者を招待してその単位でデータや権限が管理されるそんな「組織としての利用の入れ物」です。SaaSの比較Slackビジネス向けのチームコミュニケーション(チャット)SaaS。チャンネル中心で会話・ファイル共有・通知連携を行う。テナントまわりテナント:ワーク

その他

Firestoreの特徴と基本的な使い方

Firestoreとは?Cloud Firestoreは、FirebaseとGoogle Cloudが提供する柔軟でスケーラブルなNoSQLドキュメントデータベースです。Web、モバイル、サーバー開発向けに設計されており、リアルタイム同期とオフラインサポートが特徴です。主なコンセプトは以下の通りです。ドキュメントとコレクション: Firestoreのデータは「ドキュメント」として保存されます。ドキュメントはキーと値のペアで構成されるデータの集合です。これらのドキュメントは「コレクション」にまとめられます。コレクションはドキュメントの集まりであり、さらにその中にサブコレクションとして別のコレクションを含めることもできます。これにより、データを階層的に整理できます。データ操作:追加 (Add/Set): コレクションに新しいドキュメントを追加したり、特定のIDでドキュメントを保存したりします。読み取り (Get): ドキュメントのIDを指定してデータを取得したり、コレクションから複数のドキュメン

その他

Monorepoでの設定例 – NestJS, Next.js

はじめにmonorepoは設定が決まるまで、かなり大変な作業ですが、一度うまくいけば、まとめて管理できるメリットがあり、少人数のプロジェクトにはむいていると思います。うまくいった設定を以下にメモし、今後の設定の見直しなどに利用しようと思います。アプリ全体の設定 ルートで、pnpm build, pnpm devで開発できるように設定./package.json{ "name": "my-app", "private": true, "packageManager": "pnpm@9.4.0", "scripts": { "dev": "turbo run dev --parallel", "build": "turbo run build", "lint": "tur

その他

Firebaseによる認証機能の実装

Firebaseプロジェクトの設定Firebaseプロジェクトを作成するFirebase 構築 > Authenticationを開くプロバイダから「匿名」を選択し、有効にする次に、プロバイダの追加で、「Google」を選択し、有効にするGCPサービスアカウントの所得Firebaseプロジェクトと同名で、GCPプロジェクトが作成されているIAMには、Firebase管理用のサービスアカウントが作成されているprivate keyを作成する、これは、後述のfirebase-adminの初期化に使用するNext.jsアプリの構築Next.jsアプリを生成する% npx create-next-app@latest apps/web✔ Would you like to use TypeScript? … No / Yes✔ Which linter would you like to use? › ESLint✔ Would you like to use Ta

その他

NestJS – LLMアダプタを抽象化するようにリファクタリング

はじめにDIを使っているのに、OpenAIとの結びつきが強いので、先に抽象化したコードを検討するLLM 抽象化アーキテクチャ1. LLMの抽象インターフェースを定義libにadaptersを生成する% npx nest g lib adapters✔ What prefix would you like to use for the library (default: @app or 'defaultLibraryPrefix' setting value)? CREATE libs/adapters/tsconfig.lib.json (222 bytes)CREATE libs/adapters/src/index.ts (71 bytes)CREATE libs/adapters/src/adapters.module.ts (202 bytes)CREATE libs/adapters/src/adapters.service.spec.ts (474 bytes)CREATE libs/adapters/

その他

NestJSとは – バックエンド用フレームワークでチャットAPIを実装してみる

NestJSとは?NestJSは、効率的でスケーラブルなサーバーサイドアプリケーションを構築するための、プログレッシブなNode.jsフレームワークです。TypeScriptをベースにしており、クリーンで整理されたコードを書くための構造を提供します。NestJSは、ただのライブラリではなく、アプリケーション全体の骨組み(フレームワーク)を提供することで、大規模なプロジェクトでも一貫性を保ち、開発を効率化することができます。本家の情報は、こちらを参照してください。NestJSの主な特徴1. TypeScriptファーストNestJSはTypeScriptを完全にサポートしています。これにより、静的型付け、インターフェース、デコレーターといったTypeScriptの強力な機能を利用でき、エラーを早期に発見し、保守しやすいコードを書くことができます。2. モジュール化されたアーキテクチャアプリケーションを再利用可能なモジュールに分割して構築します。これにより、コードの管理がしやすくなり、チーム開発や大規模なプロジェクトでも一貫性を保つことがで

その他

n8n – Community nodeの作り方

はじめにこちらのドキュメントを参考にします。n8n のコミュニティノードリポジトリに自作ノードを公開するための手順は以下の通りです:パッケージ名n8n-nodes- または @<scope>/n8n-nodes- で始める。例: n8n-nodes-weather。キーワードn8n-community-node-package を package.json の keywords に含める。package.json の設定n8n 属性の中に自作ノードと認証情報を追加する(starter node の例を参照)。動作確認Linter でチェックし、ローカルでテストして問題がないか確認する。公開npm レジストリにパッケージを登録・公開する(詳細は npm の公式ドキュメント参照)。👉 要するに、命名規則・package.json 設定・テスト・npm 公開が必須です。手順スターターノードをテンプレートレポジトリとして用意されています。このスターターリポジトリを基に、自分用のノードを開発し、npm に

その他

Firebase+Nextjsでチャットアプリをつくってみる

はじめにConvexでチャットアプリをつくるのは手軽だったが、GoogleのFirebaseも同じようなツールであるため、同じようなアプリをつくって、比較することにします。「Building a Real-Time Chat App with Firebase and Next.js」という記事を見つけたので、こちらを参考に進めてみます。詳細は、元ネタの方を参照してください。また、記事で紹介しているソースはこちら開発以下のツールを使いますNext.js:ReactフレームワークFirebase Firestore:リアルタイムデータベースTailwind CSS:スタイリング用shadcn/ui:事前構築済みのUIコンポーネントZod:メッセージの実行時バリデーションFirebaseコンソールからプロジェクトを作成するプロジェクトにFirestoreを追加するテストモードで開始するプロジェクトの設定を開き、マイアプリを表示する</>をクリッ

その他

Convex – チュートリアル:外部サービス連携

はじめにこちらのドキュメントにしたがって、チュートリアルを実行します。前回作成したアプリに機能を追加します。 データベースのトランザクションとリアルタイム性を維持するため、Convexのquery関数とmutation関数は、外部へのfetch(データ取得)呼び出しができません。しかし、実際のアプリケーションでは外部サービスと通信する必要があるため、Convexはaction関数を提供しています。action関数を使うと、同期エンジンが外部世界にアクセスできるようになり、その結果をミューテーション関数を通じてデータベースに書き戻すことができます。 本チュートリアルでは、このaction関数を使って、チャットアプリからWikipedia APIを呼び出し、トピックの要約を取得する機能を実装します。実装アクション関数 getWikipediaSummaryこの関数を公開APIとしないようにするため、internalActionを使用。この関数は、指定されたトピックでWikipediaのAPIに単純なfetchを行う。ctx.sch

Lang »