Skip to main content

An integration package connecting Together AI and LangChain

Project description

langchain-together

This package contains the LangChain integration with Together AI.

Installation

pip install langchain-together

Chat Models

ChatTogether supports the various models available via the Together API:

from langchain_together import ChatTogether
import os


os.environ["TOGETHER_API_KEY"] = "my-key"


llm = ChatTogether(
    model="Qwen/Qwen2.5-7B-Instruct-Turbo",
    temperature=0,
    max_tokens=None,
    timeout=None,
    max_retries=2,
    # api_key="...",  # if not set in environment variable
)

Structured Outputs, Function Calls, JSON Mode

ChatTogether supports structured outputs using Pydantic models, dictionaries, or JSON schemas. This feature allows you to get reliable, structured responses from Together AI models. See here the docs for more info about function calling and structured outputs

from langchain_together import ChatTogether
from pydantic import BaseModel, Field
from typing import Optional

class Joke(BaseModel):
    setup: str = Field(description="The setup of the joke")
    punchline: str = Field(description="The punchline of the joke")
    rating: Optional[int] = Field(default=None, description="How funny the joke is from 1-10")

# Use a model that supports function calling
llm = ChatTogether(model="Qwen/Qwen2.5-7B-Instruct-Turbo")
structured_llm = llm.with_structured_output(Joke.model_json_schema(), method="json_schema")

result = structured_llm.invoke("Tell me a joke about programming")
print(f"Setup: {result.setup}")
print(f"Punchline: {result.punchline}")
print(f"Rating: {result.rating}")

Function Calling

# Use a model that supports function calling
llm = ChatTogether(model="Qwen/Qwen2.5-7B-Instruct-Turbo")
structured_llm = llm.with_structured_output(Joke, method="function_calling")

result = structured_llm.invoke("Tell me a joke about programming")
print(f"Setup: {result.setup}")
print(f"Punchline: {result.punchline}")
print(f"Rating: {result.rating}")

JSON Mode

For models that support JSON mode, you can also use this method:

from langchain_together import ChatTogether
from pydantic import BaseModel, Field

class Response(BaseModel):
    message: str = Field(description="The main message")
    category: str = Field(description="Category of the response")

# Use a model that supports JSON mode
llm = ChatTogether(model="Qwen/Qwen2.5-7B-Instruct-Turbo")
structured_llm = llm.with_structured_output(Response.model_json_schema(), method="json_mode")

result = structured_llm.invoke(
    "Respond with a JSON containing a message about cats and categorize it. "
    "Use the exact keys 'message' and 'category'."
)

Embeddings

from langchain_together import TogetherEmbeddings

embeddings = TogetherEmbeddings(model="intfloat/multilingual-e5-large-instruct")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_together-0.4.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_together-0.4.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file langchain_together-0.4.0.tar.gz.

File metadata

  • Download URL: langchain_together-0.4.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for langchain_together-0.4.0.tar.gz
Algorithm Hash digest
SHA256 f488392ecdfeb05c5f2f8162596aff43a3b4d6a4ccf2f821d6e2602a0c5563c6
MD5 109802efb19f1a755e0b486166d2c91a
BLAKE2b-256 faa92624fffd4d341454a292dde416c3d2cfbbb6354a2388a57a3d06d6ca4014

See more details on using hashes here.

File details

Details for the file langchain_together-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_together-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a94a0d15b0c01844edf22941aef6fe0f065d0e31e2ba215a544b366d8a1eba89
MD5 9186c1ec4f643184a6484c2c1a1d5c46
BLAKE2b-256 bb95733358fb831b73585a40dfa3c59b170772e89ce06af1c888254fbaaaf5d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page