見出し画像

Gemini 2.0で何でも構築できる - その方法を解説

9,817 文字

Gemini APIを使えば、モバイルアプリ、チャットボット、Chrome拡張機能、フルスタックのウェブアプリなど、AIを搭載したバックエンドを必要とするものなら何でも構築できます。この動画では、その構築方法を学んでいきましょう。
まずはGemini 2.0のクイックスタートから始めましょう。これはGoogleの公式ドキュメントで、初期のレスポンスを得るために必要な手順は2つだけです。コーディング経験がまったくない方でも問題なく付いてこられます。
最初に必要なのは依存関係、つまりパッケージをインストールし、Googleが提供する構文をコピーすることです。では次のステップのプロジェクトセットアップに進みましょう。Cursorを開いて空のフォルダを開きます。
Cursorを使ったことがない方は「なんだこれは、どうやって使うんだ」と思うかもしれません。落ち着いてください。ChatGPTを使うなり、単にVectaの中で「Cursorで新しいプロジェクトのセットアップを手伝って」と言えば、そのようにしてくれます。
空のフォルダを開いたら、ファイルを作成する必要があります。新規ファイルでmain.pyを作成し、ここにコードを貼り付けていきます。その前に、何を作りたいのか説明しましょう。
私はGeminiを利用したO3を作りたいと思います。O3を知らない方のために説明すると、これはOpenAIが数日前に発表した最新のAIモデルで、基本的にAGIに最も近いものです。通常のLLMは、ユーザーが入力(プロンプト)を行い、モデルから出力を得る仕組みです。
推論モデルが異なるのは、プロンプトを入力すると、多くの無言の推論を行う思考セクションに入ることです。実際には、見えない推論レイヤーで多くのトークンを消費し、1分、場合によっては2分以上かかることもあります。これにより、はるかに質の高い出力が得られます。基本的に、難しい質問に答える前に、より多くの時間を与えて考え、準備させるようなものです。
これがLlama 3、GPT4、Claudeなどの通常のLLMの仕組みで、O1、O3、新しいGemini 2.0フラッシュシンキングなどの推論モデルの仕組みです。プロセスは似ていますが、重要な違いは、中間に推論レイヤーがあることです。これが今回のビデオで構築するものです。
多くの方から「Vectaに登録したいけど、何が得られるのかわからない」という声をいただいています。vl.のログインページにアクセスすると、主な機能を説明する2分のデモが表示されます。世界初のAI搭載生産性アプリであるVectalを試してみたい方は、必ずチェックしてください。リンクは下にあります。vl.にアクセスしてください。
次のステップとして、GeminiのAPIキーが必要です。実はここからは取得できず、GoogleのAI Studioという別のリンクにアクセスする必要があります。GoogleはAPIのセットアップを難しくしていることで有名ですが、このビデオで示す内容に注意を払えば、問題なく行えます。
APIキーを作成する前に、まずCursor内でプロジェクトのセットアップを完了させましょう。まず明らかに必要なのは、パッケージのインストールです。常に公式ドキュメントに従うのが良いでしょう。ここではGoogle generative AIパックをインストールする必要があります。
このコードスニペットをコピーし、Cursorに戻って、ターミナルを開きます。上部の「ターミナル」から「新規ターミナル」を選択するか、MacならCommand + J、Windowsならコントロール + Jを押します。これを貼り付ける前に、どの環境を使用するか決める必要があります。
これまでやったことがない方は「環境って何だ」と混乱するかもしれません。ChatGPTなどに「Pythonの環境を簡単な言葉で説明して」と聞いてみましょう。摩擦や不確実性を感じたら、AIツールを使ってください。ChatGPT、Claude、Vectalなど、どれでも構いません。圧倒されないよう、進み続けることが大切です。
私はすでに自分のテスト環境を作成済みで、conda activate testと入力します。condaをインストールしていない、やり方がわからない場合は、「MacOSでcondaのインストールを手伝って」、Windowsの場合は「Windowsで」と聞いてください。
これこそが、Vectalが本当に革新的だと思う理由です。世界最高のAIモデルであるClaude 3.5 Sonnetを内蔵しながら、タスクリストや必要なことを管理できるからです。ぜひvectal.aiにアクセスして試してみてください。期待を裏切りません。
conda環境を作成したら、Googleからのパッケージを貼り付ける必要があります。もう一度これをコピーして貼り付けます。初めての場合、大量のテキストが表示されるはずです...いや、表示されません。なぜなら、このパラメータが「quiet」になっているからです。このquietパラメータなしで同じコマンドを実行すると、「requirement already satisfied」などのノイズが全て表示され、混乱や圧倒されるかもしれません。これはパッケージのインストールに関する小さなヒントです。
これができたら、最初のリクエストを作成する次のステップに進めます。Googleからこのコードブロックをコピーします。ビデオの下にリンクを貼っておくので、簡単にアクセスできます。これを貼り付けます。
まだ完了していないことがいくつかあります。右下のウェブカメラの真下でPythonのバージョンを選択できます。ここでcondaで作成した環境と同じものを選択する必要があります。そうすることで、黄色の下線が消えます。以前は下線が引かれていましたが、今はありません。つまり、パッケージがインストールされているということです。
2つ目として、APIキーがここにないことがわかります。これを置き換える必要があります。
3つ目として、誰がGemini 1.5を使いたいでしょうか?もっと優れたモデルが利用可能です。Googleのドキュメントの左側を見ると、モデルセクションがあります。Geminiに移動すると、主要なモデルが全て表示されますが、1.5はすでに時代遅れです。
実験的モデルに移動すると、エキサイティングなものが見えてきます。Gemini exp 1206は大きな波紋を呼びましたが、私が紹介したいのは、さらに新しい、文字通り4日前にリリースされたGemini 2.0フラッシュシンキング実験版1219です。これには推論機能があり、基本的にOpenAIのO1とO3モデルへのGoogleの回答です。
これが今回のビデオで使用するものです。正確に名前をコピーしないと機能しないので注意してください。この古いモデルを新しいモデルに置き換えてコマンド + Sで保存します。
最後に必要なのはAPIキーです。このAI Studioリンクに移動し、ここでAPIキーを取得できます。APIキーは絶対にパスワードと同じように扱い、誰とも共有しないでください。このビデオをアップロードする前に私のものは削除します。
「APIキーの作成」をクリックし、Google Cloudプロジェクトを選択します。プロジェクトがない場合は作成してください。それほど難しくありません。私はVecta AIを選択し、既存のプロジェクトでAPIキーを作成します。これには数秒かかります。
興味深いのは、クリスマス期間中は全てのAPIコストが無料だということです。AIスタートアップを立ち上げるには、まさに最高のタイミングです。数ヶ月温めていたアイデアを実現するチャンスを逃さないでください。
私自身がそうしたんです。2ヶ月前、Vectalはただのアイデアでした。今では、あなた自身が試すことができるデプロイ済みの製品になっています。可能なんです。私は以前にAIを作ったことがありませんでした。私にできたのなら、あなたにもできます。
このAPIキーをここに貼り付けて、ファイルを保存します。あとは、このスクリプトを実行するだけです。警告が表示されますが、無視して構いません。これを停止して、「AIの仕組みを説明して」の代わりに、「AGIが実現した時、世界はどのように変化するか説明して」と変更し、簡潔な回答を求めることにします。2000語のエッセイを生成させたくないので、テストのために簡単な応答だけ欲しいのです。
はい、できました。これで基本的に最初の半分が完了し、正常な応答を得ることができました。2番目の半分は、これを独自のGemini搭載O3推論エージェントに変換することで、これから取り組んでいきます。
ターミナルを閉じて、Vectalに戻りましょう。実際に2つのタスクを完了しました。APIキーを取得し、それが機能することをテストしました。次はトークンストリーミングを追加する必要があります。
トークンストリーミングを知らない方のために説明すると、基本的に完全な応答を待つ必要がなく、生成されるトークンをリアルタイムで見ることができる方法です。ChatGPTを使用する場合、トークンはストリーミングされますが、ここで見ると、再度実行しても、全ての応答が完全に書き出されるまで何も表示されず、そして突然全体が表示されます。
今すぐ実装しましょう。Googleには非常に便利なドキュメントがあり、これをそのままコピーできます...いや、コピペする代わりにスクリーンショットを撮りましょう。理由を説明します。
Cursorに戻り、ここの「composer」タブが主な利点の1つです。ここにスクリーンショット、コードファイル、何でも貼り付けることができ、最も重要なのは、エージェントモードを切り替えられることです。これによりファイルの作成、ターミナルコマンドの記述、コードベース全体の分析などができます。
ここで「main.pyにトークンストリーミングを実装する必要がある」と言い、ファイルをタグ付けして、「スクリーンショットのドキュメントに正確に従って実装してください」と指示できます。
これでCursorはこれらの変更を自分で実装します。単にこのコードをコピーすると、間違ったモデルが取得され、プロンプトがリセットされ、行った小さな変更と整合性が取れなくなるからです。変更が必要な部分だけを変更するために、Cursorエージェントに任せます。
Cursorを本気で使い、最大限活用したい場合、例えばAIスタートアップを立ち上げたい場合、新しいSocietyのクラスルームには高度なAIチュートリアルのセクションがあり、そこにCursorの56分ガイドがあります。これを見れば、完全な初心者からCursorユーザーの上位1%になれます。興味がある方は、ビデオの下のリンクをチェックしてください。
トークンストリーミングが実際に機能するか試してみましょう。はい、機能しています。以前よりもずっと速く、最初のトークンまでの時間が大幅に短縮されました。全体の応答を待つ必要がないためです。生成されるのをリアルタイムで見ることができ、ユーザー体験が大幅に向上しました。
応答が悪い場合はそこで止めることができるなど、トークンストリーミングを実装する利点は多くあります。複雑に聞こえるかもしれませんが、ほとんどのことがそうであるように、最初に行うときは簡単です。AI、スタートアップの立ち上げ、プロンプトエンジニアリングなど、全てのことが超複雑に聞こえますが、実際にやってみると「そんなに難しくないな」とわかります。
さて、これを私たちが作りたかったもの、Gemini搭載O3エージェントに変換しましょう。ユーザーがエージェントの思考時間を選択できるようにし、実際に2番目のエージェントを実装する必要があります。
Cursorのコンポーザーを使用して、それを指示します。最初のものと全く同じ構文を使用して2番目のAIエージェントを追加したいのですが、2番目のエージェントのプロンプトは、最初のエージェントの出力の影響を受けることになります。とりあえず、プロンプトはシンプルにしておきましょう。AIは通常、プロンプトエンジニアリングが得意ではありません。プロンプトは自分で書くべきです。
新しいSocietyの8ステップワークショップには、これに関する高度なトレーニングがありますが、今はただコードをコピーして、2番目のエージェントをここに配置したいだけです。2番目の応答モデルが生成を継続...はい、これはあまり役に立ちません。
私が作りたいものをCursorに説明すべきでした。複数エージェントAI推論システムを構築したいのです。最初のAIエージェントがユーザーにトピックと、エージェントチームが実行すべきループの数を尋ね、2番目のエージェントがこれら2つのユーザー入力に基づいて推論プロセスを実行します。
main.pyを変更してください。これはCursor内での非常に良い習慣です。ファイルをタグ付けすることです。やりたいことについて単に話すだけでなく、特にコードベースが大きくなり始めたら...もちろん今は1つのファイルしかないので、そこまで重要ではありませんが、50のファイルがある場合は非常に重要です。
Cursorエージェントが参照していることを知り、どこで作業すべきかを理解できるようにするためです。main.pyを変更して、これを実装してください。そしてPRエンジニアリングのアドバイスをもう1つ...深呼吸をして、シニア開発者のように進めることです。これは良いペルソナですね。
最後の部分が本当に重要です。Cursorで何百時間も過ごした経験から、信頼してください。コードを書くときは、「コードの行数は少なければ少ないほど良い」というのを含めるべきです。もちろん、大規模なリファクタリングをする場合は含めませんが、変更の95%の場合、これは本当に良いことです。
これにより、集中を保ち、不要なものを追加することを防ぎ、機能の膨張を防ぐことができます。本当に簡潔に保ち、望む結果を達成しながら、可能な限り少ない行数にすることを確実にします。また、コードを圧倒的で混乱させないようにします。
これを受け入れて、簡単に何があるか見てみましょう。上部でユーザー入力を取得します。トピックと、実行すべきループの数です。次に、最初のエージェントのプロンプトを設定します。「そのトピックについて深い哲学的な質問を作成する」...はい、これは確実に変更する必要があります。
「トピックを与えられたら、戦略を作成する」...これは複数行の文字列にすべきですね。戦略の文字列を作り、ループのステップ戦略を立て、この質問に最もよく答えるための計画を立てましょう。実際に、最初のAIエージェントを使用して、指示を設定し、基本的に2番目のAIエージェントを正しい方向に導くようにします。
「トピックを与えられたら、高度なAIモデルのための詳細なシステムプロンプトを書くかのように、多角的なアプローチを促す詳細な指示のセットを作成してください」。ここに2つのタイプミスがありますね。「タイプミスを修正して」と言えば十分です。
これで十分だと思います。もちろん、実際に本番環境にデプロイされるウェブアプリケーションを構築する場合は、システムプロンプトに何時間もかける必要があります。Vectalのシステムプロンプトは、チャットエージェントとタスク作成エージェントの両方で100行以上あります。
例えば、「Cursorをインストールする」という新しいタスクを作成すると、ユーザーの好みと他のアクティブなタスクに基づいて自動的に分類する分類エージェントに送られます。そのため、タスクの分類について考える必要がなくなります。
もちろん、これはVectalのプロンプトよりもずっと短いですが、始めるには十分です。もちろん、皆さんの時間を尊重したいと思います。2時間かけてプロンプトを書いたら、確実に全員が離れてしまうでしょう。
最初の応答はモデルが生成したコンテンツで、セットアッププロンプトを使用し、stream=trueにしています。はい、ストリーミングを有効にしたいですね。これは基本的にトークンストリームのチャンクを印刷するためのものです。
そして、ここに2番目のエージェントがあります。current_for=questionsですが...変数名は異なるものを選ぶでしょうが、それは細かい点です。for i in range(loops)で、基本的にユーザーが決定したものに基づいてforループを実行します。
実際に、最後にもう1つのAIエージェントを追加できるかもしれません。「2番目のエージェントからの全てのループを簡潔で一貫した応答にまとめる3番目のAIエージェントを追加しましょう」。15〜20ループを実行すると、大量のテキストになり、誰もそれを全て読みたくないでしょう。
その間に、2番目のエージェントのプロンプトを見てみましょう。「このFに基づいて、深い洞察を提供する」...このプロンプトはあまり良くないので、変更する必要がありますが、前回のように自分でプロンプトを書く代わりに、これをハイライトしてCommand + Kを押し、「180IQのノーベル賞受賞者であるかのように、AIエージェントが最善の方法で答えるように、このプロンプトを書き直してください」と言います。
一般的に保ちたいと思います。なぜなら、他の用途にも使用する可能性があるからです。実際に、コードが欲しい場合は、他の全てのビデオと同様に、新しいSocietyのクラスルームのテンプレートとプリセットにあります。コードやプロンプトが欲しい場合は、新しいSocietyに参加してコピーペーストしてください。繰り返しますが、リンクはビデオの下にあります。
これは良いかどうか見てみましょう。「印刷に基づいて」...はい、これは好きではありません。変数名が混乱していて、Cursorエージェントが...「これらの指示に基づいて、トピックに答えてください」...はい、これは良いですね。
最も重要なのは、おそらく3番目のエージェントの最後のプロンプトです。「最終シンセシス」...OK。「あなたの任務は、これらの洞察の明確で一貫したシンセシスを2つの簡潔な段落で提供することです」。はい!保存して、最終応答が3番目のAIエージェントのストリーミングトークンを印刷します。
試してみましょう。これはリストの最後のステップです。エラーが発生するかもしれませんが、ChatGPTが解決を手伝ってくれます。どのトピックについて考えるべきでしょうか。「AGIの創造に向けて、人はどのように準備すべきか」と入力します。OpenAIやAnthropicのような研究所が非常に近づいています。議論のために、1年後と仮定しましょう。
推論ループはいくつ実行すべきでしょうか。今回は4ループにしましょう。7つは少し長かったですね。これが生成されている間に、もう1つ示したいことがあります。Vectal内のチャットボックスも改善されました。
以前は「ランダムなサンプルテキスト」と入力すると、タイプを続けるだけで応答の開始が見えませんでしたが、今では適切なチャット機能になり、スクロールがあり、簡単に開始位置に移動できます。チャットのUIが大幅に改善され、説明ツールチップも追加しました。
多くの人がアプリの使い方に混乱していたからです。文字通り毎日、Vectalは改善されています。まだ試していない方は、vect.aiにアクセスして試してみてください。
では、見てみましょう。まだ生成中です...4分の4の最後の推論ループです。そして、要約エージェントが簡潔な応答を提供するはずです。
見ての通り、これらは長い言葉を使用しています。最後のエージェントと同じように「シンプルで理解しやすい言語を使用してください」と言わなかったからです。ちなみに、私が好きな別のプロンプトは、エージェントとの作業をずっと速くします。
複数のコンマを含む複文を理解する必要がないからです。短い文を見て理解する方がずっと簡単です。シンプルで理解しやすい言語を使用している場合は特にそうです。
とにかく、ようやく応答が来ました。「最終シンセシス:ユーザーは複雑なアイデアの2段落の要約を求めています。私はこれらを蒸留する必要があります」...すごい、気づきませんでしたが、推論トークンも入力しています。
これはO1がChatGPT内で行っていないことです。今ChatGPTにアクセスして、Plusモード(月額20ドル)かProモード(月額200ドル)を持っていても、Plusモードで20ドルを支払ってO1を使用している場合でも、「AGIの創造に向けて人生を計画するのを手伝って」と言っても、推論トークンは見ることができません。
「考え中」と表示され、「旅のマッピング」のような非常に一般的な内容しか表示されませんが、これらはトークンではありません。これは非常に制限された要約で、考えていることの要約です。しかし、ここでは...まあ、これも制限されているかもしれません。結局はGoogleですからね。
Googleのジェミニ画像で何が起こったかは皆知っていますが、モデルがどのように考えているかが見えるのは素晴らしいことです。主要なテーマは、特定の技術ではなく基本的な思考スキルに焦点を当て、人間の強みを優先し、大きな社会的変化に備えることです。
1年後のAGIに備えるということは、知識だけでなく、考え方に焦点を当てることを意味します。具体的な技術スキルの習得を忘れ、代わりに新しいことを素早く学ぶ能力を高めることです。
特に年配の方々に多いのですが、大学や学校を卒業したら新しいことを学ぶ必要はないという制限的な考えを持っている人が多くいます。これは非常に破壊的です。今後数年間、成功するチャンスを持ちたいなら、そのような考えを捨てる必要があります。
科学や数学の基本的なアイデアについて深く考え、論理的思考と問題解決のスキルを磨きましょう。そのとおりです。新しい情報に対して心を開き、適応する準備をすることです。変化は毎日、さらには毎時間起こるでしょう。
そのため、オープンな心を持つ必要がありますが、あまりにもオープンにして脳が落ちてしまうほどではいけません。共感性と創造性を育むこと...まあ、これはちょっとウォークな応答ですね。倫理について深く考えよう...さあ、何だこれは。
社会に大きな変化が来ることを理解する...はい。肉体的にも精神的にも柔軟で、何にでも備えられるように集中すること。このアプローチは...はい、これは非常に漠然とした応答です。
もちろん、「より具体的に」というフォローアップをして、「これが私の人生で、これが私の仕事、これが私の収入、これが私の年齢、これが私のスキル、これが私の知らないこと」というようにコンテキストを提供することもできます。
現在、私の元のプロンプトは非常に漠然としていました。文字通り「AIの創造にどう備えるか」と言っただけです。自分の人生について実際に説明すれば、もっと良い応答が得られるでしょう。
とはいえ、30分ほどで構築したことを考えると、これはかなり印象的な結果だと思います。繰り返しますが、コードが欲しい場合は、他のすべてのワークショップやトレーニングと同様に、新しいSocietyにあります。
以上で、この動画は終わりです。V.AIにアクセスして、必ずチェックし、サインアップして試してみてください。素晴らしく生産的な1週間をお過ごしください。それでは。

いいなと思ったら応援しよう!