2025-04-11
v1.2.16

Improvements:

  • Teams Improvements: Multiple improvements to teams to make task forwarding to member agents more reliable and to make the team leader more conversational. Also added various examples of reasoning with teams.
  • Knowledge on Teams: Added knowledge to Team to better align with the functionality on Agent. This comes with retriever to set a custom retriever and search_knowledge to enable Agentic RAG.

Bug Fixes:

  • Gemini Grounding Chunks: Fixed error when Gemini Grounding was used in streaming.
  • OpenAI Defaults in Structured Outputs: OpenAI does not allow defaults in structured outputs. To make our structured outputs as compatible as possible without adverse effects, we made updates to OpenAIResponses and OpenAIChat.
2025-04-08
v1.2.14

Improvements:

  • Improved Github Tools: Added many more capabilities to GithubTools.
  • Windows Scripts Support: Converted all the utility scripts to be Windows compatible.
  • MongoDB VectorDB Async Support: MongoDB can now be used in async knowledge bases.

Bug Fixes:

  • Gemini Tool Formatting: Fixed various cases where functions would not be parsed correctly when used with Gemini.
  • ChromaDB Version Compatibility: Fix to ensure that ChromaDB and Agno are compatible with newer versions of ChromaDB.
  • Team-Member Interactions: Fixed issue where if members respond with empty content the team would halt. This is now be resolved.
  • Claude Empty Response: Fixed a case when the response did not include any content with tool calls resulting in an error from the Anthropic API
2025-04-07
v1.2.12

New Features:

  • Timezone Identifier: Added a new timezone_identifier parameter in the Agent class to include the timezone alongside the current date in the instructions.
  • Google Cloud JSON Storage: Added support for JSON-based session storage on Google Cloud.
  • Reasoning Tools: Added ReasoningTools for an advanced reasoning scratchpad for agents.

Improvements:

  • Async Vector DB and Knowledge Base Improvements: More knowledge bases have been updated for async-await support:
    • URLKnowledgeBase → Find some examples here.
    • FireCrawlKnowledgeBase → Find some examples here.
    • DocxKnowledgeBase → Find some examples here.
2025-04-07
v1.2.11

Bug Fixes:

  • Fix for structured outputs: Fixed cases of structured outputs for reasoning.
2025-04-07
v1.2.10

1.2.10

New Features:

  • Knowledge Tools: Added KnowledgeTools for thinking, searching and analysing documents in a knowledge base.
2025-04-05
v1.2.9

1.2.9

Improvements:

  • Simpler MCP Interface: Added MultiMCPTools to support multiple server connections and simplified the interface to allow command to be passed. See these examples of how to use it.
2025-04-04
v1.2.8

1.2.8

Changelog

New Features:

  • Toolkit Instructions: Extended Toolkit with instructions and add_instructions to enable you to specify additional instructions related to how a tool should be used. These instructions are then added to the model’s “system message” if add_instructions=True .

Bug Fixes:

  • Teams transfer functions: Some tool definitions of teams failed for certain models. This has been fixed.
2025-04-02
v1.2.7

1.2.7

New Features:

  • Gemini Image Generation: Added support for generating images straight from Gemini using the gemini-2.0-flash-exp-image-generation model.

