Skip to content

Releases: agno-agi/agno

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