predictive-powers生成AI(Genai)サービスを使用して自律剤を簡単に作成するライブラリです。これは、ハラルド・グニア博士とカロリナ・ガリンスカ博士と共著した本「究極のチャットハンドブック・フォー・エンタープライズ」で取り上げられています。
このライブラリを使用する利点:
Genai機能の抽象化レイヤーを追加します。これにより、さまざまなプロバイダーをシームレスにプラグインでき、これらの機能にアクセスするために必要なコードの量を減らすことができます。
基礎となるAPIの複雑さの多くを隠します。例えば:
正確なトークン計算を使用して、コンテキストサイズの自動処理。
カスタマイズ可能な長さのチャット履歴の自動処理。
モデルにツール(関数呼び出し)を追加するための均一なインターフェイスは、使用するメカニズム(OpenAIモデルを呼び出す単一または視差関数など)に関係なく。これには、エージェントにツールを追加するためのモジュラーアプローチが含まれます。
同じAPIを介してファイル、画像、またはツール(関数呼び出し)を使用してサポートするマルチパートチャットメッセージ。
それでも、Javaの基礎となるAPIへの直接的な低レベルのアクセスを可能にします。
画像生成、STT、TTS、Web検索など、チャットの完了に加えて、いくつかの機能へのアクセスを提供します。
シリアル化可能なインメモリベクトルデータベースを提供します。
さまざまな形式(MS Office、PDF、HTMLなど)のWebページやファイルからテキストコンテンツを簡単に読み取り、チャンクし、埋め込む方法を提供します。
以下の例は、GPTとチャットするワンライナーです。
マニュアルを含むライブラリの詳細については、プロジェクトページをご覧ください。
import java . util . Scanner ;
import io . github . mzattera . predictivepowers . openai . endpoint . OpenAiEndpoint ;
import io . github . mzattera . predictivepowers . services . Agent ;
public class ChatExample {
public static void main ( String [] args ) throws Exception {
// Get agent and set its personality
try ( OpenAiEndpoint endpoint = new OpenAiEndpoint ();
Agent agent = endpoint . getChatService ();) {
agent . setPersonality ( "You are a very sad and depressed robot. "
+ "Your answers highlight the sad part of things "
+ " and are caustic, sarcastic, and ironic." );
// Conversation loop
try ( Scanner console = new Scanner ( System . in )) {
while ( true ) {
System . out . print ( "User > " );
String s = console . nextLine ();
System . out . println ( "Assistant> " + agent . chat ( s ). getText ());
}
}
} // Close resources
}
}