Improvements:

  • Vertex AI: Improved use of Vertex AI with Gemini Model class to closely follow the official Google specification
  • Function Result Caching Improvement: We now have result caching on all Agno Toolkits and any custom functions using the @tool decorator. See the docs here.
  • Async Vector DB and Knowledge Base Improvements: Various knowledge bases, readers and vector DBs now have async-await support, so it will be used in agent.arun and agent.aprint_response. This also means that knowledge_base.aload() is possible which should greatly increase loading speed in some cases. The following have been converted:
    • Vector DBs:
      • LanceDbHere is a cookbook to illustrate how to use it.
      • MilvusHere is a cookbook to illustrate how to use it.
      • WeaviateHere is a cookbook to illustrate how to use it.
    • Knowledge Bases:
      • JSONKnowledgeBaseHere is a cookbook to illustrate how to use it.
      • PDFKnowledgeBaseHere is a cookbook to illustrate how to use it.
      • PDFUrlKnowledgeBaseHere is a cookbook to illustrate how to use it.
      • CSVKnowledgeBaseHere is a cookbook to illustrate how to use it.
      • CSVUrlKnowledgeBaseHere is a cookbook to illustrate how to use it.
      • ArxivKnowledgeBaseHere is a cookbook to illustrate how to use it.
      • WebsiteKnowledgeBaseHere is a cookbook to illustrate how to use it.
      • YoutubeKnowledgeBaseHere is a cookbook to illustrate how to use it.
      • TextKnowledgeBaseHere is a cookbook to illustrate how to use it.

Bug Fixes:

  • Recursive Chunking Infinite Loop: Fixes an issue with RecursiveChunking getting stuck in an infinite loop for large documents.
2025-03-28
v1.2.6

1.2.6

Bug Fixes:

  • Gemini Function call result fix: Fixed a bug with function call results failing formatting and added proper role mapping .
  • Reasoning fix: Fixed an issue with default reasoning and improved logging for reasoning models .
2025-03-27
v1.2.5

1.2.5

New Features:

  • E2B Tools: Added E2B Tools to run code in E2B Sandbox

Improvements:

  • Teams Tools: Add tools and tool_call_limit to Team. This means the team leader itself can also have tools provided by the user, so it can act as an agent.
  • Teams Instructions: Improved instructions around attached images, audio, videos, and files. This should increase success when attaching artifacts to prompts meant for member agents.
  • MCP Include/Exclude Tools: Expanded MCPTools to allow you to specify tools to specifically include or exclude from all the available tools on an MCP server. This is very useful for limiting which tools the model has access to.
  • Tool Decorator Async Support: The @tool() decorator now supports async functions, including async pre and post-hooks.

Bug Fixes:

  • Default Chain-of-Thought Reasoning: Fixed issue where reasoning would not default to manual CoT if the provided reasoning model was not capable of reasoning.
  • Teams non-markdown responses: Fixed issue with non-markdown responses in teams.
  • Ollama tool choice: Removed tool_choice from Ollama usage as it is not supported.
  • Worklow session retrieval from storage: Fixed entity_id mappings.
2025-03-25
v1.2.4

1.2.4

Improvements:

  • Tool Choice on Teams: Made tool_choice configurable.

Bug Fixes:

  • Sessions not created: Made issue where sessions would not be created in existing tables without a migration be more visible. Please read the docs on storage schema migrations.
  • Todoist fixes: Fixed update_task on TodoistTools.
2025-03-24
v1.2.3

1.2.3

Improvements:

  • Teams Error Handling: Improved the flow in cases where the model gets it wrong when forwarding tasks to members.
2025-03-24
v1.2.2

1.2.2

Bug Fixes:

  • Teams Memory: Fixed issues related to memory not persisting correctly across multiple sessions.
2025-03-24
v1.2.1

1.2.1

Bug Fixes:

  • Teams Markdown: Fixed issue with markdown in teams responses.
2025-03-24
v1.2.0

1.2.0

New Features:

Improvements:

  • Teams Improvements: Reasoning enabled for the team.
  • MCP Simplification: Simplified creation of MCPTools for connections to external MCP servers. See the updated docs.

Bug Fixes:

  • Azure AI Factory: Fix for a broken import in Azure AI Factory.
2025-03-23
v1.1.17

1.1.17

Improvements:

  • Better Debug Logs: Enhanced debug logs for better readability and clarity.
2025-03-22
v1.1.16

1.1.16

New Features:

  • Async Qdrant VectorDB: Implemented async support for Qdrant VectorDB, improving performance and efficiency.
  • Claude Think Tool: Introduced the Claude Think tool, following the specified implementation guide.
2025-03-21
v1.1.15

1.1.15

