Skip to content

Releases: SciPhi-AI/R2R

v3.5.2

18 Mar 23:41
79e9a33
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.5.1...v3.5.2

v3.5.1

18 Mar 22:15
e06ac00
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.5.0...v3.4.1

v3.5.0

16 Mar 18:45
612f132
Compare
Choose a tag to compare

R2R v3.5.0 Release Notes

We're excited to announce R2R v3.5.0, featuring our new Deep Research API and significant improvements to our RAG capabilities.

🚀 Highlights

  • Deep Research API: Multi-step reasoning system that fetches data from your knowledge base and the internet to deliver comprehensive, context-aware answers
  • Enhanced RAG Agent: More robust with new web search and scraping capabilities
  • Real-time Streaming: Server-side event streaming for visibility into the agent's thinking process and tool usage

✨ Key Features

Research Capabilities

  • Research Agent: Specialized mode with advanced reasoning and computational tools
  • Extended Thinking: Toggle reasoning capabilities with optimized Claude model support
  • Improved Citations: Real-time citation identification with precise source attribution

New Tools

  • Web Tools: Search external APIs and scrape web pages for up-to-date information
  • Research Tools: Reasoning, critique, and Python execution for complex analysis
  • RAG Tool: Leverage underlying RAG capabilities within the research agent

💡 Usage Examples

Basic RAG Mode

response = client.retrieval.agent(
    query="What does deepseek r1 imply for the future of AI?",
    generation_config={
        "model": "anthropic/claude-3-7-sonnet-20250219",
        "extended_thinking": True,
        "thinking_budget": 4096,
        "temperature": 1,
        "max_tokens_to_sample": 16000,
        "stream": True
    },
    rag_tools=["search_file_descriptions", "search_file_knowledge", "get_file_content", "web_search", "web_scrape"],
    mode="rag"
)

# Process the streaming events
for event in response:
    if isinstance(event, ThinkingEvent):
        print(f"🧠 Thinking: {event.data.delta.content[0].payload.value}")
    elif isinstance(event, ToolCallEvent):
        print(f"🔧 Tool call: {event.data.name}({event.data.arguments})")
    elif isinstance(event, ToolResultEvent):
        print(f"📊 Tool result: {event.data.content[:60]}...")
    elif isinstance(event, CitationEvent):
        print(f"📑 Citation: {event.data}")
    elif isinstance(event, MessageEvent):
        print(f"💬 Message: {event.data.delta.content[0].payload.value}")
    elif isinstance(event, FinalAnswerEvent):
        print(f"✅ Final answer: {event.data.generated_answer[:100]}...")
        print(f"   Citations: {len(event.data.citations)} sources referenced")

Research Mode

response = client.retrieval.agent(
    query="Analyze the philosophical implications of DeepSeek R1",
    generation_config={
        "model": "anthropic/claude-3-opus-20240229",
        "extended_thinking": True,
        "thinking_budget": 8192,
        "temperature": 0.2,
        "max_tokens_to_sample": 32000,
        "stream": True
    },
    research_tools=["rag", "reasoning", "critique", "python_executor"],
    mode="research"
)

For more details, visit our documentation site.

v3.4.6

14 Mar 20:34
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.4.5...v3.4.6

v3.4.5

13 Mar 18:39
Compare
Choose a tag to compare

Includes a number of bug fixes, including one that impacted Conda users' ability to properly load prompts via the core install path.

What's Changed

Full Changelog: v3.4.4...v3.4.5

v3.4.4

05 Mar 01:59
f87938f
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.4.3...v3.4.4

v3.4.3

25 Feb 20:55
fcf187c
Compare
Choose a tag to compare

Fixes a bug that impacted local serve.

What's Changed

New Contributors

Full Changelog: v3.4.2...v3.4.3

v3.4.2

21 Feb 03:07
Compare
Choose a tag to compare

Fixes a number of bugs around advanced ingestion settings, removes poetry from project in favor of UV, and fixes issues around Lark and Lark-Parser being installed that caused breakage on certain Linux Distributions.

What's Changed

Full Changelog: v3.4.0...v3.4.2

v3.4.0

09 Feb 02:49
39c8d44
Compare
Choose a tag to compare

Major Highlights:

  1. Python SDK Modernization

    • Switched from dictionary-based access to object-oriented syntax
    • Example: client.documents.list.results[0].id replaces client.documents.list['results'][0][id]
  2. Simplified Server Start Process

    • Removed CLI interface
    • New commands to start server: python -m r2r.serve or r2r-serve
  3. Improved Configuration FIles

    • Removed scattered model definitions, condensed to fast_llm, quality_llm, vlm, and audio_lm.
    • Decluttered and introduced agent_static_prompt and agent_dynamic_prompt templates

Other Notable Changes:

  • Enhanced error handling and observability

    • Improved ingestion error reporting
    • Better handling of invalid JSON files
    • Added Sentry support
  • Agent and Tool Improvements

    • Added multi-search tool functionality
    • Implemented custom Gemini agent
    • Added Anthropic completion provider
    • Created advanced Claude reasoning agent
  • Infrastructure Updates

    • Added API key support to JS SDK
    • Improved staging deployment process
    • Enhanced configuration for retrieval vs ingestion embeddings

The release also includes numerous bug fixes, code cleanup efforts, and minor improvements to various components of the system.

