C3 AI Documentation Home

Changelog for `genaiPlatform` Version 8.9.0

[8.9.0]

Added

Agents

Tools

  • GenaiCore.Tool.NativePy.Spec#nonLlmKwargs

    • Added non-LLM keyword args to tools
    • Added comprehensive support for non-LLM keyword arguments in tools.
    • Added validation and type checking for non-LLM kwargs before updates.
    • Enabled passing non-LLM kwargs when moving tools to store.
    • Added save and default value logic for non-LLM arguments.
  • Tool Progress

    • Added support for tools to report intermediate progress during long-running operations
  • Tool Cleanup

    • Added transient tool cleanup to controller to automatically manage temporary tool instances.
    • Added job for cleaning up unused GenaiCore.Tool.Tags.
  • Tool Enhancements

    • Enhanced GenaiCore.Tool interface for easier extensibility, improved functionality and documentation.
    • Automatically populate displayName and validate uniqueness in Tool.beforeCreate and beforeUpdate.
    • Added GenaiCore.Tool.WebSearch.
    • Added GenaiCore.Tool.SemanticSearch for semantic search functionality.

Resource

  • GenaiCore.Resource
    • Added abstract base type for a multimodal resource representation and storage.
    • Enables seamless conversion between native data objects, LLM-friendly formats, and UI components.
    • Supports multimodal interactions including images, files, dataframes, and arbitrary Python objects.
    • Implemented versioning system with unique identification by name and version.
  • GenaiCore.Agent.MessageContent.Resource
    • Added support for resources in agent message content.
  • GenaiCore.Resource.LlmConverter and GenaiCore.Resource.UiConverter
    • Added converter interfaces for transforming resources between different representations.

Observability

  • Trace and Span Updates
    • Added span removal logic for cleanup.

Engine and Utilities

Documentation

  • Added comprehensive documentation for:
    • Agents
    • Tools

Data Integration

  • Unstructured Data Processing
    • Updated mew3 wheel to fix timeouts for long documents.
    • Fixed unstructured job data integration tests.
    • Added metadata tagging support for unstructured documents.
    • Integrated ProcessorComponent.TagExtraction into default mew3 processor.
    • Updated Unstructured.BatchJob to support persisting of document tags.
    • Added data model for unstructured metadata tagging.
    • Implemented tag extraction with LLM prompting.
    • Added ProcessorComponent for metadata tag extraction.

LLM and Completion

  • GenaiCore.Llm.Completion.Client
    • Migrated to GenaiCore.Llm.Completion.Client for standardized LLM interactions.
    • Implemented Langchain BaseChatModel for GenaiCore.Completion.Client.
  • LiteLLM Updates
    • Updated LiteLLM version to 1.77.4 for improved functionality and security.
    • Added support for streaming tokens with LiteLLM.
    • Optimized mocking of completion calls for testing.
    • Added support for aliasing model names in LiteLLM via Llm.Auth#supportedModelNamesAndAliases.
  • Streaming Support
    • Enhanced streaming support for completion calls across the platform.
    • Updated App.Meter for CVE completion calls.
    • Added support for mocking stream operations in tests.

Embedder and Vector Store

  • Sparse Embedder Support
    • Added support for sparse embedders.
    • Integrated sparse embedder with vector store.
  • GenaiCore.VectorStore.Pg
    • Added TimeoutSec to VectorStore.Pg.ExportSpec for better timeout control.
    • Added timeout spec for VectorStorePg#ImportFromFiles.
  • Embedder Improvements
    • Added id and name to seeded default-llm-embedder's embedderInstance.
    • Fixed embedder engine initialization to properly handle optional parameters.

Agent Messages and Sessions

  • GenaiCore.Agent.Message
    • Implemented Agent.Message in KV store.
    • Optimized output messages aggregation in Agent.MessageBuffer.
    • Added ERROR agent message type with expanded error handling.
    • Updated agent message generator to send error messages.
  • Session Store
    • Added disabled CronJob for session store session cleanup.
    • Improved session management and cleanup logic.

Tags and Categorization

  • Tool Tags
    • Added multi-tags support for tools.
    • Implemented tool tag creation functionality.
  • Tagging Categories
    • Implemented Tags.Categories for organizing tags.
    • Added documentation for Tagging.Category.

Roles and Permissions

  • Role Management
    • Added AgentAdmin role for agent management permissions.
  • Permission Controls
    • Updated deployment permissions to check for AgentAdmin role.

Changed

  • Tool Updates
    • Added display names to seeded tools.
    • Fixed tool fetch issues and broken tool flows.
    • Improved tool configuration and validation.
    • Renamed websearch tool to avoid conflict with genaibase.
    • Fixed seed tools with no ArgsSchema.
    • Improved error handling for tool calls using inline lambdas.
    • Added support for date/datetime as JSON schema.
    • Updated nativePyToolSrcMeta to handle functions with None or constant return type.
    • Allowed save of Python draft tools with validation errors.
    • Fixed loading of tools workbench in Studio.
    • Handled C3Method tool calls from JS runtime and cross-runtime calls.
    • Updated InjectedArgs with noDefaults instead of defaultExists.

LiteLLM Integration

  • Upgraded LiteLLM to 1.80.10
    • Users can create their own runtimes that inherit from py-litellm and re-resolve to upgrade LiteLLM

Security

  • Fixed critical and high CVE vulnerabilities in runtimes
Was this page helpful?