Epic ETP-2612: Add structured output in agents - #523
Conversation
- Clarified usage instructions and added examples for grouping tasks. - Fixed grammatical errors and improved readability in the guides.
There was a problem hiding this comment.
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.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@copilot Can you check for spelling issues, orthografy, or other improvements to documentation? |
|
@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`. |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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`. |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Se añadio un poco de clarificacion
There was a problem hiding this comment.
este archivo no se usa en ningún lado, se puede eliminar?
|
|
||
| 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:** |
There was a problem hiding this comment.
estos esquemas por defecto se exportan en el modulo? si no es asi minimamente pondria un ejemplo de codigo aca es un json?
| { | ||
| "path": "/home/user/invoice.pdf", | ||
| "question": "Extract the invoice information", | ||
| "structured_output": "Invoice", |
There was a problem hiding this comment.
si va en el prompt no tiene sentido este parametro o si ?
- 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.
No description provided.