Improvements:

  • Tool Result Caching: Added caching of selected searchers and scrapers. This is only intended for testing and should greatly improve iteration speed, prevent rate limits and reduce costs (where applicable) when testing agents. Applies to:
    • DuckDuckGoTools
    • ExaTools
    • FirecrawlTools
    • GoogleSearchtools
    • HackernewsTools
    • NewspaperTools
    • Newspaper4kTools
    • Websitetools
    • YFinanceTools
  • Show tool calls: Improved how tool calls are displayed when print_response and aprint_response is used. They are now displayed in a separate panel different from response panel. It can also be used in conjunction in response_model.
2025-03-20
v1.1.14

1.1.14 - Teams Revamp

New Features:

  • Teams Revamp: Announcing a new iteration of Agent teams with the following features:
    • Create a Team in one of 3 modes: “Collaborate”, “Coordinate” or “Route”.
    • Various improvements have been made that was broken with the previous teams implementation. Including returning structured output from member agents (for “route” mode), passing images, audio and video to member agents, etc.
    • It has added features like “agentic shared context” between team members and sharing of individual team member responses with other team members.
    • This also comes with a revamp of Agent and Team debug logs. Use debug_mode=True and team.print_response(...) to see it in action.
    • Find the docs here. Please look at the example implementations here.
    • This is the first release. Please give us feedback. Updates and improvements will follow.
    • Support for Agent(team=[]) is still there, but deprecated (see below).
  • LiteLLM: Added LiteLLM support, both as a native implementation and via the OpenAILike interface.

Improvements:

  • Change structured_output to response_format: Added use_json_mode: bool = False as a parameter of Agent and Team, which in conjunction with response_model=YourModel, is used to indicate whether the agent/team model should be forced to respond in json instead of (now default) structured output. Previous behaviour defaulted to “json-mode”, but since most models now support native structured output, we are now defaulting to native structured output. It is now also much simpler to work with response models, since now only response_model needs to be set. It is not necessary anymore to set structured_output=True to specifically get structured output from the model.
  • Website Tools + Combined Knowledgebase: Added functionality for WebsiteTools to also update combined knowledgebases.

Bug Fixes:

  • AgentMemory: Fixed get_message_pairs() fetching incorrect messages.
  • UnionType in Functions: Fixed issue with function parsing where pipe-style unions were used in function parameters.
  • Gemini Array Function Parsing: Fixed issue preventing gemini function parsing to work in some MCP cases.

Deprecations:

  • Structured Output: Agent.structured_output has been replaced by Agent.use_json_mode. This will be removed in a future major version release.
  • Agent Team: Agent.team is deprecated with the release of our new Teams implementation here. This will be removed in a future major version release.
2025-03-14
v1.1.13

1.1.13

Improvements:

  • OpenAIResponses File Search: Added support for the built-in “File Search” function from OpenAI. This automatically uploads File objects attached to the agent prompt.
  • OpenAIReponses web citations: Added support to extract URL citations after usage of the built-in “Web Search” tool from OpenAI.
  • Anthropic document citations: Added support to extract document citations from Claude responses when File objects are attached to agent prompts.
  • Cohere Command A: Support and examples added for Coheres new flagship model

Bug Fixes:

  • Ollama tools: Fixed issues with tools where parameters are not typed.
  • Anthropic Structured Output: Fixed issue affecting Anthropic and Anthropic via Azure where structured output wouldn’t work in some cases. This should make the experience of using structured output for models that don’t natively support it better overall. Also now works with enums as types in the Pydantic model.
  • Google Maps Places: Support from Google for Places API has been changed and this brings it up to date so we can continue to support “search places”.
2025-03-13
v1.1.12

1.1.12

New Features:

  • Citations: Improved support for capturing, displaying, and storing citations from models, with integration for Gemini and Perplexity.

Improvements:

  • CalComTools: Improvement to tool Initialization.

Bug Fixes:

  • MemoryManager: Limit parameter was added fixing a KeyError in MongoMemoryDb.
