この度新しいアプリをリリースしました。
アプリの内容や、今回の思いなどをxに投稿しましたので、ぜひ見てもらえればと思います。
ここでは、少し技術的なことを書こうと思います。
本当に、いろんなオープンソースや、Xで流れてくる情報にアイデアをもらい、
助けれらたというか、毎日進化しっぱなしでした。
これからも挑戦を続けて行きたいと思ってます。
アプリのダウンロードはこちら→
https://apps.apple.com/us/app/reedr-smart-bookmark/id6738402001
iOSアプリは、SwiftUI
バックエンドは、Supabase / Render
いつもは、Firebaseを採用するんですが、今回メインのインフラをSupabaseに変えました。
RDBを簡単に使えるのが今回の主な理由です。あと、料金も魅力的だと思います。
(作ってる最中にFirebaseはRDBに対応しました)
料金面では、ある程度までは、おそらくSupabaseの方が安いので、
スタートアップには向いてる感じがします。
採用してよかった点はたくさんありますが、その一方微妙な点が目立ってしまいます。
特に、Supabaseがうたっている、Realtimeですが、
Swiftに限ってなのか、かなり安定しないです。
あと、anonymousアカウントでAuthを使うというとこですが、
まだできたばっかりなのか、Swiftでは、あんまりちゃんと作り込まれてない印象でした。
アプリでは、anonymous(匿名)でのアプリ利用は必須だと思うんで、
このあたり整備してくれたらありがたいです。
愚痴を書いてるみたいですが、いいとこの方が圧倒的に多いです。
もっとはやく使えばよかったと思っています。
昔はよくこのポストは、Herokuだったんですが、はじめて使ってみましたがかなり使いやすいです。
料金もリーズナブルな感じがします。
Renderは、各LLMを一つに操作しているサーバーで使ってます。
LiteLlmというOSSが動いています
https://github.com/BerriAI/litellm
ここにSupabaseのAuthをくっつけてまして、
OpenAIの仕様で、いろんなLLMにアクセスできます。
このセキュリティの箇所と、いろんなLLMに対応させるのは、ほんの数行で対応が可能で
本当に助けられました。
とくかくCursorで、コーディングします。
自分でもコードかきますが、70%以上はCursorで、GPT-4oか、Claude 3.5 Sonnetを使います。
たまに、o1を使う感じで開発を行いました。
今まで諦めてた表現などが、簡単に実装ができるので、もう手放せません。
最近はCursor以外で、いろんあエディターが登場してるみたいなので、いろいろさわってみたいと思います。
肝心なRAGですが、embedding モデルをつかったベクトルによる距離計算がメインです。
他にもグラフRAGや、Late チャギングなど色々試したのですが、
今回の要件にあったのが、今回の手法でした。
ただし、ただベクトル距離だけの実装だとどうしてもノイズが多すぎて微妙でしたので、
いろんな仕組みを入れました。
今の仕組みまでいくのに、このReedrを使って文献をあさってアイデアを出しました。
なんとSQLだけで、解決することに成功しています。
アプリケーション側にはいっさいRAGのロジックはなく、SQLだけで、必要な情報を持ってきます。
なので、RDB(Postgresqlやベクトルが使えるDB)で動いているサービスがあれば、Reedrと同じRAGを組み込むこと
ができます。
この辺の仕組みは需要があれば、有料記事などで、仕組みを公開したいと思います。
ぜひReedr触ってみてください。
ありがとうございます。
コメントはまだありません
読み込み中...