Skip to main content

runcrate-haystack

Haystack chat generator for Runcrate: 200+ open models (DeepSeek, Qwen, Llama, Kimi, gpt-oss and more) behind one OpenAI-compatible API, billed per token from one prepaid balance. The same account rents GPUs by the hour for fine-tuning or serving your own model.

Install

pip install runcrate-haystack

Create an API key (docs) and export RUNCRATE_API_KEY=....

Use

from haystack.dataclasses import ChatMessage
from haystack_integrations.components.generators.runcrate import RuncrateChatGenerator

generator = RuncrateChatGenerator(model="deepseek-ai/DeepSeek-V3.2")
result = generator.run([ChatMessage.from_user("Explain LoRA fine-tuning in one sentence.")])
print(result["replies"][0].text)

Streaming

from haystack.components.generators.utils import print_streaming_chunk

generator = RuncrateChatGenerator(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507",
    streaming_callback=print_streaming_chunk,
)
generator.run([ChatMessage.from_user("Write a haiku about GPUs.")])

In a pipeline

from haystack import Pipeline
from haystack.components.builders import ChatPromptBuilder

template = [ChatMessage.from_user("Answer briefly: {{ question }}")]

pipe = Pipeline()
pipe.add_component("prompt", ChatPromptBuilder(template=template, required_variables=["question"]))
pipe.add_component("llm", RuncrateChatGenerator(model="deepseek-ai/DeepSeek-V3.2"))
pipe.connect("prompt.prompt", "llm.messages")

print(pipe.run({"prompt": {"question": "What is an H100?"}})["llm"]["replies"][0].text)

Tool calling

from haystack.components.agents import Agent
from haystack.tools import tool

@tool
def multiply(a: float, b: float) -> float:
    """Multiply two numbers."""
    return a * b

agent = Agent(chat_generator=RuncrateChatGenerator(model="openai/gpt-oss-120b"), tools=[multiply])
print(agent.run([ChatMessage.from_user("What is 1234 * 4567?")])["last_message"].text)

Arguments

Argument Default
model deepseek-ai/DeepSeek-V3.2; any id from GET https://api.runcrate.ai/v1/models
api_key Secret.from_env_var("RUNCRATE_API_KEY")
api_base_url https://api.runcrate.ai/v1
generation_kwargs max_tokens, temperature, top_p, stop, response_format ... sent as-is
tools list of Tool/Toolset (models with tool support)
streaming_callback, timeout, max_retries, http_client_kwargs as in Haystack's OpenAIChatGenerator

The component serializes with to_dict/from_dict, so pipelines that use it save to YAML; the API key is stored as an environment variable reference, never as a value. Models and prices: runcrate.ai/inference/pricing.

Let your agent rent GPUs too

Runcrate also runs a remote MCP server at https://mcp.runcrate.ai/mcp (OAuth sign-in in the browser, no key to paste): setup.

License

MIT, Aeonmind LLC.

Metadata

Release files for runcrate-haystack 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for runcrate-haystack 0.1.0
File Size Uploaded Provenance Actions
runcrate_haystack-0.1.0.tar.gz 7.3 kB Without provenance Details for runcrate_haystack-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for runcrate-haystack 0.1.0
File Interpreter ABI Platform Actions
runcrate_haystack-0.1.0-py3-none-any.whl Python 3 none any Details for runcrate_haystack-0.1.0-py3-none-any.whl

Total release size: 14.2 kB

Release files / runcrate_haystack-0.1.0.tar.gz

Download URL runcrate_haystack-0.1.0.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1059b883d473c3a85e0cefddd5a156616a5ce48d77a2edebabc30896d5a0dabe
BLAKE2b-256 checksum
How to use checksums
d7fbc6ccdf03cc2d68db969e2bc88d70f4eccd8841bf180d5ebb7e897278482b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.13

Release files / runcrate_haystack-0.1.0-py3-none-any.whl

Download URL runcrate_haystack-0.1.0-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d24b98b40f83ec502644e9e93021a8547a1696b03800770905cfb21c9531c9b9
BLAKE2b-256 checksum
How to use checksums
8befcd45b63bf3480d8c98d85f6981385a46aae4bb1417332ae31303fc2ebacd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.13

Security for runcrate-haystack 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page