Skip to content

Releases: agno-agi/agno

v1.0.8

07 Feb 19:51
6b3a96e
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v1.0.6...v1.0.8

v1.0.7

05 Feb 12:14
Compare
Choose a tag to compare

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() 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.

What's Changed

Full Changelog: v1.0.6...v1.0.7

v1.0.6

04 Feb 22:35
Compare
Choose a tag to compare

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

Full Changelog: v1.0.5...v1.0.6

v1.0.5

03 Feb 16:04
5876d00
Compare
Choose a tag to compare

Changelog

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.

What's Changed

New Contributors

Full Changelog: v1.0.4...v1.0.5

v1.0.4

02 Feb 16:57
Compare
Choose a tag to compare

Changelog

Bug Fixes:

  • Fixed a bug with Claude not working with tools that have no params

What's Changed

Full Changelog: v1.0.3...v1.0.4

v1.0.3

31 Jan 19:34
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.2...v1.0.3

v1.0.2

31 Jan 12:14
aaf7be3
Compare
Choose a tag to compare

Changelog

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:

  • Removed slots=true from the agent dataclass decorator which was not compatible with Python <3.10
  • Fixed issue with AzureOpenAIEmbedder not being correctly made a dataclass

What's Changed

Full Changelog: v1.0.1...v1.0.2

v1.0.1

30 Jan 22:57
Compare
Choose a tag to compare

Changelog

Improvements:

  • Enabled caching for Mistral models.

What's Changed

Full Changelog: v1.0.0...v1.0.1

v1.0.0

30 Jan 13:26
53d20a5
Compare
Choose a tag to compare

Changelog

This is a major refactor to be coupled with the launch of Agno.

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://phi-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

    • PgAgentStoragePostgresAgentStorage
    • SqlAgentStorageSqliteAgentStorage
    • MongoAgentStorageMongoDbAgentStorage
    • S2AgentStorageSingleStoreAgentStorage
  • Workflow Storage class

    • SqlWorkflowStorageSqliteWorkflowStorage
    • PgWorkflowStoragePostgresWorkflowStorage
    • 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.

Removals

  • Removed all references to Assistant
  • Removed all references to llm
  • Removed the PhiTools tool
  • Removed the PythonAgent and DuckDbAgent (this will be brought back in future with more specific agents)

Bug Fixes:

  • Fixed semantic chunking by replacing similarity_threshold param with threshold param

New Features

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