2025-03-13
v1.1.11

1.1.11

New Features:

  • OpenAI Responses: Added a new model implementation that supports OpenAI’s Responses API. This includes support for their “websearch” built-in tool.
  • Openweather API Tool: Added tool to get real-time weather information.

Improvements:

  • Storage Refactor: Merged agent and workflow storage classes to align storage better for agents, teams and workflows. This change is backwards compatible and should not result in any disruptions.
2025-03-12
v1.1.10

1.1.10

New Features:

  • File Prompts: Introduced a new File type that can be added to prompts and will be sent to the model providers. Only Gemini and Anthropic Claude supported for now.
  • LMStudio: Added support for LMStudio as a model provider. See the docs.
  • AgentQL Tools: Added tools to support AgentQL for connecting agents to websites for scraping, etc. See the docs.
  • Browserbase Tool: Added Browserbase tool.

Improvements:

  • Cohere Vision: Added support for image understanding with Cohere models. See this cookbook to try it out.
  • Embedder defaults logging: Improved logging when using the default OpenAI embedder.

Bug Fixes:

  • Ollama Embedder: Fix for getting embeddings from Ollama across different versions.
2025-03-06
v1.1.9

1.1.9

New Features:

  • IBM Watson X: Added support for IBM Watson X as a model provider. Find the docs here.
  • DeepInfra: Added support for DeepInfra. Find the docs here.
  • Support for MCP: Introducing MCPTools along with examples for using MCP with Agno agents.

Bug Fixes:

  • Mistral with reasoning: Fixed cases where Mistral would fail when reasoning models from other providers generated reasoning content.
2025-03-03
v1.1.8

1.1.8

New Features:

  • Video File Upload on Playground: You can now upload video files and have a model interpret the video. This feature is supported only by select Gemini models with video processing capabilities.

Bug Fixes:

  • Huggingface: Fixed multiple issues with the Huggingface model integration. Tool calling is now fully supported in non-streaming cases.
  • Gemini: Resolved an issue with manually setting the assistant role and tool call result metrics.
  • OllamaEmbedder: Fixed issue where no embeddings were returned.
2025-02-26
v1.1.7

1.1.7

New Features:

  • Audio File Upload on Playground: You can now upload audio files and have a model interpret the audio, do sentiment analysis, provide an audio transcription, etc.

Bug Fixes:

  • Claude Thinking Streaming: Fix Claude thinking when streaming is active, as well as for async runs.
2025-02-24
v1.1.6

1.1.6

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.

2025-02-24
v1.1.5

1.1.5

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 the gpt-4o-audio-preview model. See their docs for more on how it works. For example

      from 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.

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.
2025-02-17
v1.1.4

1.1.4

Improvements:

  • Gmail Tools: Added get_emails_by_thread and send_email_reply methods to GmailTools.

Bug Fixes:

  • Gemini List Parameters: Fixed an issue with functions using list-type parameters in Gemini.
  • Gemini Safety Parameters: Fixed an issue with passing safety parameters in Gemini.
  • ChromaDB Multiple Docs: Fixed an issue with loading multiple documents into ChromaDB.
  • Agentic Chunking: Fixed an issue where OpenAI was required for chunking even when a model was provided.
2025-02-16
v1.1.3

1.1.3

Bug Fixes:

  • Gemini Tool-Call History: Fixed an issue where Gemini rejected tool-calls from historic messages.
2025-02-15
v1.1.2

1.1.2

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 an issue where querying SingleStore caused the embeddings column to return in binary format.
  • MongoDB Vectorstore Fix: Fixed multiple issues in MongoDB, including duplicate creation and deletion of collections during initialization. All known issues have been resolved.
  • LanceDB Fix: Fixed various errors in LanceDB and added on_bad_vectors as a parameter.
2025-02-14
v1.1.1

1.1.1

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
  • 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 the ModelsLabTools class have changed. The url and fetch_url parameters have been removed, and API URLs are now decided based on the file_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 includes MP3 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.
