Releases: agno-agi/agno
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
v1.0.5
Changelog
New Features:
- Gmail Tools: Add tools for Gmail, including mail search, sending mails, etc.
Improvements:
- Exa Toolkit Upgrade: Added
find_similar
toExaTools
- Claude Async: Claude models can now be used with
await agent.aprint_response()
andawait agent.arun()
. - Mistral Vision: Mistral vision models are now supported. Various examples were added to illustrate.
What's Changed
- Updates CONTRIBUTING.md to add installation of uv in development setup by @Harsh-2909 in #1971
- Expand Exa capabilities by @dirkbrnd in #1888
- Claude Async with async tool calls by @dirkbrnd in #1984
- Mistral vision support by @dirkbrnd in #1956
- Add gmail toolkit [AG-2574] by @dirkbrnd in #1961
- o3-mini reasoning effort example by @Ayush0054 in #1991
- Release 1.0.5 by @dirkbrnd in #1989
New Contributors
- @Harsh-2909 made their first contribution in #1971
Full Changelog: v1.0.4...v1.0.5
v1.0.4
Changelog
Bug Fixes:
- Fixed a bug with Claude not working with tools that have no params
What's Changed
- remove use-tools param by @Ayush0054 in #1969
- fix: change model to o3-mini by @anuragts in #1973
- Infra dependencies ag 2568 by @ysolanky in #1951
- claude-bug-fix-ag-2579 by @ysolanky in #1979
Full Changelog: v1.0.3...v1.0.4
v1.0.3
v1.0.2
Changelog
Improvements:
- Model Client Caching: Made all models cache the client instantiation, improving Agno agent instantiation time
- XTools: Renamed
TwitterTools
toXTools
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
- Update issue templates by @ysolanky in #1950
- Remove slots from the Agent class by @ashpreetbedi in #1957
- Rename twitter toolkit. by @dirkbrnd in #1926
- Fix azure embedder by @manthanguptaa in #1959
- Cache model clients by @ashpreetbedi in #1949
- Release 1.0.2 by @dirkbrnd in #1960
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Changelog
Improvements:
- Enabled caching for Mistral models.
What's Changed
- Cache mistral models by @ashpreetbedi in #1948
Full Changelog: v1.0.0...v1.0.1
v1.0.0
Changelog
This is a major refactor to be coupled with the launch of Agno.
Interface Changes:
-
phi.model.x
→agno.models.x
-
phi.knowledge_base.x
→agno.knowledge.x
(applies to all knowledge bases) -
phi.document.reader.xxx
→agno.document.reader.xxx_reader
(applies to all document readers) -
All Agno toolkits are now suffixed with
Tools
. E.g.DuckDuckGo
→DuckDuckGoTools
-
Multi-modal interface updates:
-
agent.run(images=[])
andagent.print_response(images=[])
is now of typeImage
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=[])
andagent.print_response(audio=[])
is now of typeAudio
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=[])
andagent.print_response(video=[])
is now of typeVideo
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 typeImageArtifact
class ImageArtifact(Media): id: str url: str # Remote location for file alt_text: Optional[str] = None
-
RunResponse.audio
is now a list of typeAudioArtifact
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 typeVideoArtifact
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 typeAudioOutput
class AudioOutput(BaseModel): id: str content: str # Base64 encoded expires_at: int transcript: str
-
-
Models:
Hermes
→OllamaHermes
AzureOpenAIChat
→AzureOpenAI
CohereChat
→Cohere
DeepSeekChat
→DeepSeek
GeminiOpenAIChat
→GeminiOpenAI
HuggingFaceChat
→HuggingFace
-
Embedders now all take
id
instead ofmodel
as a parameter. For exampledb_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
PgAgentStorage
→PostgresAgentStorage
SqlAgentStorage
→SqliteAgentStorage
MongoAgentStorage
→MongoDbAgentStorage
S2AgentStorage
→SingleStoreAgentStorage
-
Workflow Storage class
SqlWorkflowStorage
→SqliteWorkflowStorage
PgWorkflowStorage
→PostgresWorkflowStorage
MongoWorkflowStorage
→MongoDbWorkflowStorage
-
Knowledge Base
phi.knowledge.pdf.PDFUrlKnowledgeBase
→agno.knowledge.pdf_url.PDFUrlKnowledgeBase
phi.knowledge.csv.CSVUrlKnowledgeBase
→agno.knowledge.csv_url.CSVUrlKnowledgeBase
-
Readers
phi.document.reader.arxiv
→agno.document.reader.arxiv_reader
phi.document.reader.docx
→agno.document.reader.docx_reader
phi.document.reader.json
→agno.document.reader.json_reader
phi.document.reader.pdf
→agno.document.reader.pdf_reader
phi.document.reader.s3.pdf
→agno.document.reader.s3.pdf_reader
phi.document.reader.s3.text
→agno.document.reader.s3.text_reader
phi.document.reader.text
→agno.document.reader.text_reader
phi.document.reader.website
→agno.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
andDuckDbAgent
(this will be brought back in future with more specific agents)
Bug Fixes:
- Fixed semantic chunking by replacing
similarity_threshold
param withthreshold
param
New Features
- Introducing Evals to measure the performance, accuracy, and reliability of your Agents