Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

3
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?

【GPTs】迫真NLP部 生き字引と化したGPT先輩

Last updated at Posted at 2024-01-04

注意事項

成果物は「例のアレ」に関連するGPTsです。
かなり挑戦的な内容になっています。(倫理的に)

お知らせ

終了しました。
毎月$40かかるのが苦しかったです

成果物

生き字引と化したChatGPTが完成しました。

dictionary.png

文章を語録に変換してくれます。
image.png
語録の追加ができます。(あまり荒らさないでね)
一応似ている単語は弾くようにしています。
image.png
語録の出現率を調整できます。
検索時のレスポンスにidを含めているので、出現率を制御するAPIを使用できます。
image.png

インフラ

GPTが使用するLambda、dbを触りに行くだけの踏み台、HTTP通信で操作できるベクトルDBをがっちゃんこしてます。(VPSの設定で詰まったのは内緒)

Lambdaは関数URLを使用。API Gatewayなしにルーティングできる。ECRのコンテナでデプロイ。
踏み台はSSH、APIはBasicで保護しています。

スタック

  • Python3.10
    • 正直TypeScriptと悩むが、Pythonならなんとかなる感がある
  • fastapi + mangum
    • 自動ドキュメント生成とGPTsの相性が最高。Pydanticはズッ友。/openapi.jsonに自動でスキーマを公開するので、これをGPTsに見せればOK。mangumでlambdaのイベントを扱える
  • openai
    • 1.0になってからバチバチに型がついて使いやすくなった
  • chromadb
    • 無料!デフォルトの距離計算がコサイン類似度ではないのだけ罠。(かと言ってコサイン類似度のメリットを理解しているわけではない)

ロジック

GPTsが変換したいテキストをリクエストに含めてベクトル検索するよ。
関連した語録が返ってくるからGPTsが気合で頑張るよ。

個人的に得た知見

  • lambdaをVPCに含めると外界と繋がらなくなるのでNATとゲートウェイの設定が必須
  • GPTsを公開するときに本名かwebサイトが晒される
  • GPTsはレスポンスをそのままコンテキストに保持している
  • ChatGPTに会話コンテキストのハンドリングを任せるのはかなり楽
  • APIスキーマを書くことはAIと人間に優しい

終わりに

作ったGPTsは事故や財布の都合で予告なしに止まるかもしれません。その場合はごめんなさい。

3
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
3
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?