Skip to content

Epic ETP-2612: Add structured output in agents - #523

Merged
isaiasb-etendo merged 16 commits into
developfrom
epic/ETP-2612
Jan 7, 2026
Merged

Epic ETP-2612: Add structured output in agents#523
isaiasb-etendo merged 16 commits into
developfrom
epic/ETP-2612

Conversation

@valenvivaldi

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds comprehensive documentation for the new structured output feature in Etendo Copilot agents, allowing agents to return responses that conform to JSON Schema specifications. This enhances integration capabilities and ensures predictable output formats.

Key changes:

  • Adds JSON Schema configuration field to agent advanced settings
  • Extends OCR tool with structured output schemas, reference template matching, and multi-provider support
  • Enhances Task Creator tool with groupby and preview parameters for better bulk task management

Reviewed changes

Copilot reviewed 5 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
docs/user-guide/etendo-copilot/setup-and-usage.md Documents new JSON Schema field, Module fields, Model configuration, and image indexing behavior
docs/developer-guide/etendo-copilot/how-to-guides/how-to-create-and-work-with-bulk-tasks-for-copilot.md Adds advanced bulk task features (groupby, preview mode) with examples and grammar corrections
docs/developer-guide/etendo-copilot/how-to-guides/how-to-create-an-agent.md Comprehensive structured output documentation including JSON Schema examples, OCR updates, and various grammar fixes
docs/developer-guide/etendo-copilot/available-tools/task-creator-tool.md Documents new groupby parameter for grouping related data rows with examples
docs/developer-guide/etendo-copilot/available-tools/ocr-tool.md Major expansion covering structured schemas, reference template matching, multi-provider config, and PDF quality control
docs/assets/.../agent-json-schema-field.png New screenshot showing JSON Schema field in agent configuration UI

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/developer-guide/etendo-copilot/how-to-guides/how-to-create-an-agent.md Outdated
Comment thread docs/user-guide/etendo-copilot/setup-and-usage.md Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@valenvivaldi

Copy link
Copy Markdown
Contributor Author

@copilot Can you check for spelling issues, orthografy, or other improvements to documentation?

Copilot AI commented Dec 19, 2025

Copy link
Copy Markdown

@valenvivaldi I've opened a new pull request, #528, to work on those changes. Once the pull request is ready, I'll request review from you.

- Introduced a new section for the Agent Memory window in the setup guide.
- Explained the functionality and fields related to capturing and reusing agent knowledge.
Replaced the image path for the Agent Memory window to ensure correct display in the user guide.
- Introduced a new guide on improving OCR recognition with detailed steps.
- Added reference images to enhance the guide's effectiveness.
- Updated the OCR tool documentation to include tips for optimizing results.
- Included links to the new guide in relevant sections for better accessibility.

- **disable_threshold_filter** (optional): When `true`, ignore the configured similarity threshold and return the most similar reference found in the agent database (disables threshold filtering). Default: `false`.

- **force_structured_output_compat** (optional): When `true` (or when the selected model starts with 'gpt-5'), do not use the LLM's structured-output wrapper. Instead the tool will request structured output by embedding the schema JSON directly into the system prompt for compatibility with older agents. Default: `false`.

@isaiasb-etendo isaiasb-etendo Dec 23, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No lo entiendo, significa que no usa el esquema de tools/schema sino q si o si le tenes que pasar la estructura en el campo question ?
y por que ese parceo de gpt-5? En que caso querría usarlo?

@valenvivaldi valenvivaldi Jan 5, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, al estar en true, cambia a una forma mas "compatible" de enviar la strcutrued ouput a la LLM. es para solventar problemas de compatiblidad. Especificare un poco mas en el articulo.


- **scale** (optional): PDF render scale factor (e.g., 2.0 = ~200 DPI, 3.0 = ~300 DPI). Higher values yield better quality but larger size and slower processing. Default: 2.0.

- **disable_threshold_filter** (optional): When `true`, ignore the configured similarity threshold and return the most similar reference found in the agent database (disables threshold filtering). Default: `false`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No queda claro, deshabilita directamente la base de datos? como se configura el threshold_filter por que acalara que se deshabilita pero no termino de entender que es y como se configura

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se añadio un poco de clarificacion

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

este archivo no se usa en ningún lado, se puede eliminar?

Comment thread docs/developer-guide/etendo-copilot/available-tools/ocr-tool.md Outdated
Comment thread docs/developer-guide/etendo-copilot/available-tools/ocr-tool.md

The tool supports predefined schemas that enforce a specific output structure. This is useful when you need consistent data formats for downstream processing.

**Available schemas:**

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

estos esquemas por defecto se exportan en el modulo? si no es asi minimamente pondria un ejemplo de codigo aca es un json?

Comment thread docs/developer-guide/etendo-copilot/available-tools/ocr-tool.md Outdated
{
"path": "/home/user/invoice.pdf",
"question": "Extract the invoice information",
"structured_output": "Invoice",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

si va en el prompt no tiene sentido este parametro o si ?

Comment thread docs/user-guide/etendo-copilot/setup-and-usage.md
Comment thread docs/user-guide/etendo-copilot/setup-and-usage.md
Comment thread docs/user-guide/etendo-copilot/setup-and-usage.md
Comment thread docs/user-guide/etendo-copilot/setup-and-usage.md
- Added details on threshold filtering and its configuration in
  `gradle.properties`.
- Updated instructions for specifying a model to reflect the use
  of `gradle.properties` instead of environment variables.
- Clarified structured output schema examples in the OCR Tool guide.
- Added instructions for defining and implementing custom schemas.
- Enhanced explanations for using structured output in extraction processes.
@isaiasb-etendo
isaiasb-etendo merged commit 35e0f83 into develop Jan 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants