TreeHacks 2024プロジェクト。詳細については下にスクロールします。 
| セクション | 説明 |
|---|---|
| Vision OSアプリ | Vision OSアプリのVisionmama.zipファイルをダウンロードおよび抽出するための手順。 |
| レシピ生成、フード検索、Instacartの注文のためのAIエージェントパイプライン | ユーザーのフードリクエストからレシピの生成、材料の識別、購入場所の検索、Instacart注文の作成までのパイプラインの詳細。微調整されたMistral-7B LLM、GPT-4-ターボ、SERP API、および洗練されたランキングアルゴリズムを利用します。 |
| トレーニング前 | データセットの準備、トレーニング前プロセス、および微調整されたMistral-7Bモデルの使用に関する意思決定に関する情報。 |
| 微調整 | 250kのレシピ、使用されている設定、およびデータセットサイズのパフォーマンスへの影響を備えたMistral-7BのLora微調整について説明します。 |
| Reflex.Dev Webチャットエージェント | Reflex.devを使用して、レシピ生成や成分識別のトリガーを含むAIエージェントと対話するためのチャットインターフェイスを作成します。 |
| セマンティックレシピの発見のためのインターシステムIriss Vectorデータベース | ユーザーの「バイブ」入力に基づいたレシピの埋め込みとセマンティック検索のためのIRISベクターデータベースの使用。 |
Visionmama.zipファイルで、これをダウンロードして抽出してください
Vision Proと反射サイトからヒットしたエンドポイントを構築しました。基本的に何が起こるかということは、「バナナスープ」などのユーザーの希望する食品を提出することです。それを微調整したMistral-7B LLMに渡して、レシピを生成します。次に、GPT-4-ターボをすぐに使用してレシピを解析し、成分を抽出します。次に、各成分のSERP APIを使用して、近くで購入できる場所を見つけます。より安価な材料を優先し、アルゴリズムを使用して、すべての材料を購入するために最小数の店舗を訪問しようとします。最後に、Instacart Order API呼び出しに材料を購入します(InstacartのAPIへの実際のパートナーアクセスがないため、今のところシミュレートされています)
250,000のレシピのデータセットをオンラインで見つけました。私たちはそれらを前処理し、分割してトークン化しました。トークン剤をエンコードするGPT2バイトペアを使用しました。変更されたNanoGPT実装を使用して40mパラメーターLLMをトレーニングしました。LLMを展開する方法を把握する時間がなかったため、微調整されたMistral-7Bモデル(パフォーマンスも向上しました)を使用しました。 DevPostの詳細。
Monsterapiのオンラインプラットフォームを使用してMistral-7Bを微調整しました:Monsterapi.ai。 (無料クレジットを提供してくれたチームに感謝します!)設定:1つのエポック、ロラr = 8、ロラアルファ= 16、ドロップアウト= 0、バイアス=なし、グラデーション蓄積ステップ= 32、LR = 0.0002、ウォームアップステップ= 100
微調整の前に、このスクリプトを使用してオンラインから標準の指示形式に入力した250kのレシピを準備しました:preaderecipesforfinetuning.py形式は、あなたは専門のシェフです。あなたは多くの多様な料理について知っています。おいしいレシピを書く。
また、すべてのプロンプトと完了を低く抑えました。 10K、50K、および250Kのレシピを使用して、微調整を実験しました。より多くのデータを使用すると、損失が低下したが、リターンが減少することが観察されました。 Monsterapi.aiを使用して、微調整されたMistral-7B(250kの例)を展開しました。
Reflex.devを使用しました。これは、ほとんどの人がVision Proを持っていないため、Reflex.devを使用してPythonに似ていますが、完全にPythonに似ています。質問をする場合、ユーザーに栄養情報を提供するように迅速に設計されたGPT-3.5ターボを実行します。ただし、ユーザーが「Get Me」でチャットメッセージを開始してから想像上の食べ物を開始した場合、 AIエージェントパイプラインをトリガーしてから、微調整されたMistral-7Bを呼び出してレシピを生成し、 GPT-4-Turboはレシピから成分を処理および抽出し、SERP APIおよび洗練されたマルチエーションランキングを介して、Algorithmを最小限に抑えてGoogle検索店舗の、そして最後にInstacart Order API呼び出しに入力します。簡単だったReflex.devでホストしました。 Reflex Deployを行い、端末からENV変数を入れました! Reflexに感謝します。
Iris Vectorデータベースの初期アクセスバージョンを使用して、Dockerを使用してMacで実行しました。 OpenaiのText-Ada-002埋め込みを使用して、多様な料理から10,000個のユニークなレシピを埋め込みました。埋め込みとレシピをIris Vectorデータベースに保存しました。次に、ユーザーに「寒い雨の冬の日」などの「雰囲気」を入力させます。 Mistral-7Bを使用して、構造化された形式で3つの仮想文書埋め込み(HYDE)プロンプトを生成します。次に、3つのミストララル生成プロンプトを使用してIRIS DBを照会します。ここで重要なのは、定期的なセマンティック検索では、バイブによる効果的に検索できないことです。 「寒い雨の冬の日」でセマンティック検索を行うと、食品ではなく寒いまたは雨に関連する結果を与える可能性が高くなります。私たちのプロンプトは、ミストラルがあなたの入力の雰囲気を理解し、それをより良いハイドプロンプトに変換することを奨励します。実際の例:ユーザー入力:肌寒い冬の日に何か生成された検索クエリ:{'Queries':['暖かい冬の料理のレシピ'、「寒い日のための快適な食べ物のレシピ」、「肌寒い天気のための心のこもったシチューとスープ」}