Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Read by thought-leaders and decision-makers around the world. Phone Number: +1-650-246-9381 Email: [email protected]
228 Park Avenue South New York, NY 10003 United States
Website: Publisher: https://towardsai.net/#publisher Diversity Policy: https://towardsai.net/about Ethics Policy: https://towardsai.net/about Masthead: https://towardsai.net/about
Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Founders: Roberto Iriondo, , Job Title: Co-founder and Advisor Works for: Towards AI, Inc. Follow Roberto: X, LinkedIn, GitHub, Google Scholar, Towards AI Profile, Medium, ML@CMU, FreeCodeCamp, Crunchbase, Bloomberg, Roberto Iriondo, Generative AI Lab, Generative AI Lab Denis Piffaretti, Job Title: Co-founder Works for: Towards AI, Inc. Louie Peters, Job Title: Co-founder Works for: Towards AI, Inc. Louis-FranΓ§ois Bouchard, Job Title: Co-founder Works for: Towards AI, Inc. Cover:
Towards AI Cover
Logo:
Towards AI Logo
Areas Served: Worldwide Alternate Name: Towards AI, Inc. Alternate Name: Towards AI Co. Alternate Name: towards ai Alternate Name: towardsai Alternate Name: towards.ai Alternate Name: tai Alternate Name: toward ai Alternate Name: toward.ai Alternate Name: Towards AI, Inc. Alternate Name: towardsai.net Alternate Name: pub.towardsai.net
5 stars – based on 497 reviews

Frequently Used, Contextual References

TODO: Remember to copy unique IDs whenever it needs used. i.e., URL: 304b2e42315e

Resources

Take our 85+ lesson From Beginner to Advanced LLM Developer Certification: From choosing a project to deploying a working product this is the most comprehensive and practical LLM course out there!

Publication

Streaming with Pydantic AI
Latest   Machine Learning

Streaming with Pydantic AI

Last Updated on April 15, 2025 by Editorial Team

Author(s): Barrett Studdard

Originally published on Towards AI.

Building a pattern around LLM streamingCredit Volodymyr Hryshchenko on Unsplash

In my prior article on building a DAX LLM, I utilized base API calls to stream data from Anthropic. In this article, we’ll look to utilize Pydantic AI to further productionize and expand on this pattern to also incorporate tool calls.

Pydantic AI is a newer LLM agent framework. It’s built by the team behind Pydantic, which I’m a fan of through past use in FastAPI projects. It’s smaller in scope compared to something like LangChain and provides a bridge for creating LLM building blocks.

async def anthropic_stream_api_call(chat_input_list: list) -> AsyncGenerator[str, None]: """Streams anthropic response. Args: chat_input_list (list): List of chat inputs to send to the API. Yields: AsyncGenerator[str, None]: Stream of anthropic response. """ # Build message list message_input = build_anthropic_message_input(chat_input_list=chat_input_list) # Setup and make api call. client = AsyncAnthropic(api_key=ANTHROPIC_API_KEY) stream = await client.messages.create( model="claude-3-5-sonnet-20241022", max_tokens=4096, temperature=0.2, system=get_system_prompt(chat_input_list), messages=message_input, stream=True ) async for event in stream: if event.type in ['message_start', 'message_delta', 'message_stop', 'content_block_start', 'content_block_stop']: pass elif event.type == 'content_block_delta': yield event.delta.text else: yield event.type

The most relevant example with the base API call approach is the following function:

The API call is made in an async function and then events handled for streaming and displaying where needed via a… Read the full blog for free on Medium.

Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming aΒ sponsor.

Published via Towards AI

Feedback ↓