New Contributors

Full Changelog: v3.3.30...v3.4.0

R2R v3.3.30

23 Jan 20:17
7d494d4
Compare
Choose a tag to compare

Released on January 23, 2025

We’re excited to announce the newest release of R2R: v3.3.30! This version contains major enhancements to the agent’s capabilities, new Docker Swarm support, additional configuration options for security and extended model support, and numerous other improvements and fixes. Below is an overview of the most noteworthy changes.


🚀 Major Agent Upgrades

Date & Knowledge Base Awareness

  • Date awareness: Agents now have improved context about current dates and times, enabling more precise and contextually correct responses.
  • Knowledge base insights: Agents can query all available documents, their summaries, collections, and sizes. This means more intelligent retrieval and referencing of ingested data, paving the way for advanced summarization and context understanding.

Enhanced Tooling

  • New content tool: Fetch the raw content of any document directly, enabling single-document summarizations and specialized analysis without a broad search.
  • web_search tool enabled by default: Agents can call the web search tool to gather external information. This is configured out-of-the-box for the Rowland environment and can be toggled as needed.
  • local_search improvements: Continues to be available for local knowledge retrieval, now with refined logic to ensure faster and more accurate searches.

Improved Agent Configuration

  • Refactored agent settings: agent_config replaces the older self.config.agent usage, streamlining how agent behavior is controlled and removing extraneous parameters.
  • Cleaner messaging flows: Internally, message-handling logic was overhauled for greater consistency, resulting in fewer edge cases and a more robust conversation flow.

🛠 New Features & Enhancements

Docker Swarm Support

  • Horizontal scaling: R2R can now be deployed via Docker Swarm for easier clustering in distributed environments.
  • Updated Compose files: compose.full.swarm.yaml, compose.full.yaml, and compose.yaml include references for seamless Docker Swarm service orchestration.

XAI / GROK Integration

  • New XAI_API_KEY environment variable: Allows use of advanced XAI/GROK models.
  • Example Compose updates: XAI_API_KEY is now present in .env.example and Docker Compose configurations, so you can pass authentication for these models automatically.

JWT Auth Provider

  • JWT-based authentication: Added as a new auth provider, enabling a more secure and standardized authentication flow across R2R setups.
  • Integration: Configure your JWT settings in the R2R config files to protect endpoints with token-based security.

Knowledge Graph & Document Processing

  • kg_clustering & kg_community_summary fixes: Corrected indexing and num_communities handling, and improved the functions’ return structures for better downstream usage.
  • Hatchet fallback ingestion: Introduced a fallback ingestion path to ensure documents are successfully processed even if the primary method encounters errors.
  • Empty page allowance: The PDF parser no longer raises an error for empty pages, making ingestion more robust across diverse document formats.
  • Automatic total_tokens column: R2R now automatically adds a total_tokens column to the documents table if missing, avoiding migration blockers and reducing friction for existing installations.

Configuration Examples & Cleanup

  • Combined Example TOML: All possible configuration parameters are now grouped into a single example r2r.toml, making it simpler to discover and enable new features.
  • Refactored agent & retrieval logic: Extraction of common RAG agent patterns into a dedicated RAGAgentMixin. Simplifies how local/web searches and content lookups are handled in agent code.
  • Pre-commit linting: Ensures consistent code style and quality, lowering the bar for new contributors to keep the repository clean.

🐛 Bug Fixes & Stability

  • Agent runtime spec corrections: Addressed edge cases where the agent would misinterpret or fail to execute runtime specifications.
  • Graph extraction patches: Improved how graph data is extracted and utilized, reducing errors in advanced knowledge graph operations.
  • RAG streaming resilience: Re-introduced and enhanced streaming capabilities for RAG-based queries, fixing stability issues in streaming responses.
  • Build cluster logic: Patched a bug in the cluster-building logic to ensure robust knowledge graph creation even in complex document sets.

⚙️ Developer Experience

  • Dockerfile for Unstructured: Updated with the latest NLTK data changes. Streamlines building and running the unstructured text processing environment by removing outdated Dockerfiles and consolidating dependencies.
  • Code refactoring & cleaning: Removal of deprecated pipelines, improved logging messages, and better error handling throughout the codebase.
  • Testing improvements: Extended and refactored tests, including coverage for new agent tools, collection ID filters, and database migrations.

👥 New Contributors

Thank you for helping make R2R even better!


Getting Started & Upgrading

  1. Pull the latest docker images or update your code from the [R2R GitHub repository](https://github.com/SciPhi-AI/R2R).
  2. Set up new environment variables (XAI_API_KEY) if you intend to use XAI/GROK model features.
  3. Run migrations to ensure the new total_tokens column is present in the documents table. R2R automatically attempts to add this column if it’s missing, with no downtime or data loss.
  4. Review your r2r.toml (or equivalent config) for updated agent and RAG entries, especially if you want to enable or disable new search tools at runtime.

Full Changelog

For a comprehensive list of changes, including commits and pull requests, see the official [GitHub comparison between v3.3.29 and v3.3.30](v3.3.29...v3.3.30).


We appreciate your support and feedback. If you have questions or run into any issues, please open an issue on [GitHub](https://github.com/SciPhi-AI/R2R/issues) or reach out on our community forum. Happy building!