HuggingFace推理端点允许您在云中部署和服务机器学习模型,使它们可以通过API访问。

开始使用

关于HuggingFace推理端点的更多细节可以在此链接找到:https://huggingface.co/docs/inference-endpoints/index[这里]。

先决条件

添加 spring-ai-huggingface 依赖:

<dependency>
   <groupId>org.springframework.ai</groupId>
   <artifactId>spring-ai-huggingface</artifactId>
</dependency>

你应该获取你的HuggingFace API密钥并将其设置为环境变量。

export HUGGINGFACE_API_KEY=your_api_key_here
Tip
请参考依赖管理部分,将Spring AI BOM添加到您的构建文件中。

注意,目前还没有针对这个客户端实现的Spring Boot Starter。

获取推理终端的端点URL。您可以在推理终端的UI链接中找到这个:https://ui.endpoints.huggingface.co/[这里]。

调用模型

HuggingfaceChatClient client = new HuggingfaceChatClient(apiKey, basePath);
Prompt prompt = new Prompt("Your text here...");
ChatResponse response = client.call(prompt);
System.out.println(response.getGeneration().getText());

示例

使用在此链接中找到的示例:https://www.promptingguide.ai/models/mistral-7b[这里]

String mistral7bInstruct = """
        [INST] 你是一个有用的代码助手。你的任务是根据给定的信息生成一个有效的JSON对象:
        姓名: John
        姓氏: Smith
        地址: #1 Samuel St.
        只生成JSON对象,不需要解释:
        [/INST]""";
Prompt prompt = new Prompt(mistral7bInstruct);
ChatResponse aiResponse = huggingfaceChatClient.call(prompt);
System.out.println(response.getGeneration().getText());

将产生输出

{
    "name": "John",
    "lastname": "Smith",
    "address": "#1 Samuel St."
}