2025-02-12
v1.1.0

1.1.0 - Models Refactor and Cloud Support

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..
  • AWS Bedrock Support: Our redone AWS Bedrock implementation now supports all Bedrock models. It is important to note which models support which features.
  • Gemini via Google SDK: With the 1.0.0 release of Google’s genai SDK 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 to True.

Other Improvements

  • Exa Answers Support: Added support for the Exa answers capability.
  • GoogleSearchTools: Updated the name of GoogleSearch to GoogleSearchTools for consistency.

Deprecation

  • Our Gemini implementation directly on the Vertex API has been replaced by the Google SDK implementation of Gemini.
  • Our Gemini implementation via the OpenAI client has been replaced by the Google SDK implementation of Gemini.
  • Our OllamaHermes has been removed as the implementation of Ollama 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.
2025-02-07
v1.0.8

1.0.8

New Features:

  • Perplexity Model: We now support Perplexity 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.
2025-02-05
v1.0.7

1.0.7

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() and agent.aprint_response().
  • Cohere Async: Cohere now supports async execution via agent.arun() and agent.aprint_response().

Bug Fixes:

  • Retriever as knowledge source: Added small fix and examples for using the custom retriever parameter with an agent.
2025-02-05
v1.0.6

1.0.6

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.
2025-02-03
v1.0.5

1.0.5

New Features:

  • Gmail Tools: Add tools for Gmail, including mail search, sending mails, etc.

Improvements:

  • Exa Toolkit Upgrade: Added find_similar to ExaTools
  • Claude Async: Claude models can now be used with await agent.aprint_response() and await agent.arun().
  • Mistral Vision: Mistral vision models are now supported. Various examples were added to illustrate example.
2025-02-02
v1.0.4

1.0.4

Bug Fixes:

  • Claude Tool Invocation: Fixed issue where Claude was not working with tools that have no parameters.
2025-01-31
v1.0.3

1.0.3

Improvements:

  • OpenAI Reasoning Parameter: Added a reasoning parameter to OpenAI models.
2025-01-31
v1.0.2

1.0.2

Improvements:

  • Model Client Caching: Made all models cache the client instantiation, improving Agno agent instantiation time
  • XTools: Renamed TwitterTools to XTools and updated capabilities to be compatible with Twitter API v2.

Bug Fixes:

  • Agent Dataclass Compatibility: Removed slots=True from the agent dataclass decorator, which was not compatible with Python < 3.10.
  • AzureOpenAIEmbedder: Made AzureOpenAIEmbedder a dataclass to match other embedders.
2025-01-31
v1.0.1

1.0.1

Improvement:

  • Mistral Model Caching: Enabled caching for Mistral models.
2025-01-30
v1.0.0

1.0.0 - Agno

This is the major refactor from phidata to agno, released with the official launch of Agno AI.

See the migration guide for additional guidance.

