46.4kデモを予約するログイン無料で始める

Milvusを使ったLLMによるテキストから画像へのプロンプト生成

Apr 01, 20240 min read

バックグラウンド・ストーリー

最初のオープンソースの画像生成AIシステムに出会って以来、私はテキストから視覚的に魅力的な画像を生成する可能性に惚れ込んだ。また、この技術を使っている人は、私よりも創造的で優れたプロンプトを生成する時間がある、という大きなアドバンテージを得ていることもわかりました。

私はこの感覚を拭い去ることができなかった。そこで、私はウェブページを検索して、クールな画像とそれを作ったプロンプトを探し始めた。そして、それらのプロンプトを使って自分の画像を作った。そのおかげで、より良いプロンプトを手に入れることができたが、かなりの時間がかかった。それでも、新しいプロンプトを素早く独自に思いつくことができず、苦労した。

まだ助けが必要だったからだ。でもどうしたと思う?私は自分のプロセスをスピードアップする方法を見つけた。何百万ものプロンプトをダウンロードし、Milvusのベクターデータベースに入れた。それから、UIに入力された簡単なプロンプトに基づいて、似たような結果をフェッチする方法を作りました。

これらのプロンプトの結果、驚くべき画像が得られた。このプロンプトをテストしたあるユーザーは、以前使っていた通常のプロンプトよりも良い結果が得られることに気づきました。そして彼は、私が作成したシステムにネガティブプロンプトを組み合わせ、彼が望む画像を生成した。ネガティヴ・プロンプトを使わなくても、このシステムを使って高品質の画像を作成できることがわかった。

どちらの画像も同じ種で、同じネガプロンプトを使っている。

左がプロンプト・クイル・プロンプト

まだ同じシードだが、負のプロンプトはない

どちらの画像も画質が落ちているが、左の画像は構図やポーズを保っているのに対し、右の画像は画質だけでなくポーズや背景まで落ちている。

つまり、プロンプト羽ペンのプロンプトをより詳細にすることで、いかに画像を本来の姿に近づけることができたかがわかる。

Milvusが私のテキストから画像へのプロンプトを生成する方法

複数のソースからプロンプトを取得し、クリーニングするスクリプトを作成しました。そして、クリーニングされたプロンプトをvector databaseにロードします。当初はpgvectorを試したが、遅すぎることがわかった。慎重に検討した結果、パフォーマンス上の理由からMilvusを選択したところ、ほとんど同じコードでpgvectorの5倍も高速だった。

データがMilvus Vector Storeで利用できるようになったら、楽しいことが始まる。まずはLLMにプロンプトを生成してもらうところから始めた。しかし、すぐにはうまくいかなかった。コンテキストと入力が一致しなかったのだ。そこで、LLMにプロンプトエンジニアであることを伝える命令を与えて、会話履歴の例を追加する必要があることを見つけるまで、いろいろ遊んだ。これだけで、素晴らしい画像を生成し始めた。

さらに、Milvusがベクトル検索を素早く実行できることもあって、このすべてをローカルマシンで実行できる。待ち時間のほとんどは、埋め込みモデルとLLMの実行によるものだ。GPU](https://zilliz.com/blog/Milvus-introduces-GPU-index-CAGRA)は、エンベッディング・ベクターの作成から最終的な出力を開始するまでの間、実質的な休止時間がないほど、ベクトル検索は高速です。

そして、我々はまだ終わっていない。これが利用可能になった今、人々は毎日プロンプトや新しい画像を追加しています。

以下は、これまでのプロセス全体の図である:

結論

Prompt Quillを構築することで、私は以前よりずっと短い時間で素晴らしいプロンプトをたくさん作れることに気づいた。また、私のシステムが作るプロンプトは、人々が特別なモデルのために手作業で作るプロンプトよりも堅牢であることに気づいた。そのようなモデルは、注意深い取り扱いと特別なネガ・プロンプトがなければ、良い画像を作ることができない。ネガティブプロンプトもまた、このシステムの出力を向上させる傾向があるが、非ネガティブプロンプトの画像に対する変化量は、手作業のプロンプトほど大きくない。

ロードマップ

次のステップは、ネガティブプロンプトにも同じ機能を追加することである。ネガティブなプロンプトは、プロンプトを使った画像生成に良い影響を与える。将来的には、ネガティブプロンプトを提供するための第2ステップも追加するつもりだ。システムで生成されたプロンプトと比較することで、現在プロンプトを生成するために使用しているのと同じプロセスを使用することになるだろう。

ベクターストアが利用可能であると仮定して、プロンプトを生成する簡単なUIを公開しました。近日中にベクターストアのデータをアップロードし、私のGitHubにリンクを追加する予定です。GPUリソースを持っていない人でも素敵なプロンプトを得られるように、オンラインでこれを実行したいと思っています。もし長期的なホスティング・ソリューションのスポンサーになっていただけるようでしたら、ぜひご連絡ください。

システムがプロンプトを生成したいくつかの例:

Updated on Jul 09, 2026