✨ あなたのドキュメントでChatGPTをトレーニングしよう 🪄 ✨

ChatGPTは2022年までトレーニングされています。

でも、自分のウェブサイトについて具体的な情報がほしいとしたらどうでしょうか?たいていは無理ですが、もうそうではありません!

OpenAIが新機能を導入しました - アシスタントです。

これで、簡単にあなたのウェブサイトを索引付けて、それについてChatGPTに質問することができます。このチュートリアルでは、ウェブサイトを索引付けてクエリできるシステムを構築します。次のように進めます:

  • ドキュメンテーションのサイトマップをスクレイプする。
  • ウェブサイト上の全ページから情報を抽出する。
  • 新しい情報を持つ新しいアシスタントを作成する。
  • 単純なChatGPTフロントエンドインターフェイスを構築し、アシスタントにクエリする。

Assistant


バックグラウンドジョブプラットフォーム 🔌

Trigger.dev はオープンソースライブラリで、NextJS、Remix、Astroなどでアプリ作成や長時間実行されるジョブの監視ができます!

GiveUsStars

星をください 🥹。
それで、このような記事をもっと作るのを手伝ってくださるはずです 💖

Trigger.dev リポジトリに星をつける ⭐️


はじめに 🔥

新しいNextJSプロジェクトをセットアップしましょう。

 npx create-next-app@latest

💡 新しいアプリルーターNextJSを使います。プロジェクトのインストール前にnodeバージョン18+があることを確かめてください

アシスタントとスクレイプされたページを保存する新しいデータベースを作りましょう。
私たちの例では、SQLiteを使ったPrismaを使用します。

インストールはとても簡単です。実行するだけ:

npm install prisma @prisma/client --save

それから、以下を実行してスキーマとデータベースを追加します:

npx prisma init --datasource-provider sqlite

prisma/schema.prismaに移動し、以下のスキーマに置き換えます:

// これはあなたのPrismaスキーマファイル、
// ドキュメントで詳しく学ぶことができます: https://pris.ly/d/prisma-schema

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "sqlite"
  url      = env("DATABASE_URL")
}

model Docs {
  id         Int      @id @default(autoincrement())
  content    String
  url        String @unique
  identifier String
  @@index([identifier])
}

model Assistant {
  id         Int      @id @default(autoincrement())
  aId        String
  url        String   @unique
}

それから以下を実行します:

npx prisma db push

これで新しいSQLiteデータベース(ローカルファイル)が、2つの主要なテーブルDocsAssistantを含むようになります。

  • Docsは、スクレイプされた全ページを含みます。
  • Assistantは、ドキュメントのURLと内部のChatGPTアシスタントIDを含みます。

Prismaクライアントを追加しましょう。

新しいフォルダhelperを作り、新しいファイルprisma.tsを追加し、以下のコードを入れます:

import {PrismaClient} from '@prisma/client';

export const prisma = new PrismaClient();

これで後でprisma変数を使用してデータベースに問い合わせられます。

---

こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/triggerdotdev/train-chatgpt-on-your-documentation-1a9g