Hugging Face チャット
Hugging Face 推論エンドポイントを使用すると、機械学習モデルをクラウドにデプロイして提供し、API 経由でアクセスできるようになります。
前提条件
Hugging Face に推論エンドポイントを作成し、エンドポイントにアクセスするための API トークンを作成する必要があります。詳細については、こちら (英語) を参照してください。Spring AI プロジェクトでは、spring.ai.huggingface.chat.api-key
という構成プロパティが定義されており、これを Hugging Face から取得した API トークンの値に設定する必要があります。また、Hugging Face でモデルをプロビジョニングするときに取得した推論エンドポイント URL に設定する必要がある spring.ai.huggingface.chat.url
という構成プロパティもあります。これは、こちらにある (英語) 推論エンドポイントの UI で確認できます。環境変数をエクスポートすることは、これらの構成プロパティを設定する 1 つの方法です。
export SPRING_AI_HUGGINGFACE_CHAT_API_KEY=<INSERT KEY HERE>
export SPRING_AI_HUGGINGFACE_CHAT_URL=<INSERT INFERENCE ENDPOINT URL HERE>
自動構成
Spring AI は、Hugging Face チャットクライアント用の Spring Boot 自動構成を提供します。これを有効にするには、プロジェクトの Maven pom.xml
ファイルに次の依存関係を追加します。
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-huggingface-spring-boot-starter</artifactId>
</dependency>
または、Gradle build.gradle
ビルドファイルに保存します。
dependencies {
implementation 'org.springframework.ai:spring-ai-huggingface-spring-boot-starter'
}
Spring AI BOM をビルドファイルに追加するには、"依存関係管理" セクションを参照してください。 |
サンプルコントローラー (自動構成)
新しい Spring Boot プロジェクトを作成し、spring-ai-huggingface-spring-boot-starter
を pom (または gradle) の依存関係に追加します。
src/main/resources
ディレクトリに application.properties
ファイルを追加して、Hugging Face チャットモデルを有効にして構成します。
spring.ai.huggingface.chat.api-key=YOUR_API_KEY
spring.ai.huggingface.chat.url=YOUR_INFERENCE_ENDPOINT_URL
api-key と url を Hugging Face の値に置き換えます。 |
これにより、クラスに挿入できる HuggingfaceChatModel
実装が作成されます。以下は、テキスト生成にチャットモデルを使用する単純な @Controller
クラスの例です。
@RestController
public class ChatController {
private final HuggingfaceChatModel chatModel;
@Autowired
public ChatController(HuggingfaceChatModel chatModel) {
this.chatModel = chatModel;
}
@GetMapping("/ai/generate")
public Map generate(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
return Map.of("generation", chatModel.call(message));
}
}
手動構成
HuggingfaceChatModel [GitHub] (英語) は ChatModel
インターフェースを実装し、[ 低レベル API] を使用して Hugging Face 推論エンドポイントに接続します。
spring-ai-huggingface
依存関係をプロジェクトの Maven pom.xml
ファイルに追加します。
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-huggingface</artifactId>
</dependency>
または、Gradle build.gradle
ビルドファイルに保存します。
dependencies {
implementation 'org.springframework.ai:spring-ai-huggingface'
}
Spring AI BOM をビルドファイルに追加するには、"依存関係管理" セクションを参照してください。 |
次に、HuggingfaceChatModel
を作成し、テキスト生成に使用します。
HuggingfaceChatModel chatModel = new HuggingfaceChatModel(apiKey, url);
ChatResponse response = chatModel.call(
new Prompt("Generate the names of 5 famous pirates."));
System.out.println(response.getGeneration().getResult().getOutput().getContent());