Maintained by deepset
Integration: TogetherAI
Use the Together API for text generation models.
Table of Contents
Overview
Once installed you will have access to TogetherAIGenerator and TogetherAIChatGenerator that allow you to call any LLMs available on TogetherAI, including:
- OpenAI variants such as
oopenai/gpt-oss-120B - deepseek-ai’s
deepseek-ai/DeepSeek-R1 - Other open-source models (Llama 2, Mixtral, etc.)
For more information on models available via the TogetherAI API, see the TogetherAI docs.
In order to follow along with this guide, you’ll need a TogetherAI API key. Add it as an environment variable, TOGETHER_API_KEY.
Installation
pip install togetherai-haystack
Usage
You can use TogetherAIChatGenerator as standalone, within a pipeline or with the Agent component.
Here’s an example of using it as a standalone component:
import os
from haystack.dataclasses import ChatMessage
from haystack_integrations.components.generators.togetherai import TogetherAIChatGenerator
os.environ["TOGETHER_API_KEY"] = "YOUR_TOGETHER_API_KEY"
client = TogetherAIChatGenerator() # defaults to "meta-llama/Llama-3.3-70B-Instruct-Turbo",
response = client.run(
[ChatMessage.from_user("What are Agentic Pipelines? Be brief.")]
)
print(response["replies"])
{'replies': [ChatMessage(_role=<ChatRole.ASSISTANT: 'assistant'>, _content=[TextContent(text='The capital of Vietnam is Hanoi.')], _name=None, _meta={'model': 'meta-llama/Llama-3.3-70B-Instruct-Turbo', 'index': 0, 'finish_reason': 'stop', 'usage': {'completion_tokens': 8, 'prompt_tokens': 13, 'total_tokens': 21, 'completion_tokens_details': CompletionTokensDetails(accepted_prediction_tokens=None, audio_tokens=None, reasoning_tokens=0, rejected_prediction_tokens=None), 'prompt_tokens_details': PromptTokensDetails(audio_tokens=None, cached_tokens=0)}})]}
TogetherAIChatGenerator also support streaming responses if you pass a streaming callback:
import os
from haystack.dataclasses import ChatMessage
from haystack_integrations.components.generators.togetherai import TogetherAIChatGenerator
os.environ["TOGETHER_API_KEY"] = "YOUR_TOGETHER_API_KEY"
def show(chunk): # simple streaming callback
print(chunk.content, end="", flush=True)
client = TogetherAIChatGenerator(
model="deepseek-ai/DeepSeek-R1",
streaming_callback=show,
generation_kwargs={"max_tokens": 100, "temperature": 0.7, "top_p": 0.9},
)
response = client.run([ChatMessage.from_user("Summarize RAG in two lines.")])
print (response)
License
togetherai-haystack is distributed under the terms of the
Apache-2.0 license.
