CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-dev-langchain4j--langchain4j-hugging-face

LangChain4j integration library for Hugging Face inference capabilities including chat, language, and embedding models

Overview
Eval results
Files

language-model.mddocs/

Language Model API

Complete API reference for HuggingFaceLanguageModel (deprecated).

Deprecation Notice

This class is deprecated since version 1.7.0-beta13 and scheduled for removal.

Migration: Use OpenAiChatModel from langchain4j-open-ai module with Hugging Face's OpenAI-compatible endpoint.

See Migration Guide for complete details.

Overview

Provides simple text generation from prompts using Hugging Face language models.

Package: dev.langchain4j.model.huggingface Status: ⚠️ Deprecated (scheduled for removal) Interfaces: LanguageModel

Class Signature

package dev.langchain4j.model.huggingface;

@Deprecated(forRemoval = true, since = "1.7.0-beta13")
public class HuggingFaceLanguageModel implements dev.langchain4j.model.language.LanguageModel {

    // Construction
    public static Builder builder();
    public static HuggingFaceLanguageModel withAccessToken(String accessToken);

    // Generation operations
    public dev.langchain4j.model.output.Response<String> generate(String prompt);
    public dev.langchain4j.model.output.Response<String> generate(dev.langchain4j.model.input.Prompt prompt);
}

Builder API

public static final class Builder {

    public Builder baseUrl(String baseUrl);
    public Builder accessToken(String accessToken);
    public Builder modelId(String modelId);
    public Builder timeout(java.time.Duration timeout);
    public Builder temperature(Double temperature);
    public Builder maxNewTokens(Integer maxNewTokens);
    public Builder returnFullText(Boolean returnFullText);
    public Builder waitForModel(Boolean waitForModel);

    public HuggingFaceLanguageModel build();
}

Construction

builder()

public static Builder builder()

Example:

HuggingFaceLanguageModel model = HuggingFaceLanguageModel.builder()
    .accessToken(System.getenv("HF_API_KEY"))
    .modelId("microsoft/Phi-3-mini-4k-instruct")
    .temperature(0.8)
    .maxNewTokens(150)
    .build();

withAccessToken()

public static HuggingFaceLanguageModel withAccessToken(String accessToken)

Quick construction with defaults.

Generation Operations

generate(String)

public dev.langchain4j.model.output.Response<String> generate(String prompt)

Parameters:

  • prompt - Input prompt for generation

Returns: Response containing generated text

Throws: RuntimeException on API errors

Example:

Response<String> response = model.generate("Write a haiku:");
String text = response.content();

generate(Prompt)

public dev.langchain4j.model.output.Response<String> generate(dev.langchain4j.model.input.Prompt prompt)

Parameters:

  • prompt - Prompt object

Returns: Response containing generated text

Configuration

See Configuration Guide for all options.

Key Parameters:

  • accessToken (required) - API key
  • modelId (recommended) - Model identifier
  • temperature (optional) - Sampling temperature (0.0-2.0)
  • maxNewTokens (optional) - Max tokens to generate
  • returnFullText (optional) - Include prompt (default: false)
  • waitForModel (optional) - Wait if loading (default: true)
  • timeout (optional) - Request timeout (default: 15s)
  • baseUrl (optional) - Custom endpoint

Prompt Type

package dev.langchain4j.model.input;

public class Prompt {
    public String text();
    public static Prompt from(String text);
}

Response Type

package dev.langchain4j.model.output;

public class Response<T> {
    public T content();
    public static <T> Response<T> from(T content);
}

Usage Examples

Basic Generation

HuggingFaceLanguageModel model = HuggingFaceLanguageModel.builder()
    .accessToken(System.getenv("HF_API_KEY"))
    .modelId("tiiuae/falcon-7b-instruct")
    .build();

Response<String> response = model.generate("Explain AI:");
String text = response.content();

Code Generation

HuggingFaceLanguageModel model = HuggingFaceLanguageModel.builder()
    .accessToken(System.getenv("HF_API_KEY"))
    .modelId("microsoft/Phi-3-mini-4k-instruct")
    .temperature(0.2)  // Lower for deterministic code
    .maxNewTokens(200)
    .build();

String prompt = "Write a Java function to check if prime:\n";
String code = model.generate(prompt).content();

Creative Writing

HuggingFaceLanguageModel model = HuggingFaceLanguageModel.builder()
    .accessToken(System.getenv("HF_API_KEY"))
    .modelId("tiiuae/falcon-7b-instruct")
    .temperature(1.0)  // Higher for creativity
    .maxNewTokens(300)
    .build();

String story = model.generate("Write a story about AI:").content();

Using Prompt Template

import dev.langchain4j.model.input.*;
import java.util.Map;

PromptTemplate template = PromptTemplate.from(
    "Write a {{length}} story about {{topic}}:"
);

Prompt prompt = template.apply(Map.of(
    "length", "short",
    "topic", "robots"
));

Response<String> response = model.generate(prompt);

Error Handling

try {
    Response<String> response = model.generate(prompt);
} catch (RuntimeException e) {
    // Error format: "status code: <code>; body: <body>"
    System.err.println("Generation failed: " + e.getMessage());
}

Common Errors:

  • 401: Invalid token
  • 404: Model not found
  • 429: Rate limiting
  • 503: Model loading

Comparison with ChatModel

LanguageModel (this class):

  • Simple prompt-to-completion
  • No conversation history
  • Single-turn text generation

ChatModel (HuggingFaceChatModel):

  • Multi-turn conversation support
  • Structured message types
  • Conversation history

Both deprecated. Use OpenAiChatModel for new code.

Recommended Models

ModelSizeUse Case
tiiuae/falcon-7b-instruct7BGeneral purpose
microsoft/Phi-3-mini-4k-instructSmallEfficient, 4K context
mistralai/Mistral-7B-Instruct-v0.27BHigh quality
HuggingFaceH4/zephyr-7b-beta7BConversational

Related Documentation

Install with Tessl CLI

npx tessl i tessl/maven-dev-langchain4j--langchain4j-hugging-face

docs

chat-model.md

client-api.md

common-tasks.md

configuration.md

embedding-model.md

error-handling.md

index.md

language-model.md

migration-guide.md

model-names.md

quick-start.md

spi-extensions.md

tile.json