This package contains the official LangChain integrations for Writer through their writer-sdk
.
Note: This package is currently unreleased, in development, and subject to change.
- 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
).
The ChatWriter
class provides support of streaming and non-streaming chat completions, tool calls, batching, and asynchronous usage.
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)
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.")
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},
)
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])
To learn more about LangChain, see the official LangChain documentation. To learn more about Writer, see the Writer developer documentation.
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.