BlockContent AiAgent

Created on 3 April 2025, 20 days ago

TODO

✨ Feature request
Status

Needs review

Version

1.1

Component

Code

Created by

πŸ‡ΊπŸ‡¦Ukraine podarok Ukraine

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @podarok
  • @podarok opened merge request.
  • πŸ‡ΊπŸ‡¦Ukraine podarok Ukraine
  • πŸ‡ΊπŸ‡¦Ukraine podarok Ukraine

    Prompt
    Show me field for lb_hero block_content

    Result

    Generic Chatbot
    Okay, here are the existing fields for the lb_hero block content type:

    Content block ID (Machine name: id, Type: integer)
    UUID (Machine name: uuid, Type: uuid)
    Revision ID (Machine name: revision_id, Type: integer)
    Language (Machine name: langcode, Type: language)
    Block type (Machine name: type, Type: entity_reference) - This references the block type itself (lb_hero).
    Revision create time (Machine name: revision_created, Type: created)
    Revision user (Machine name: revision_user, Type: entity_reference) - References the user who created the revision.
    Revision log message (Machine name: revision_log, Type: string_long) - Optional message describing changes in a revision.
    Published (Machine name: status, Type: boolean) - Indicates if the block is published or not.
    Block description (Machine name: info, Type: string) - Administrative title shown in the block library.
    Changed (Machine name: changed, Type: changed) - Timestamp of the last update.
    Reusable (Machine name: reusable, Type: boolean) - Indicates if the block can be reused across different pages.
    Default translation (Machine name: default_langcode, Type: boolean) - Indicates if this is the original language version.
    Default revision (Machine name: revision_default, Type: boolean) - Indicates if this is the current default revision.
    Revision translation affected (Machine name: revision_translation_affected, Type: boolean) - Indicates if a translation affects this revision.
    Metatags (Machine name: metatag, Type: metatag_computed) - Field for managing meta tags.
    Description (Machine name: field_description, Type: text_long) - The main text content or description for the hero banner.
    Heading Level (Machine name: field_heading_level, Type: list_string) - Allows selection of the HTML heading tag (e.g., H1, H2) for the title.
    Link (Machine name: field_hero_cta, Type: link) - A call-to-action link for the hero banner.
    Media (Machine name: field_media, Type: entity_reference) - References a media item (likely an image or video) for the background.
    Heading (Machine name: field_title, Type: string) - The main title or heading for the hero banner.

  • πŸ‡©πŸ‡ͺGermany marcus_johansson

    Hey podarok - thank you! we are actually moving to a better structure going forward in AI Agents 1.1.x with tool calling. The way we have done it will be backwards-compatible, so this would still work, but I would point you towards https://project.pages.drupalcode.org/ai/developers/function_call_schema/ and tomorrow I'll try to make a video on workflows-of-ai.com where I explain the new structure.

    Its up to you, we can of course take in agents using the old structure, but I could also help you move it into tools/function calling.

  • πŸ‡ΊπŸ‡¦Ukraine podarok Ukraine

    Ok, Marcus
    Not an issue
    Speed of development novadays is such a blast I see that dev branch is very much off from stable release.
    No problem to rewrite this code to start using schema.
    If you provide me an example of existing plugin with schema I'll update the code

  • πŸ‡©πŸ‡ͺGermany marcus_johansson

    Check here and let me know if you want to change or if you want me to rewrite the parts as tools: https://www.youtube.com/watch?v=YHvwYM4IL90&ab_channel=DrupalAIVideos

  • πŸ‡¬πŸ‡§United Kingdom MrDaleSmith
  • πŸ‡¬πŸ‡§United Kingdom MrDaleSmith

    Whilst a Block Content agent is a valid addition, it might be worth considering if it's possible to have a more generic Entity Agent that can handle any agent: at the minute we have a node agent, a taxonomy agent, a deprecated webform agent and now a block agent, and if we continue this way there will be a lot of agents all doing very similar things. If a generic agent is not possible, possibly a new base class or trait so that we don't duplicate some of the underlying methods.

    Set to needs work because of Marcus' comments and the failing tests.

Production build 0.71.5 2024