Releases: agno-agi/agno
v1.1.6
Changelog
New Features:
- Claude 3.7 Support: Added support for the latest Claude 3.7 Sonnet model
Bug Fixes:
- Claude Tool Use: Fixed an issue where tools and content could not be used in the same block when interacting with Claude models.
What's Changed
- Add claude 3.7 and thinking to messages by @ashpreetbedi in #2220
- Release 1.1.6 by @ashpreetbedi in #2221
Full Changelog: v1.1.5...v1.1.6
v1.1.5
Changelog
New Features:
- Audio Responses: Agents can now deliver audio responses (both with streaming and non-streaming).
-
The audio is in the
agent.run_response.response_audio
. -
This only works with
OpenAIChat
with thegpt-4o-audio-preview
model. See their docs for more on how it works. For examplefrom agno.agent import Agent from agno.models.openai import OpenAIChat from agno.utils.audio import write_audio_to_file agent = Agent( model=OpenAIChat( id="gpt-4o-audio-preview", modalities=["text", "audio"], # Both text and audio responses are provided. audio={"voice": "alloy", "format": "wav"}, ), ) agent.print_response( "Tell me a 5 second story" ) if agent.run_response.response_audio is not None: write_audio_to_file( audio=agent.run_response.response_audio.base64_audio, filename=str(filename) )
-
See the audio_conversation_agent cookbook to test it out on the Agent Playground.
-
- Image understanding support for Together.ai and XAi: You can now give images to agents using models from XAi and Together.ai.
- Webex Tool: Added a tool for sending messages on Webex.
- Upstash Vector DB: Added support for Upstash.
Improvements:
- Automated Tests: Added integration tests for all models. Most of these will be run on each pull request, with a suite of integration tests run before a new release is published.
- Grounding and Search with Gemini: Grounding and Search can be used to improve the accuracy and recency of responses from the Gemini models.
Bug Fixes:
- Structured output updates: Fixed various cases where native structured output was not used on models
- Ollama tool parsing: Fixed cases for Ollama with tools with optional parameters
- Gemini Memory Summariser: Fixed cases where Gemini models were used as the memory summariser.
- Gemini Auto Tool Calling: Enabled automatic tool calling when tools are provided, aligning behavior with other models.
- FixedSizeChunking issue with overlap: Fixed issue where chunking would fail if overlap was set.
- Claude Tools with Multiple Types: Fixed an issue where Claude tools would break when handling a union of types in parameters.
- JSON Response Parsing: Fixed cases where JSON model responses returned quoted strings within dictionary values.
What's Changed
- Add pinecone compatible version warning by @pritipsingh in #2154
- Fix issue with telemetry being overwritten by @dirkbrnd in #2170
- Update how memory summarizer works by @dirkbrnd in #2167
- Add deepseek and qwen demo cookbook by @dirkbrnd in #2168
- fix-chunk-function-in-fixed-chunking by @manishsarvaha12 in #2121
- Update agno assist by @ashpreetbedi in #2191
- Fix/telemetry by @ysolanky in #2192
- Fix JSON schema error when using tools with anyOf instead of type by @kepler in #2196
- Raise model provider errors by @dirkbrnd in #2181
- Fix how tools are parsed for Ollama by @dirkbrnd in #2182
- Add tests for models by @manthanguptaa in #2180
- Add auto tool calling for Gemini by @dirkbrnd in #2187
- Add tests for azure by @manthanguptaa in #2199
- Fix structured outputs on various models by @dirkbrnd in #2109
- Fix how quotes are parsed in json by @dirkbrnd in #2189
- Audio output from models (i.e. voice mode) by @dirkbrnd in #1598
- feat/gemini-grounding by @ysolanky in #2169
- Enable automated tests by @dirkbrnd in #2135
- Adding multimodal cookbooks for xai and together by @manthanguptaa in #2212
- support boto session for AWS by @liorheber in #2205
- Read/Write files in UTF-8 by @matrix0415 in #2203
- Web Reader - Do not ignore http error by @RhysC in #2178
- [VectorDB] upstash vectordb integration by @enesgules in #2076
- Ft: Webex Integration Tool by @zszazi in #1906
- playground-memory-fix-ag-2740 by @ysolanky in #2216
- Update error response format in playground to use detail key instead … by @anuragts in #2215
- Release 1.1.5 by @dirkbrnd in #2202
New Contributors
- @manishsarvaha12 made their first contribution in #2121
- @kepler made their first contribution in #2196
- @liorheber made their first contribution in #2205
- @matrix0415 made their first contribution in #2203
- @RhysC made their first contribution in #2178
- @enesgules made their first contribution in #2076
- @zszazi made their first contribution in #1906
Full Changelog: v1.1.4...v1.1.5
v1.1.4
Changelog
Improvements
- Gmail Tools: Added
get_emails_by_thread
andsend_email_reply
methods toGmailTools
.
Bug Fixes:
- Gemini List Parameters: Fixed issue with functions with list-type parameters in Gemini.
- Gemini Safety Parameters: Fixed issue with passing safety parameters in Gemini.
- ChromaDB Multiple Docs: Fixed issue with loading multiple documents into ChromaDB.
- Agentic Chunking: Fixed an issue where
openai
would be required for chunking even if a model was passed.
What's Changed
- ✨ Add metadata support to OpenAIChat by @Sunwood-ai-labs in #2146
- feat: http-exception and exception catchers by @anuragts in #2155
- Add tests for Gemini and fix error by @dirkbrnd in #2152
- Fix Agentic Chunking by @manthanguptaa in #2156
- agentic-rag improvments by @Ayush0054 in #2023
- Gmail tools improvements and updates by @willemcdejongh in #2092
- Fix Chroma DB if multiple docs are inserted by @dirkbrnd in #2144
- Release 1.1.4 by @dirkbrnd in #2160
New Contributors
- @Sunwood-ai-labs made their first contribution in #2146
Full Changelog: v1.1.3...v1.1.4
v1.1.3
Changelog
Bug Fixes:
- Gemini Tool-Call History: Fixed an issue where Gemini rejected tool-calls from historic messages.
What's Changed
- Gemini tool calling history fix by @dirkbrnd in #2136
- Fix video_to_shorts.py by @djacobs7 in #2142
- Release 1.1.3 by @dirkbrnd in #2143
New Contributors
Full Changelog: v1.1.2...v1.1.3
v1.1.2
Changelog
Improvements:
-
Reasoning with o3 Models: Reasoning support added for OpenAI’s o3 models.
-
Gemini embedder update: Updated the
GeminiEmbedder
to use the new Google’s genai SDK. This update introduces a slight change in the interface:# Before embeddings = GeminiEmbedder("models/text-embedding-004").get_embedding( "The quick brown fox jumps over the lazy dog." ) # After embeddings = GeminiEmbedder("text-embedding-004").get_embedding( "The quick brown fox jumps over the lazy dog." )
Bug Fixes:
- Singlestore Fix: Fixed issue where when querying singlestore the embeddings column was returning in binary format.
- MongoDB Vectorstore Fix: MongoDB had multiple issues like creating and dropping the collections twice while initialising. All known issues were fixed.
- LanceDB Fix: Fixed various errors on LanceDB and added
on_bad_vectors
as parameters.
What's Changed
- Fix singlestore database by @manthanguptaa in #2108
- Fix mongodb vector database by @manthanguptaa in #2125
- cookbook/hackathon by @ysolanky in #2118
- Reasoning using o-series models by @ashpreetbedi in #2117
- hackathon-update-yash by @ysolanky in #2132
- Tic Tac Toe example by @anuragts in #2066
- Podcast Generator by @Itz-Antaripa in #2094
- hackathon-update-examples by @ysolanky in #2138
- Update lancedb and gemini embedder by @dirkbrnd in #2102
- async_delay by @ysolanky in #2141
- Release 1.1.2 by @dirkbrnd in #2140
Full Changelog: v1.1.1...v1.1.2
v1.1.1
Changelog
Improvements:
-
File / Image Uploads on Agent UI: Agent UI now supports file and image uploads with prompts.
- Supported file formats:
.pdf
.csv
.txt
.docx
.json
- Supported image formats:
.png
.jpeg
.jpg
.webp
- Supported file formats:
-
Firecrawl Custom API URL: Allowed users to set a custom API URL for Firecrawl.
-
Updated
ModelsLabTools
Toolkit Constructor: The constructor in/libs/agno/tools/models_labs.py
has been updated to accommodate audio generation API calls. This is a breaking change, as the parameters for theModelsLabTools
class have changed. Theurl
andfetch_url
parameters have been removed, and API URLs are now decided based on thefile_type
provided by the user.MODELS_LAB_URLS = { "MP4": "https://modelslab.com/api/v6/video/text2video", "MP3": "https://modelslab.com/api/v6/voice/music_gen", "GIF": "https://modelslab.com/api/v6/video/text2video", } MODELS_LAB_FETCH_URLS = { "MP4": "https://modelslab.com/api/v6/video/fetch", "MP3": "https://modelslab.com/api/v6/voice/fetch", "GIF": "https://modelslab.com/api/v6/video/fetch", }
The
FileType
enum now includesMP3
type:class FileType(str, Enum): MP4 = "mp4" GIF = "gif" MP3 = "mp3"
Bug Fixes:
- Gemini functions with no parameters: Addressed an issue where Gemini would reject function declarations with empty properties.
- Fix exponential memory growth: Fixed certain cases where the agent memory would grow exponentially.
- Chroma DB: Fixed various issues related to metadata on insertion and search.
- Gemini Structured Output: Fixed a bug where Gemini would not generate structured output correctly.
- MistralEmbedder: Fixed issue with instantiation of
MistralEmbedder
. - Reasoning: Fixed an issue with setting reasoning models.
- Audio Response: Fixed an issue with streaming audio artefacts to the playground.
What's Changed
- Fix audio on responses by @dirkbrnd in #2091
- reasoning-fix-ag-2692 by @ysolanky in #2096
- Add optional parameter to pass custom api url in firecrawl by @anuragts in #2097
- Make Gemini return structured outputs by @dirkbrnd in #2098
- Blog to audio podcast generator by @anuragts in #2090
- added audio to text example by @Ansub in #2089
- added audio sentimental analysis example by @Ansub in #2086
- Fix Chroma DB by @manthanguptaa in #2104
- fix: mistral initialization by @pritipsingh in #2106
- Remove image_to_image_agent from multimodal agents playground by @Ansub in #2110
- Music generator by @mishramonalisha76 in #2103
- fix case where memory is None when you get the system message by @dirkbrnd in #2111
- Fix history growing exponentially by @dirkbrnd in #2101
- Fix issue with Gemini and functions with no params by @dirkbrnd in #2123
- Release 1.1.1 by @dirkbrnd in #2124
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Changelog
Model Improvements:
- Models Refactor: A complete overhaul of our models implementation to improve on performance and to have better feature parity across models.
- This improves metrics and visibility on the Agent UI as well.
- All models now support async-await, with the exception of
AwsBedrock
.
- Azure AI Foundry: We now support all models on Azure AI Foundry. Learn more [here](https://learn.microsoft.com/azure/ai-services/models)..
- AWS Bedrock Support: Our redone AWS Bedrock implementation now supports all Bedrock models. It is important to note [which models support which features](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html).
- Gemini via Google SDK: With the 1.0.0 release of [Google’s genai SDK](https://github.com/googleapis/python-genai) we could improve our previous implementation of
Gemini
. This will allow for easier integration of Gemini features in future. - Model Failure Retries: We added better error handling of third-party errors (e.g. Rate-Limit errors) and the agent will now optionally retry with exponential backoff if
exponential_backoff
is set toTrue
.
Other Improvements
- Exa Answers Support: Added support for the [Exa answers](https://docs.exa.ai/reference/answer) capability.
- GoogleSearchTools: Updated the name of
GoogleSearch
toGoogleSearchTools
for consistency.
Deprecation
- Our
Gemini
implementation directly on the Vertex API has been replaced by the Google SDK implementation ofGemini
. - Our
Gemini
implementation via the OpenAI client has been replaced by the Google SDK implementation ofGemini
. - Our
OllamaHermes
has been removed as the implementation ofOllama
was improved.
Bug Fixes
- Team Members Names: Fixed a bug where teams where team members have non-aphanumeric characters in their names would cause exceptions.
What's Changed
- add LICENSE by @Ansub in #2061
- update langchain modules by @pritipsingh in #2067
- update-readme-ag-2684 by @ysolanky in #2074
- Googlesheet duplicate improvements by @Ayush0054 in #2070
- Add Exa Answer method by @dirkbrnd in #2078
- Remove show tool call from multimodal agent by @mishramonalisha76 in #2062
- google-search-tool-update-ag-2659 by @ysolanky in #2025
- Escape markdown tags from print_response by @ashpreetbedi in #2018
- Stateless models by @ashpreetbedi in #1976
- Get api key from env file by @anuragts in #2087
- Fix Playground session name by @manthanguptaa in #2085
- Fix for teams with weird names by @dirkbrnd in #2088
- Release 1.1.0 - Models Refactor and Cloud Support by @dirkbrnd in #2084
New Contributors
- @mishramonalisha76 made their first contribution in #2062
Full Changelog: v1.0.8...v1.1.0
v1.0.8
Changelog
New Features:
- Perplexity Model: We now support [Perplexity](https://www.perplexity.ai/) as a model provider.
- Todoist Toolkit: Added a toolkit for managing tasks on Todoist.
- JSON Reader: Added a JSON file reader for use in knowledge bases.
Improvements:
- LanceDb: Implemented
name_exists
function for LanceDb
Bug Fixes:
- Storage growth bug: Fixed a bug with duplication of
run_messages.messages
for every run in storage
What's Changed
- Mistral Async implementation by @dirkbrnd in #2002
- Async Cohere by @manthanguptaa in #2004
- Google sheets tool ag 2636 by @ysolanky in #1994
- weaviate-vector-db-ag-2637 by @ysolanky in #1995
- Add custom retriever by @ashpreetbedi in #2013
- fix: chess readme env by @anuragts in #2016
- Added Todoist Tool by @Ansub in #2020
- Update cookbooks to composio agno by @dirkbrnd in #2033
- Add JSON file support for file input by @pritipsingh in #2009
- lance-db-name_exists-ag-2655 by @ysolanky in #2024
- AG-2323 Add perplexity model by @willemcdejongh in #1997
- add image support in file upload by @Ayush0054 in #2007
- fix-memory-ag-2662 by @ysolanky in #2028
- Add logging for various operations in tools by @onukura in #2011
- Run response default dict fix by @dirkbrnd in #2034
- fix: pineconedb use namespace value from global variable by @leontruzqy in #2041
- Make email param optional in cal tool by @srexrg in #1970
- Release 1.0.8 by @dirkbrnd in #2043
New Contributors
- @onukura made their first contribution in #2011
- @leontruzqy made their first contribution in #2041
Full Changelog: v1.0.6...v1.0.8
v1.0.7
Changelog
New Features:
- Google Sheets Toolkit: Added a basic toolkit for reading, creating and updating Google sheets.
- Weviate Vector Store: Added support for Weviate as a vector store.
Improvements:
- Mistral Async: Mistral now supports async execution via
agent.arun()
andagent.aprint_response()
. - Cohere Async: Cohere now supports async execution via
agent.arun()
andagent.aprint_response()
Bug Fixes:
- Retriever as knowledge source: Added small fix and examples for using the custom
retriever
parameter with an agent.
What's Changed
- Mistral Async implementation by @dirkbrnd in #2002
- Async Cohere by @manthanguptaa in #2004
- Google sheets tool ag 2636 by @ysolanky in #1994
- weaviate-vector-db-ag-2637 by @ysolanky in #1995
- Add custom retriever by @ashpreetbedi in #2013
- fix: chess readme env by @anuragts in #2016
Full Changelog: v1.0.6...v1.0.7
v1.0.6
Changelog
New Features:
- Google Maps Toolkit: Added a rich toolkit for Google Maps that includes business discovery, directions, navigation, geocode locations, nearby places, etc.
- URL reader and knowledge base: Added reader and knowledge base that can process any URL and store the text contents in the document store.
Bug Fixes:
- Zoom tools fix: Zoom tools updated to include the auth step and other misc fixes.
- Github search_repositories pagination: Pagination did not work correctly and this was fixed.
What's Changed
- Fix implementation of zoom tools by @dirkbrnd in #1986
- Fix pagination in github tools and add tests by @dirkbrnd in #1996
- Add google maps toolkit [AG-2575] by @dirkbrnd in #1962
- Update performance evals for other frameworks by @dirkbrnd in #2006
- Deep knowledge by @ashpreetbedi in #2010
Full Changelog: v1.0.5...v1.0.6