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のサポートが組み込まれました
新たな科学技術革命と産業変革が起こりつつあり、デジタル技術とインテリジェント技術は我が国のサービス産...
[[324529]]チャットボットと仮想アシスタントは大きな進歩を遂げていますが、市場に出回っている...
最近、Oculus は、VR デバイスを使用する際にユーザーがよりインタラクションできるようにするこ...
12月29日、生成AIを使ってネットワークセキュリティを支援するという話題が最近かなり人気を集めて...
金融業界は国民経済の生命線です。モバイルインターネットやオンライン決済の普及により、データは企業にと...
近年、人工知能 (AI) はヘルスケア業界に変革をもたらす力となっています。 AI ベースのソフトウ...
AIは本当に科学的に占いができるんですね! ?デンマーク工科大学(DTU)の研究者らは、各人の死亡の...
8年生の理科のテストに60点で合格すれば、8万ドル(57万人民元相当)の賞金を獲得できます。 [[...
2018 年 10 月 31 日、上海 - 世界有数のソフトウェア インテリジェンス企業である Dy...
[[265710]]長らく技術革命の中心地となってきたサンフランシスコは、現地時間の火曜日に「秘密...
[[349350]] 10月29日、北京亦荘イノベーション発表体験研究イベントで記者らが自動運転タク...
ウォータールー大学の応用数学教授であるクリス・バウチ氏は、新しいディープラーニングアルゴリズムの結果...