v1.5.5
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: Updated Claude to execute Python code in a secure, sandboxed environment.
- Prompt caching with Anthropic Models: Allowed 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: Introduced integration with
AI/ML API
, 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: Added support for
Pydantic
anddataclass
objects as input to a function. See here for an example.
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.
- Timeout functionality to Exa API calls to prevent indefinite hanging of search operations. The implementation uses Python's
- 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
- A tool for the agent, something like
- Redis Expiration: Added
expire
key to set TTL on Redis keys. - Add Anthropic Cache Write to Agent Session Metrics: Added
cache_creation_input_tokens
to agent session metrics, to allow for tracking Anthropic cache write statistics
Bug Fixes:
- Huggingface Embedder Updates:
- Huggingface has changed some things on their API and they've deprecated
.post
on theirInferenceClient()
- https://discuss.huggingface.co/t/getting-error-attributeerror-inferenceclient-object-has-no-attribute-post/156682 - We can also no longer use
id: str = "jinaai/jina-embeddings-v2-base-code"
as default, because these models are no longer provided by theHF Inference API
. Changed the default toid: str = "intfloat/multilingual-e5-large"
- Huggingface has changed some things on their API and they've deprecated
- Add
role_map
forOpenAIChat
: This allows certain models that don’t adhere to OpenAI’s role mapping to be used virOpenAILike
. - 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: Replaced with 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: Fixed a regression where using Agents with async tools (e.g. MCP tools) was breaking in the Playground.
What's Changed
- fix-llama-sys-message-ag-3049 by @ysolanky in #3088
- feat-claude-4-ag-3292 by @ysolanky in #3302
- feat: update claude file upload by @kausmeows in #3332
- fix: repeated class variables by @kausmeows in #3334
- feat: prompt caching with Anthropic models by @manuhortet in #3324
- [Enhancement] Implement timeout handling for API calls in ExaTools class by @siddythings in #3287
- fix: HF custom embedder by @kausmeows in #3357
- feat: allow custom role map for OpenAIChat by @manuhortet in #3355
- chore: Add tests for functions by @dirkbrnd in #3354
- fix user_input_schema by @lybtt in #3350
- feat: add vercel model by @anuragts in #3349
- feat: fetch messages from last n sessions by @kausmeows in #3279
- feat: Qdrant hybrid search by @kausmeows in #3339
- feat: handle empty responses from Gemini model by @ItsRoy69 in #3317
- feat: registry by @willemcdejongh in #2726
- feat: add mem0 mcp example by @manuhortet in #3301
- feat: pipedream mcp examples by @manuhortet in #3299
- Added expiration support for Redis by @nhathoang0110 in #3316
- chore: update qdrant to remove hybrid search breaking change by @kausmeows in #3360
- fix: pass async mode by @gsaada in #3295
- fix embedding dimensions key by @adroitvarun in #3337
- feat: add knowledge support for markdown files by @manuhortet in #3289
- [feat] Add AI/ML API platform integration by @D1m7asis in #3209
- fix-claude-tool-call-bug-ag-3287 by @ysolanky in #3285
- fix: insert in vector db passes only last chunk meta_data by @kausmeows in #3363
- fix: Remove argument sanitization by @dirkbrnd in #3364
- fix: use content hash as id in upsert by @kausmeows in #3367
- Feat: Add anthropic cache write to agent session metrics by @piotrpenar in #3344
- fix: handle async tools when running async agents on playground by @manuhortet in #3356
- chore: Release 1.5.5 by @kausmeows in #3359
New Contributors
- @lybtt made their first contribution in #3350
- @nhathoang0110 made their first contribution in #3316
- @adroitvarun made their first contribution in #3337
- @D1m7asis made their first contribution in #3209
Full Changelog: v1.5.4...v1.5.5