こんにちは。 webとかアプリとかの開発やってます、中嶋です。
自作アプリにgenkitを利用してカテゴライズAI機能を追加したのですが、導入の簡単さに感動してしまいました。
いざ導入してみると数分でできてしまうような簡単さでしたが、
「何ができるのかよくわからん」
「何か面倒な手順が必要なんじゃないか」
など、二の足を踏んでしまっていました。
僕と同じような人、とりあえず簡単にgenkitに触れてみたい人向けに、3分ほどで頭を使わずに手を動かしてgenkitでアプリを作成できるよう、簡単に導入方法をまとめました。是非、試してみてください!
ファインチューニングなどは全く考えてません。強い人、すみません!
genkitとは
極限まで簡単にいうと「いろんな生成AIのモデルを簡単に開発に組み込めるようにしたライブラリ」かなと思います。
今回は、gemini 1.5 Flash
というモデルでアプリを作成しますが、OpenAIのGPT4oなどのモデルを利用するように変更することも簡単にできます。LangChainを触ったことある人は、それと似たようなものと考えていただければ、大体合ってるかと...!
導入フロー(ここから3分)
今回は簡単さを最優先として、npm, commonjsで実装していきましょう。
1. geminiのAPIキーを作成する
「Google AI Studio」からAPIキーを作成・コピーしておいてください。
※プランを無料に設定しておけば、課金はされません
2. 適当なディレクトリを作成する
mkdir genkit-qiita && cd $_
3. npmアプリとして初期化 & 必要なpackageをinstallする
npm init -y # 初期化
npm install genkit @genkit-ai/googleai # genkitとAIモデルをinstall
4. Hello, Gemini!, What you can do?
と質問するコードを書く
// index.js
const { gemini15Flash, googleAI } = require("@genkit-ai/googleai");
const { genkit } = require("genkit");
const ai = genkit({ plugins: [googleAI()], model: gemini15Flash });
export const execute = async () => {
const { text } = await ai.generate("Hello, Gemini!, What you can do?");
console.log(text);
};
execute();
5. 実行する
# 1で作成したAPIキーを環境変数としてexport
export GOOGLE_GENAI_API_KEY=xxx
node ./index.js
これで、nodeから生成AIにリクエストを送り出力を得ることができました!
これだと静的な質問しか投げることができないので、外部から質問を受け付けるようにしていきましょう。
6. 「入力された文章をAIに送り、結果を返却する」flowの作成
index.jsを編集して、flowをexportするようにします.
execute周りはいらないので消してしまいましょう。
const { gemini15Flash, googleAI } = require("@genkit-ai/googleai");
const { genkit } = require("genkit");
const ai = genkit({ plugins: [googleAI()], model: gemini15Flash });
const flow = ai.defineFlow("myFlow", async (input) => {
const { text } = await ai.generate(
`Hello, Gemini!, ${input ?? "what you can do?"}`
);
return text;
});
module.exports = { flow };
7. developerツールのinstallと起動
npm install -D genkit-cli
npx genkit start -- node --watch ./index.js
任意の文章をgeminiに投げ、回答を得るアプリを作成することができました!
終わりに
3分でできたでしょうか...?
できなかった人は、コピペエンジニアになりきることが出来ていません
今回はとりあえず触ってみることを目標としましたが、
「pluginとはなんぞや」
「flowをもっと活用するにはどうすればいいんや」
「RAGはできんのか?(できる)」
など、たくさん勉強すべきことはあると思うので、genkit公式ドキュメントもみてみてください...!
自分もAIチンプンカンプン人間なので、頑張って勉強します...
アプリも触ってくれると嬉しいです。 🥰🥰🥰
「0s思考アプリ(非公式)」は、赤羽雄二氏が提唱した「頭が良くなる世界一シンプルなトレーニング」として有名な「0秒思考」を、デジタルでやってみよう、というアプリです。
0秒思考のざっくり説明
- A4用紙にテーマを書いて、1分間思いつくままにメモを取る
- 思考整理を行うことができる
- 悩むことが減る
- 頭の回転が速くなる
赤羽氏からは紙とペンで行うことが推奨されている
紙に書くメリットは重々承知していますが、現在AIが高度化してきた中で、「"紙に書く"以上のメリットをデジタルで生み出すことができるのではないか」と思い、アプリを作成しています。(詳細は「note」)
まだまだ開発途上のアプリですが、是非使ってみてください!
FBなどもいただけたらめちゃめちゃ嬉しいです!