2023年にはAI技術が話題となり、プログラミングを中心に多くの分野に影響を及ぼします。 Spring コミュニティを含め、AI テクノロジーの重要性に対する認識はますます高まっています。 GenAI(汎用人工知能)技術が進歩するにつれ、AI 機能を備えたアプリケーションの作成を簡素化することが非常に重要なトピックとなり、緊急のニーズとなっています。このような背景から、「Spring AI」は、AI 機能を備えたアプリケーションの開発を簡素化し、シンプルで直感的なプロセスを実現し、不必要な複雑さを回避することを目的として誕生しました。 この記事では、Spring AI と、Spring AI を使用するためのプロンプト エンジニアリングのヒントをいくつか紹介し、開発者が Spring AI フレームワークを使用する際にプロンプト情報をより適切に構築し、Spring AI の機能を有効に活用できるようにします。 1 Spring AI の紹介Spring AIはMK Pavan Kumarによって作成され、記述されました。 Spring AI は、既知の Python プロジェクト LangChain と LlamaIndex の経験を活用して、AI アプリケーションの開発を簡素化することを目的としたプロジェクトです。ただし、Spring AI はこれらのプロジェクトの単なるコピーではありません。 Spring AI の中心的なアイデアは、将来の生成 AI アプリケーションが Python 言語愛好家に限定されず、さまざまなプログラミング言語のユーザー グループに拡大されるというものです。つまり、開発者は Python を具体的に学習することなく AI アプリケーションを開発でき、使い慣れた言語を使用して AI アプリケーションを構築できます。 Spring AI は、本質的に、AI 駆動型アプリケーションを構築するための基本的な構成要素を提供します。これらのビルディング ブロックは柔軟性があり、コードをほとんど変更せずにコンポーネントを簡単に交換できます。たとえば、Spring AI では、OpenAI および Azure OpenAI と互換性のある ChatClient インターフェイスが導入されています。 Spring AI は、本質的に、AI 駆動型アプリケーションを作成するための基本的な構成要素を提供します。これらのビルディング ブロックは回復力があり、コーディングをほとんどまたはまったく変更せずにコンポーネントをスムーズに交換できます。たとえば、Spring AI では、OpenAI および Azure OpenAI と互換性のある ChatClient インターフェイスが導入されています。 しかし、Spring AI はこれらの基本的な構成要素だけではなく、「自分のドキュメントに関する質問と回答」や「ドキュメントとの対話型チャット」などの典型的なシナリオなど、より高度なソリューションの提供にも重点を置いています。アプリケーション要件の拡大に伴い、Spring AI は Spring Integration、Spring Batch、Spring Data など、Spring エコシステムの他の部分と緊密に連携する予定です。 2 Spring Bootプロジェクトを作成し、OpenAIコントローラーの例を書くまず、IDE で Spring Boot プロジェクトを生成し、application.properties ファイルに次のコンテンツを保存します。 OpenAIController.java という名前のコントローラーを記述してみましょう。 3 Promptクラスを使用してプロンプト情報を構築するプロンプト クラスは、一連のメッセージ オブジェクトの構造化されたホルダーであり、各メッセージ オブジェクトはプロンプトの一部を表します。これらのメッセージはプロンプト内で異なる役割と目的を果たし、その内容もさまざまです。これには、ユーザーの質問、AI によって生成された応答、関連するコンテキストの詳細が含まれます。この設定により、プロンプトが特定の機能を持つ複数のメッセージで構成されるため、複雑で洗練された人間とコンピューターの対話が容易になります。 ただし、aiClient の generate メソッドは、プレーン テキストをパラメーターとして受け入れるだけでなく、次に示すように、Prompt クラスのオブジェクトをパラメーターとして受け入れることもできます。現在、このメソッドは単純なテキストではなく、AiResponse 型のインスタンスを返します。 さらに、Prompt クラスは、さまざまなロールとインテントを持つ Message タイプのインスタンスのシーケンスをパラメーターとして受け入れるオーバーロードされたコンストラクターを提供します。これにより、プロンプト情報をより適切に整理および管理できるため、後で処理して使用しやすくなります。以下は、このオーバーロードされたコンストラクターを使用してすべてをマージする方法を示すサンプル コードです。 4 アプリケーションをテストするアプリケーションをテストするには、postman、insomnia、Httpie など、市場で入手可能な任意のオープン ツールを使用できます。
|
<<: テクノロジー統合によるバーチャルキャラクターの創造と実践
>>: RustベースのZedエディタがオープンソース化され、OpenAIとGitHub Copilotのサポートが組み込まれました
6 月 27 日のニュース: わずか半年で、ChatGPT は世界で最も有名なインターネット ブラン...
[51CTO記者の李玲玲が北京からレポート] 真夏が到来し、人工知能も北京の天気のように、より暑い...
[[248753]]児童市場は非常に特殊で、この層は購買力がないにもかかわらず、消費市場の価値は数...
近年、人工知能は急速に発展しており、コンピュータービジョンや自然言語処理の分野で画期的な変化をもたら...
線形回帰は、多くの場合、機械学習やデータサイエンスで最初に学ぶアルゴリズムです。シンプルでわかりやす...
Google Geminiの写真をめぐる論争はまだ収まらず、さらに衝撃的な内部情報が暴露された。 P...
[[211637]]リカレント ニューラル ネットワーク (RNN) は、レイヤー内に重み付けされた...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
[51CTO.com オリジナル記事]序文: ちょっとした歴史10年前、私が学校で上司と一緒に画像認...
[[386714]]北東部に拠点を置くエネルギー会社 Eversource で財務計画および分析 (...
[[244225]]人工知能は現実的な科学技術の力であり、需要、デジタル経済、高品質の開発に焦点を当...
近年、自然言語処理における事前トレーニングは研究分野でホットな話題となっており、有名なGPT-3も新...
これはマイクロソフトと中国科学院大学による新たな研究の結論です。すべての LLM は 1.58 ビッ...
[[422257]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...