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.