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のサポートが組み込まれました
最近、誰かが StackExchange で、ネットユーザーに現在世界で最も古典的なアルゴリズムのト...
機械学習システムを分類する 1 つの方法は、一般化の程度によって分類することです。ほとんどの機械学習...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
[[351390]]コインの表裏のように、技術の進歩は人々の生産と生活を促進する一方で、深刻な実際...
翻訳者 | 陳俊レビュー | Chonglou業界では、従来のメインフレーム アプリケーションのコー...
Data & Society の新しいレポートでは、機械学習を使用して改変されるディープフェ...
マイクロソフトは9月12日、Microsoft Designerの適用プラットフォームを拡大し、We...
現在、人工知能 (AI) システムは反復的で非創造的なタスクを実行するのが得意ですが、スクリプトから...
中国における人工知能熱の高まりは、テクノロジーとビジネスによって推進されているだけでなく、政府の推進...
2018 年後半の発売以来、JAX の人気は着実に高まっています。 2020年、DeepMindは研...
シャム・ナンダン・ウパディヤイノアが編集制作:51CTO テクノロジースタック(WeChat ID:...
5月19日、Googleの開発者会議I/O 2021が開幕した。完全オンライン形式を採用し、Goog...
Q: 対称暗号化アルゴリズムと非対称暗号化アルゴリズムの違いは何ですか? 特に暗号化、署名、ハッシ...