EinoExt

repository·main·Indexed 20 days ago

https://github.com/cloudwego/eino-ext

Official extensions for the Eino framework, providing implementations for ChatModels, Tools, Retrievers, Document Loaders, and observability tools. Includes the ACP Bridge for connecting EINO ADK agents to the Agent Client Protocol, as well as ADK backends such as the Ark Sandbox (agentkit) and Local filesystem backends for tool execution and multimodal file reading.

Tokens
464.2K
Snippets
1.3K
Records
1.6K
Agent score
72%

What's inside eino-ext

  1. Overview of Eino Extension components

    main

    Eino Extension provides official implementations for various Eino framework component types. These extensions allow you to integrate popular LLM providers, tools, vector databases, and document processing utilities into your Eino-based applications.

    Supported component types and examples include:

    Component TypeOfficial Implementations
    ChatModelOpenAI, Claude, Gemini, Ark, Ollama, etc.
    ToolGoogle Search, Duck Duck Go, etc.
    RetrieverElastic Search, Volc VikingDB, etc.
    ChatTemplateDefaultChatTemplate
    Document LoaderWebURL, Amazon S3, File, etc.
    Document TransformerHTMLSplitter, ScoreReranker, etc.
    IndexerElastic Search, Volc VikingDB, etc.
    EmbeddingOpenAI, Ark, etc.
    LambdaJSONMessageParser, etc.

    For detailed information on component types, refer to the Eino Component Documentation. For specific implementation details, see the Eino Ecosystem Documentation.

  2. Use callback handlers and DevOps tools in Eino

    main

    EinoExt provides additional capabilities beyond core component implementations:

    • Callback Handlers: Official implementations of the Eino CallbackHandler interface. These are used for observability and tracing, such as the Langfuse tracing callback.
    • DevOps Tools: An IDE plugin designed for Eino that provides visualized debugging and UI-based graph editing. For setup and usage, refer to the Eino Dev tooling documentation.
  3. Tencent Cloud Hunyuan Embedding Features

    main

    The Tencent Cloud Hunyuan embedding implementation includes several built-in capabilities:

    • Automatic Batch Processing: The embedder automatically splits large text arrays into batches of up to 200 texts to comply with Tencent Cloud API limitations.
    • Token Usage Tracking: Tracks Prompt tokens and Total tokens via Eino's callback system.
    • Callbacks Support: Fully supports Eino's callback system for error tracking, start/end event monitoring, and token usage statistics.
  4. Use the XLSX Parser for Excel document parsing

    main

    The XLSX Parser is a document parsing component for Eino that implements the Parser interface. It converts Excel (.xlsx) files into document formats, supporting flexible configurations for headers, worksheet selection, and metadata injection.

    Key Capabilities

    • Header Support: Process files with or without a header row.
    • Worksheet Selection: Choose specific worksheets to parse.
    • Custom ID Prefixes: Define a prefix for the generated document IDs.
    • Metadata Preservation: Automatically converts row data into structured metadata and allows injecting additional custom metadata.
  5. Use the XLSX Parser to parse Excel files

    main

    The XLSX Parser is an Eino component that implements the Parser interface to convert Excel (.xlsx) files into document formats. It allows for flexible configuration, including selecting specific worksheets, handling files with or without headers, and customizing document ID prefixes.

    Key capabilities:

    • Automatic conversion of table data to document format.
    • Preservation of complete row data in the _row metadata field.
    • Support for injecting additional metadata via the _ext field.
    • Ability to target a specific sheet within a multi-sheet workbook.
  6. Use the OpenTelemetry library for Eino

    main

    The libs/acl/opentelemetry library provides a way to configure and initialize OpenTelemetry exporters and providers specifically for use with Eino. It simplifies the setup of observability instrumentation within Eino-based applications.

    For complete implementation details and usage patterns, refer to the examples/ directory within this repository.

  7. Sequential Thinking Tool Overview

    main

    The Sequential Thinking Tool is a component designed for dynamic and reflective problem-solving. Inspired by the Model Context Protocol (MCP) sequential thinking implementation, it helps users and LLMs solve problems through a structured series of guided questions and self-reflection steps.

    Key Features

    • Guided step-by-step thinking processes.
    • Dynamic questioning and self-reflection capabilities.
    • Enhanced problem-solving through structured analysis.

    Ideal Use Cases

    • Decomposing complex problems into manageable steps.
    • Planning and design where iterative modifications are expected.
    • Analyzing directions that may require correction.
    • Handling tasks where the full scope is not immediately clear.
    • Maintaining context across multiple sequential steps.
    • Filtering out irrelevant information during reasoning.
  8. How Human-in-the-loop (HITL) works

    main

    Human-in-the-loop (HITL) allows agents to pause execution, request human input, and resume from the exact point they stopped. This is achieved through three core components:

    1. Interrupt: The agent pauses and sends information to the user (e.g., asking for approval or clarification).
    2. Checkpoint: The framework saves the current execution state to a CheckPointStore.
    3. Resume: The user provides input, and the framework restores the saved state to continue execution.

    Common patterns include Approval (pausing before an action), Review & Edit (modifying tool arguments), Feedback Loops (refining content), and Follow-up (asking for clarification).

  9. How Gemini handles Tool Calling IDs

    main

    Because the Gemini API does not provide tool calling IDs in its responses, this implementation automatically generates a unique UUID (v4) for every tool call. This ensures compatibility with the Eino framework and allows for correct tool execution tracking in complex Agent workflows.

    Key properties:

    • Each tool call receives a new, globally unique UUID.
    • This prevents ID conflicts across multiple model interactions in a single session.
    • It follows the standard UUID v4 format (e.g., 550e8400-e29b-41d4-a716-446655440000).