8000 Tags · agno-agi/agno · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: agno-agi/agno

Tags

v1.5.6

Toggle v1.5.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: Release 1.5.6 (#3414)

# Changelog

## New Features

- **Team Evals**: Evaluations are now supported for teams!

## Improvements:

- **Async Workflows**: Added `arun` support for Workflows, so they can
now be used with `async` Python.
- **Parallel Memory Updates**: Made speed improvements when user
memories and session summaries are generated.
- **Reimplement `tool_call_limit`**: Revamp of `tool_call_limit` to make
it work across a whole agent run.

## Bug Fixes:

- **Mistral Structured Outputs with Tools**: Fixed an issue preventing
Mistral model use with structured output and tools
- **Images In Run Without Prompt**: Fixed issues related to images being
ignored if there wasn’t a prompt provided on `run`.
- **Pgvector Upsert Fix: Fixed** Pgvector upsert not copying metadata
properly
- **Handle AgnoInstrumentor failing with OpenAIResponses:** PR merged in
Arize’s openinference repo:
Arize-ai/openinference#1701
- **Pinecone Filters:** Enabled filters for pinecone vector db
- **Combined KB Async:** Add missing async method to Combined KB
- **Team Session State Fix**: **`team_session_state`** is now correctly
propagated and shared between all members and sub-teams of a team.
- **Gemini type fix for integers:**
- Pydantic models with `Dict[str, int]` fields (and other Dict types)
were failing when used as `response_schema` for both OpenAI and Gemini
models due to schema format incompatibilities.
- **Session Name**: `session_name` is now available after a run.
- **Handle UUIDs while serialization in RedisStorage:** Fixed error
object of type UUID is not JSON serializable

## Updates:

- For managing `team_session_state`, you now have to set
`team_session_state` on the `Team` instead of `session_state`.

---------

Co-authored-by: Dirk Brand <51947788+dirkbrnd@users.noreply.github.com>
Co-authored-by: Dirk Brand <dirkbrnd@gmail.com>

v1.5.5

Toggle v1.5.5's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: Release 1.5.5 (#3359)

# Changelog

## New Features:

- **Claude File Upload:** we can now upload a file to Anthropic directly
and then use it as an input to an agent.
- **Claude 4 code execution tool:** allows Claude to execute Python code
in a secure, sandboxed environment.
- **Prompt caching with Anthropic models:** allows resuming from
specific prefixes in your prompts. This approach significantly reduces
processing time and costs for repetitive tasks or prompts with
consistent elements.
- **Vercel v0 Model:** Added support for new Vercel v0 models and
cookbook examples.
- **Qdrant Hybrid Search support**
- **Markdown Knowledge Base**: Added native support for Markdown-based
knowledge bases.
- **AI/ML API platform integration**: introduces integration with [AI/ML
API](https://aimlapi.com/models/?utm_source=agno&utm_medium=github&utm_campaign=integration),
a platform providing AI/ML models. AI/ML API provides 300+ AI models
including Deepseek, Gemini, ChatGPT. The models run at enterprise-grade
rate limits and uptimes
- **Update pydantic and dataclass in function handling**: Now supports
class as input to a function

## Improvements:

- **Timeout handling for API calls in ExaTools class:**
- Timeout functionality to Exa API calls to prevent indefinite hanging
of search operations. The implementation uses
Python's `concurrent.futures` module to enforce timeouts on all Exa API
operations (search, get contents, find similar, and answer generation).
- This change addresses the issue where Exa search functions would hang
indefinitely, causing potential service disruptions and resource leaks.
- **Fetch messages from last n sessions:**
- A tool for the agent, something
like `get_previous_session_messages(number_of_sessions: int)` that
returns a list of messages that the agent can analyse
    - Switch on with `search_previous_sessions_history`
- **Redis Expiration**: Added expire key to set TTL on Redis keys.
-  **Add anthropic cache write to agent session metrics**: adds
cache_creation_input_tokens to agent session metrics, to allow for
tracking Anthropic cache write statistics

## Bug Fixes:

- **HF custom embedder:**
- It turns out that HF has changed some things on their API and they've
deprecated .post on their
InferenceClient()- https://discuss.huggingface.co/t/getting-error-attributeerror-inferenceclient-object-has-no-attribute-post/156682
- Also we can no longer use- `id: str =
"jinaai/jina-embeddings-v2-base-code"` as default, because these models
are no longer provided by the `HF Inference API`. Changed the default
to- `id: str = "intfloat/multilingual-e5-large"`
- **Add `role_map` for `OpenAIChat`:** This allows certain models that
don’t adhere to OpenAI’s role mapping to be used vir `OpenAILike`.
- **Use content hash as id in upsert: in pgvector** use reproducible
content_hash in upsert as id
- **Insert in vector db passes only last chunk meta_data:** insert in
vector db passes only last chunk meta_data. issue link-
https://discord.com/channels/965734768803192842/1219054452221153463/1376631140047130649
- **Remove argument sanitization**: a safer way to do this that won't
break arguments that shouldn't be sanitized
- **Handle async tools when running async agents on playground**: Fixes
a regression where using Agents with async tools (e.g. MCP tools) was
breaking in the Playground.

---------

Co-authored-by: Dirk Brand <dirkbrnd@gmail.com>

v1.5.4

Toggle v1.5.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: Release 1.5.4 (#3330)

# Changelog

## New Features:

- **User Control Flows**: This is the beta release of Agno’s
Human-in-the-loop flows and tools.
- We now allow agent runs to be `paused` awaiting completion of certain
user requirements before the agent can continue.
- This also adds the `agent.continue_run` and `agent.acontinue_run`
functions.
    - The control flows that are available:
- User confirmation flow → Decorate a function with
`@tool(requires_confirmation=True)` and the agent will expect user
confirmation before executing the tool.
- User input required → Decorate a function with
`@tool(requires_user_input=True)` to have the agent stop and ask for
user input before continuing.
- External tool execution → Decorate a function with
`@tool(external_execution=True)` to indicate that you will execute this
function outside of the agent context.
- Dynamic user input → Add `UserControlFlowTools()` to an agent to give
the agent the ability to dynamically stop the flow and ask for user
input where required.
- See a host of examples
[here](https://github.com/agno-agi/agno/blob/main/cookbook/agent_concepts/user_control_flows).
- **Mem0 Toolkit**: Added a toolkit for managing memories in Mem0.
- **Firecrawl Search**: Added support for Firecrawl web search in
`FirecrawlTools`.

## Bug Fixes:

- **Firecrawl Tools and Reader**: Fixed parameter parsing for the
Firecrawl reader and tools.
- **Include/Exclude on all Tools**: Ensure all toolkits support
`include_tools` and `exclude_tools`.

v1.5.3

Toggle v1.5.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: Release 1.5.3 (#3277)

## Summary

- Updates to Accuracy Evals

## Type of change

- [ ] Bug fix
- [x] New feature
- [x] Breaking change
- [x] Improvement
- [ ] Model update
- [ ] Other:

---

## Checklist

- [x] Code complies with style guidelines
- [x] Ran format/validation scripts (`./scripts/format.sh` and
`./scripts/validate.sh`)
- [x] Self-review completed
- [x] Documentation updated (comments, docstrings)
- [x] Examples and guides: Relevant cookbook examples have been included
or updated (if applicable)
- [x] Tested in clean environment
- [x] Tests added/updated (if applicable)

---

## Additional Notes

Add any important context (deployment instructions, screenshots,
security considerations, etc.)

---------

Co-authored-by: Dirk Brand <dirkbrnd@gmail.com>

v1.5.2

Toggle v1.5.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: Release 1.5.2 (#3244)

# Changelog

## New Features:

- **Agno Apps (Beta)**: Introducing Agno Apps, convenience functions to
assist with building production-ready applications. The first supported
apps are:
- `FastAPIApp` → A really simple FastAPI server that provides access to
your `agent` or `team`.
- `WhatsappAPIApp` → An app that implements the Whatsapp protocol
allowing you to have an Agno agent running on Whatsapp. Supports image /
audio / video input and can generate images as responses. Supports
reasoning.
- **Couchbase Vector DB Support**: Added support for Couchbase as a
vector DB for knowledge bases.
- **Knowledge Filters Update for Teams:** Filters (manual + agentic) can
now be used with Teams.
- **Azure Cosmos DB for MongoDB (vCore) vector db support:** In the
MongoDB vector db class add support for cosmosdb mongo vcore support by
enabling `cosmos_compatibility=True`
- **Google Big Query Tools**: Added Toolkit for Google BigQuery support.
- **Async Support for s3 Readers: A**dd async support for `pdf` and
`text` s3 readers.
- **`stop_after_tool_call` and `show_result` for Toolkits:** Now the
base Toolkit class has `stop_after_tool_call_tools` and
`show_result_tools` similar to the `@tool` decorator.

v1.5.1

Toggle v1.5.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: Release 1.5.1 (#3219)

# Changelog

## New Features:

- **Nebius Model Provider**: Added [Nebius](https://studio.nebius.com/)
as a model provider.
- **Extended Filters Support on Vector DBs**: Added filtering support
for other vector DBs
    - pgvector
    - Milvus
    - Weaviate
    - Chroma

## Improvements:

- **Redis SSL**: Added the `ssl` parameter to `Redis` storage.
- **Improve release tests workflow:** add a script to do model specific
minimal setup installation on release

v.1.5.0

Toggle v.1.5.0's commit message
chore: Add langtrace example

v1.4.7

Toggle v1.4.7's commit message
feat: Added example cookbook for scenario testing

v1.4.6

Toggle v1.4.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Release 1.4.6 (#3154)

# Changelog

## New Features:

- **Cerebras Model Provider**: Added Cerebras as a model provider.
- **Claude Web Search**: Added support for [Claude’s new web search
tool](https://www.anthropic.com/news/web-search)
- **Knowledge Base Metadata Filtering (Beta)**: Added support for
filtering documents by metadata
    - **Two Ways to Apply Filters**:
- **Explicit Filtering**: Pass filters directly to Agent or during
run/query
            
            ```python
            # Option 1: Filters on Agent initialization
            agent = Agent(
            					knowledge=knowledge_base, 
            					knowledge_filters={"filter_1": "abc"}
            				)
                 
            # Option 2: Filters on run execution
agent.run("Tell me about...", knowledge_filters={"filter_1": "abc"})
            ```
            
See docs
[here](https://github.com/agno-agi/agno/blob/main/cookbook/agent_concepts/knowledge/filters/pdf/filtering.py)
            
- **Agentic Filtering**: Agent automatically detects and applies filters
from user queries
            
            ```python
            # Enable automatic filter detection
            agent = Agent(
            					knowledge=knowledge_base, 
            					enable_agentic_knowledge_filters=True
            				)
                 
            # Agent extracts filters from query
            agent.run("Tell me about John Doe's experience...")
            ```
            
See docs
[here](https://github.com/agno-agi/agno/blob/main/cookbook/agent_concepts/knowledge/filters/pdf/agentic_filtering.py)
            
    - Two approaches for adding metadata to documents:
        1. **During Knowledge Base Initialization**:
            
            ```python
            knowledge_base = PDFKnowledgeBase(path=[
                 {
            		     "path": "file_1.pdf", 
            		     "metadata": {
            				     "user_id": "abc"
            				  }
            		 },
            		 {
            		     "path": "file_2.pdf", 
            		     "metadata": {
            				     "user_id": "xyz"
            				  }
            		 }
            ])
            ```
            
        2. **During Individual Document Loading:**
            
            ```python
            knowledge_base.load_document(
                 path="file.pdf",
                 metadata={"user_id": "abc"}
            )
            ```
            
    - **Compatibility**
- **Knowledge Base Types**: `PDF`, `Text`, `DOCX`, `JSON`, and `PDF_URL`
        - **Vector Databases**: `Qdrant`, `LanceDB`, and `MongoDB`

## Improvements:

- **User and Session ID in Tools**: Added `current_user_id` and
`current_session_id` as default variables in

## Bug Fixes:

- **Knowledge Base ID Clashes**: Knowledge files with overlapping
names (e.g., `abc.-.xyz.pdf` and `abc.-.def.pdf`)
were being incorrectly identified due to the readers using formatted
names as unique id which were getting uniqueness conflict. Introduced a
unique ID for each document in all the readers using `uuidv4()` to
ensure strict identification and prevent conflicts.

v1.4.5

Toggle v1.4.5's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Release 1.4.5 (#3086)

# Changelog

## New Features:

- **Embedder Support via AWS Bedrock**: `AwsBedrockEmbedder` has been
added with a default embedding model of `cohere.embed-multilingual-v3`.

## Bug Fixes:

- **Tools with Optional Parameters on Llama API**: Fixed edge cases with
functions
0