Interface Changes:

  • phi.model.xagno.models.x

  • phi.knowledge_base.xagno.knowledge.x (applies to all knowledge bases)

  • phi.document.reader.xxxagno.document.reader.xxx_reader (applies to all document readers)

  • All Agno toolkits are now suffixed with Tools. E.g. DuckDuckGoDuckDuckGoTools

  • Multi-modal interface updates:

    • agent.run(images=[]) and agent.print_response(images=[]) is now of type Image

      class Image(BaseModel):
          url: Optional[str] = None  # Remote location for image
          filepath: Optional[Union[Path, str]] = None  # Absolute local location for image
          content: Optional[Any] = None  # Actual image bytes content
          detail: Optional[str] = None # low, medium, high or auto (per OpenAI spec https://platform.openai.com/docs/guides/vision?lang=node#low-or-high-fidelity-image-understanding)
          id: Optional[str] = None
      
    • agent.run(audio=[]) and agent.print_response(audio=[]) is now of type Audio

      class Audio(BaseModel):
          filepath: Optional[Union[Path, str]] = None  # Absolute local location for audio
          content: Optional[Any] = None  # Actual audio bytes content
          format: Optional[str] = None
      
    • agent.run(video=[]) and agent.print_response(video=[]) is now of type Video

      class Video(BaseModel):
          filepath: Optional[Union[Path, str]] = None  # Absolute local location for video
          content: Optional[Any] = None  # Actual video bytes content
      
    • RunResponse.images is now a list of type ImageArtifact

      class ImageArtifact(Media):
          id: str
          url: str  # Remote location for file
          alt_text: Optional[str] = None
      
    • RunResponse.audio is now a list of type AudioArtifact

      class AudioArtifact(Media):
          id: str
          url: Optional[str] = None  # Remote location for file
          base64_audio: Optional[str] = None  # Base64-encoded audio data
          length: Optional[str] = None
          mime_type: Optional[str] = None
      
    • RunResponse.videos is now a list of type VideoArtifact

      class VideoArtifact(Media):
          id: str
          url: str  # Remote location for file
          eta: Optional[str] = None
          length: Optional[str] = None
      
    • RunResponse.response_audio is now of type AudioOutput

      class AudioOutput(BaseModel):
          id: str
          content: str  # Base64 encoded
          expires_at: int
          transcript: str
      
  • Models:

    • HermesOllamaHermes
    • AzureOpenAIChatAzureOpenAI
    • CohereChatCohere
    • DeepSeekChatDeepSeek
    • GeminiOpenAIChatGeminiOpenAI
    • HuggingFaceChatHuggingFace
  • Embedders now all take id instead of model as a parameter. For example

    db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"
    
    knowledge_base = PDFUrlKnowledgeBase(
        urls=["https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"],
        vector_db=PgVector(
            table_name="recipes",
            db_url=db_url,
            embedder=OllamaEmbedder(id="llama3.2", dimensions=3072),
        ),
    )
    knowledge_base.load(recreate=True)
    
  • Agent Storage class

    • PgAgentStoragePostgresDbAgentStorage
    • SqlAgentStorageSqliteDbAgentStorage
    • MongoAgentStorageMongoDbAgentStorage
    • S2AgentStorageSingleStoreDbAgentStorage
  • Workflow Storage class

    • SqlWorkflowStorageSqliteDbWorkflowStorage
    • PgWorkflowStoragePostgresDbWorkflowStorage
    • MongoWorkflowStorageMongoDbWorkflowStorage
  • Knowledge Base

    • phi.knowledge.pdf.PDFUrlKnowledgeBaseagno.knowledge.pdf_url.PDFUrlKnowledgeBase
    • phi.knowledge.csv.CSVUrlKnowledgeBaseagno.knowledge.csv_url.CSVUrlKnowledgeBase
  • Readers

    • phi.document.reader.arxivagno.document.reader.arxiv_reader
    • phi.document.reader.docxagno.document.reader.docx_reader
    • phi.document.reader.jsonagno.document.reader.json_reader
    • phi.document.reader.pdfagno.document.reader.pdf_reader
    • phi.document.reader.s3.pdfagno.document.reader.s3.pdf_reader
    • phi.document.reader.s3.textagno.document.reader.s3.text_reader
    • phi.document.reader.textagno.document.reader.text_reader
    • phi.document.reader.websiteagno.document.reader.website_reader

Improvements:

  • Dataclasses: Changed various instances of Pydantic models to dataclasses to improve the speed.
  • Moved Embedder class from pydantic to data class

Removals

  • Removed all references to Assistant
  • Removed all references to llm
  • Removed the PhiTools tool
  • On the Agent class, guidelines, prevent_hallucinations, prevent_prompt_leakage, limit_tool_access, and task has been removed. They can be incorporated into the instructions parameter as you see fit.

Bug Fixes:

  • Semantic Chunking: Fixed semantic chunking by replacing similarity_threshold param with threshold param.

New Features:

  • Evals for Agents: Introducing Evals to measure the performance, accuracy, and reliability of your Agents.