Skip to main content

An integration package connecting Writer and LangChain (includes deprecated features such as PDFParser and WriterTextSplitter)

Project description

langchain-writer

This package contains the official LangChain integrations for Writer through their writer-sdk.

Installation and Setup

  • Install the LangChain partner package:
pip install -U langchain-writer
  • Sign up for Writer AI Studio and follow this Quickstart to obtain an API key.
  • Set your Writer API key as an environment variable (WRITER_API_KEY).

Chat capabilities

The ChatWriter class provides support of streaming and non-streaming chat completions, tool calls, batching, and asynchronous usage.

Streaming (sync/async):

from langchain_writer import ChatWriter

llm = ChatWriter()

# Sync chat call
generator = llm.stream("Sing a ballad of LangChain.")

for chunk in generator:
    print(chunk)

# Async chat call
generator = await llm.astream("Sing a ballad of LangChain.")

async for chunk in generator:
    print(chunk)

Non-streaming (sync/async):

from langchain_writer import ChatWriter

llm = ChatWriter()

# Sync chat call
llm.invoke("Sing a ballad of LangChain.")

# Async chat call
await llm.ainvoke("Sing a ballad of LangChain.")

Batching (sync/async)

from langchain_writer import ChatWriter

llm = ChatWriter()

llm.batch(
        [
            "How to cook pancakes?",
            "How to compose poem?",
            "How to run faster?",
        ],
        config={"max_concurrency": 2},
    )

Tool binding

from langchain_writer import ChatWriter
from langchain_core.tools import tool
from typing import Optional
from pydantic import BaseModel, Field


@tool
def get_supercopa_trophies_count(club_name: str) -> Optional[int]:
    """Returns information about supercopa trophies count.

    Args:
        club_name: Club you want to investigate info of supercopa trophies about

    Returns:
        Number of supercopa trophies or None if there is no info about requested club
    """
    # Tool implementation


class GetWeather(BaseModel):
    '''Get the current weather in a given location'''

    location: str = Field(..., description="The city and state, e.g. San Francisco, CA")


llm = ChatWriter()

llm.bind_tools([get_supercopa_trophies_count, GetWeather])

Additional resources

To learn more about LangChain, see the official LangChain documentation. To learn more about Writer, see the Writer developer documentation.

About Writer

Writer is the full-stack generative AI platform for enterprises. Quickly and easily build and deploy generative AI apps with a suite of developer tools fully integrated with our platform of LLMs, graph-based RAG tools, AI guardrails, and more. Learn more at writer.com.

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_writer-0.3.5.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

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

langchain_writer-0.3.5-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file langchain_writer-0.3.5.tar.gz.

File metadata

  • Download URL: langchain_writer-0.3.5.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.7 Darwin/24.6.0

File hashes

Hashes for langchain_writer-0.3.5.tar.gz
Algorithm Hash digest
SHA256 8e1049228908215bbe911cfa9f485d929fcd7f4d65f2dfb3f7b847b91fe41a3e
MD5 6fe9a68f4dc54c648217c9d7a4b3c406
BLAKE2b-256 42a3d4ef69d9bc8b2fbecb1f606b5a01c889dde6a55da99602f592f493d182ac

See more details on using hashes here.

File details

Details for the file langchain_writer-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: langchain_writer-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.7 Darwin/24.6.0

File hashes

Hashes for langchain_writer-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 be2a1699a0d3d75df70270b4ad7f356d7ee3e310eb7a5a650f1b24b4068ca449
MD5 d91fa7b9a20d612c5225e6e30ff00eed
BLAKE2b-256 e0496a6f7b332fd385a03b8c74101b0fd47bbb63abd477109c0e26966e110531

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