Skip to content

HuggingFace Quick Reference

Installation

pip install graphbit huggingface_hub python-dotenv

Setup

from graphbit import init
from dotenv import load_dotenv

load_dotenv()
init()

Rust-Based Integration (Workflows)

Simple Chat

from graphbit import LlmConfig, LlmClient
import os

config = LlmConfig.huggingface(
    api_key=os.getenv("HUGGINGFACE_API_KEY"),
    model="meta-llama/Llama-3.3-70B-Instruct"
)

client = LlmClient(config)
response = client.complete(prompt="Hello!")
print(response)

Single Agent Workflow

from graphbit import LlmConfig, Workflow, Node, Executor
import os

config = LlmConfig.huggingface(
    api_key=os.getenv("HUGGINGFACE_API_KEY"),
    model="mistralai/Mistral-7B-Instruct-v0.3"
)

executor = Executor(config, timeout_seconds=120)
workflow = Workflow("My Workflow")

node = Node.agent(
    name="Agent",
    prompt="Your prompt here",
    agent_id="agent1"
)

workflow.add_node(node)
workflow.validate()

result = executor.execute(workflow)
print(result.get_node_output("Agent"))

Multi-Provider Workflow

from graphbit import LlmConfig, Workflow, Node, Executor
import os

hf_config = LlmConfig.huggingface(
    api_key=os.getenv("HUGGINGFACE_API_KEY"),
    model="mistralai/Mistral-7B-Instruct-v0.3"
)

openai_config = LlmConfig.openai(
    api_key=os.getenv("OPENAI_API_KEY"),
    model="gpt-4o-mini"
)

executor = Executor(openai_config, timeout_seconds=120)
workflow = Workflow("Multi-Provider")

# HuggingFace node
node1 = Node.agent(
    name="HF Agent",
    prompt="Generate content",
    llm_config=hf_config,  # Override
    agent_id="hf"
)

# OpenAI node (uses executor default)
node2 = Node.agent(
    name="OpenAI Agent",
    prompt="Summarize",
    agent_id="openai"
)

n1 = workflow.add_node(node1)
n2 = workflow.add_node(node2)
workflow.connect(n1, n2)
workflow.validate()

result = executor.execute(workflow)

Direct Python Wrapper

Chat Completion

from graphbit.providers import Huggingface
import os

hf = Huggingface(api_token=os.getenv("HUGGINGFACE_API_KEY"))

messages = [{"role": "user", "content": "Hello!"}]

response = hf.llm.chat(
    model="meta-llama/Llama-3.3-70B-Instruct",
    messages=messages,
    max_tokens=100
)

content = hf.llm.get_output_content(response)
print(content)

Embeddings

from graphbit.providers import Huggingface
import os

hf = Huggingface(api_token=os.getenv("HUGGINGFACE_API_KEY"))

embeddings = hf.embeddings.embed(
    model="sentence-transformers/all-MiniLM-L6-v2",
    text="Your text here"
)

print(f"Dimension: {len(embeddings)}")

Sentence Similarity

from graphbit.providers import Huggingface
import os

hf = Huggingface(api_token=os.getenv("HUGGINGFACE_API_KEY"))

similarities = hf.embeddings.similarity(
    model="sentence-transformers/all-MiniLM-L6-v2",
    sentence="I love coding",
    other_sentences=["I enjoy programming", "I like pizza"]
)

print(similarities)