This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch enrich-retrieval in repository https://gitbox.apache.org/repos/asf/camel.git
commit f009f8fa4803519a7d43daa0aee9b59b02d72c66 Author: Andrea Cosentino <[email protected]> AuthorDate: Fri Mar 8 07:11:30 2024 +0100 Camel-AWS-Bedrock Agent Runtime: Enriching the retrieveAndGenerate response and some minor things Signed-off-by: Andrea Cosentino <[email protected]> --- .../components/aws-bedrock-agent-runtime.json | 27 +++++----- .../agentruntime/aws-bedrock-agent-runtime.json | 27 +++++----- .../component/aws2/bedrock/BedrockModels.java | 5 +- .../BedrockAgentRuntimeConfiguration.java | 15 +++--- .../agentruntime/BedrockAgentRuntimeConstants.java | 12 ++++- .../agentruntime/BedrockAgentRuntimeProducer.java | 16 ++++-- .../integration/BedrockAgentRuntimeProducerIT.java | 4 -- ...BedrockAgentRuntimeComponentBuilderFactory.java | 19 ++++--- .../BedrockAgentRuntimeEndpointBuilderFactory.java | 61 +++++++++++++++------- 9 files changed, 114 insertions(+), 72 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json index 94f3e81f90d..a22825c743c 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json @@ -26,22 +26,22 @@ "configuration": { "index": 0, "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "Component configuration" }, "knowledgeBaseId": { "index": 1, "kind": "property", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" }, "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...] - "modelId": { "index": 3, "kind": "property", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "amazon.titan-text-express-v1", "amazon.titan-text-lite-v1", "amazon.titan-image-generator-v1", "amazon.titan-embed-text-v1", "ai21.j2-ultra-v1", "ai21.j2-mid-v1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.be [...] + "modelId": { "index": 3, "kind": "property", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "anthropic.claude-instant-v1", "anthropic.claude-v2", "anthropic.claude-v2:1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configur [...] "operation": { "index": 4, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationFiel [...] "overrideEndpoint": { "index": 5, "kind": "property", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option ne [...] "pojoRequest": { "index": 6, "kind": "property", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" }, "profileCredentialsName": { "index": 7, "kind": "property", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials pr [...] "region": { "index": 8, "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "us-east-1", "us-west-1", "ap-southeast-1", "ap-northeast-1", "eu-central-1" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Th [...] "uriEndpointOverride": { "index": 9, "kind": "property", "displayName": "Uri Endpoint Override", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the overriding uri endpoint. This option needs to be used in [...] - "useDefaultCredentialsProvider": { "index": 10, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock cli [...] - "useProfileCredentialsProvider": { "index": 11, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock cli [...] + "useDefaultCredentialsProvider": { "index": 10, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...] + "useProfileCredentialsProvider": { "index": 11, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...] "autowiredEnabled": { "index": 12, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching [...] "bedrockAgentRuntimeClient": { "index": 13, "kind": "property", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuration [...] "healthCheckConsumerEnabled": { "index": 14, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" }, "healthCheckProducerEnabled": { "index": 15, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...] - "proxyHost": { "index": 16, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock client" }, - "proxyPort": { "index": 17, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock client" }, - "proxyProtocol": { "index": 18, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": " [...] + "proxyHost": { "index": 16, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" }, + "proxyPort": { "index": 17, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" }, + "proxyProtocol": { "index": 18, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": " [...] "accessKey": { "index": 19, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" }, "secretKey": { "index": 20, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }, "sessionToken": { "index": 21, "kind": "property", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs to assume an IAM role" }, @@ -50,25 +50,26 @@ }, "headers": { "CamelAwsBedrockAgentRuntimeOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#OPERATION" }, - "CamelAwsBedrockAcceptContentType": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model accept content type", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#MODEL_ACCEPT_CONTENT_TYPE" } + "CamelAwsBedrockAgentRuntimeCitations": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain the citations", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#CITATIONS" }, + "CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component [...] }, "properties": { "label": { "index": 0, "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Logical name" }, "knowledgeBaseId": { "index": 1, "kind": "parameter", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" }, - "modelId": { "index": 2, "kind": "parameter", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "amazon.titan-text-express-v1", "amazon.titan-text-lite-v1", "amazon.titan-image-generator-v1", "amazon.titan-embed-text-v1", "ai21.j2-ultra-v1", "ai21.j2-mid-v1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.b [...] + "modelId": { "index": 2, "kind": "parameter", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "anthropic.claude-instant-v1", "anthropic.claude-v2", "anthropic.claude-v2:1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configu [...] "operation": { "index": 3, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationFie [...] "overrideEndpoint": { "index": 4, "kind": "parameter", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option n [...] "pojoRequest": { "index": 5, "kind": "parameter", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" }, "profileCredentialsName": { "index": 6, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials p [...] "region": { "index": 7, "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "us-east-1", "us-west-1", "ap-southeast-1", "ap-northeast-1", "eu-central-1" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "T [...] "uriEndpointOverride": { "index": 8, "kind": "parameter", "displayName": "Uri Endpoint Override", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the overriding uri endpoint. This option needs to be used i [...] - "useDefaultCredentialsProvider": { "index": 9, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock cli [...] - "useProfileCredentialsProvider": { "index": 10, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock cl [...] + "useDefaultCredentialsProvider": { "index": 9, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...] + "useProfileCredentialsProvider": { "index": 10, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Ag [...] "lazyStartProducer": { "index": 11, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...] "bedrockAgentRuntimeClient": { "index": 12, "kind": "parameter", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuratio [...] - "proxyHost": { "index": 13, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock client" }, - "proxyPort": { "index": 14, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock client" }, - "proxyProtocol": { "index": 15, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": [...] + "proxyHost": { "index": 13, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" }, + "proxyPort": { "index": 14, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" }, + "proxyProtocol": { "index": 15, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": [...] "accessKey": { "index": 16, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" }, "secretKey": { "index": 17, "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }, "sessionToken": { "index": 18, "kind": "parameter", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs to assume an IAM role" }, diff --git a/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json b/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json index 94f3e81f90d..a22825c743c 100644 --- a/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json +++ b/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json @@ -26,22 +26,22 @@ "configuration": { "index": 0, "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "Component configuration" }, "knowledgeBaseId": { "index": 1, "kind": "property", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" }, "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...] - "modelId": { "index": 3, "kind": "property", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "amazon.titan-text-express-v1", "amazon.titan-text-lite-v1", "amazon.titan-image-generator-v1", "amazon.titan-embed-text-v1", "ai21.j2-ultra-v1", "ai21.j2-mid-v1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.be [...] + "modelId": { "index": 3, "kind": "property", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "anthropic.claude-instant-v1", "anthropic.claude-v2", "anthropic.claude-v2:1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configur [...] "operation": { "index": 4, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationFiel [...] "overrideEndpoint": { "index": 5, "kind": "property", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option ne [...] "pojoRequest": { "index": 6, "kind": "property", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" }, "profileCredentialsName": { "index": 7, "kind": "property", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials pr [...] "region": { "index": 8, "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "us-east-1", "us-west-1", "ap-southeast-1", "ap-northeast-1", "eu-central-1" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Th [...] "uriEndpointOverride": { "index": 9, "kind": "property", "displayName": "Uri Endpoint Override", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the overriding uri endpoint. This option needs to be used in [...] - "useDefaultCredentialsProvider": { "index": 10, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock cli [...] - "useProfileCredentialsProvider": { "index": 11, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock cli [...] + "useDefaultCredentialsProvider": { "index": 10, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...] + "useProfileCredentialsProvider": { "index": 11, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...] "autowiredEnabled": { "index": 12, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching [...] "bedrockAgentRuntimeClient": { "index": 13, "kind": "property", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuration [...] "healthCheckConsumerEnabled": { "index": 14, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" }, "healthCheckProducerEnabled": { "index": 15, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...] - "proxyHost": { "index": 16, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock client" }, - "proxyPort": { "index": 17, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock client" }, - "proxyProtocol": { "index": 18, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": " [...] + "proxyHost": { "index": 16, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" }, + "proxyPort": { "index": 17, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" }, + "proxyProtocol": { "index": 18, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": " [...] "accessKey": { "index": 19, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" }, "secretKey": { "index": 20, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }, "sessionToken": { "index": 21, "kind": "property", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs to assume an IAM role" }, @@ -50,25 +50,26 @@ }, "headers": { "CamelAwsBedrockAgentRuntimeOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#OPERATION" }, - "CamelAwsBedrockAcceptContentType": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model accept content type", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#MODEL_ACCEPT_CONTENT_TYPE" } + "CamelAwsBedrockAgentRuntimeCitations": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain the citations", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#CITATIONS" }, + "CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component [...] }, "properties": { "label": { "index": 0, "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Logical name" }, "knowledgeBaseId": { "index": 1, "kind": "parameter", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" }, - "modelId": { "index": 2, "kind": "parameter", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "amazon.titan-text-express-v1", "amazon.titan-text-lite-v1", "amazon.titan-image-generator-v1", "amazon.titan-embed-text-v1", "ai21.j2-ultra-v1", "ai21.j2-mid-v1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.b [...] + "modelId": { "index": 2, "kind": "parameter", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "anthropic.claude-instant-v1", "anthropic.claude-v2", "anthropic.claude-v2:1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configu [...] "operation": { "index": 3, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationFie [...] "overrideEndpoint": { "index": 4, "kind": "parameter", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option n [...] "pojoRequest": { "index": 5, "kind": "parameter", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" }, "profileCredentialsName": { "index": 6, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials p [...] "region": { "index": 7, "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "us-east-1", "us-west-1", "ap-southeast-1", "ap-northeast-1", "eu-central-1" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "T [...] "uriEndpointOverride": { "index": 8, "kind": "parameter", "displayName": "Uri Endpoint Override", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the overriding uri endpoint. This option needs to be used i [...] - "useDefaultCredentialsProvider": { "index": 9, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock cli [...] - "useProfileCredentialsProvider": { "index": 10, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock cl [...] + "useDefaultCredentialsProvider": { "index": 9, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...] + "useProfileCredentialsProvider": { "index": 10, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Ag [...] "lazyStartProducer": { "index": 11, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...] "bedrockAgentRuntimeClient": { "index": 12, "kind": "parameter", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuratio [...] - "proxyHost": { "index": 13, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock client" }, - "proxyPort": { "index": 14, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock client" }, - "proxyProtocol": { "index": 15, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": [...] + "proxyHost": { "index": 13, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" }, + "proxyPort": { "index": 14, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" }, + "proxyProtocol": { "index": 15, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "object", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": [...] "accessKey": { "index": 16, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" }, "secretKey": { "index": 17, "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }, "sessionToken": { "index": 18, "kind": "parameter", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs to assume an IAM role" }, diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/BedrockModels.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/BedrockModels.java index 7da67bbb1c8..ef994e22ff5 100644 --- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/BedrockModels.java +++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/BedrockModels.java @@ -24,8 +24,9 @@ public enum BedrockModels { TITAN_EMBEDDINGS_G1("amazon.titan-embed-text-v1"), JURASSIC2_ULTRA("ai21.j2-ultra-v1"), JURASSIC2_MID("ai21.j2-mid-v1"), - - ANTROPHIC_CLAUDE_INSTANT_V1("anthropic.claude-instant-v1"); + ANTROPHIC_CLAUDE_INSTANT_V1("anthropic.claude-instant-v1"), + ANTROPHIC_CLAUDE_INSTANT_V2("anthropic.claude-v2"), + ANTROPHIC_CLAUDE_INSTANT_V2_1("anthropic.claude-v2:1"); public final String model; diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java index f13698bdd82..4c567cb734c 100644 --- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java +++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java @@ -39,7 +39,7 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable { private String secretKey; @UriParam(label = "security", secret = true) private String sessionToken; - @UriParam(enums = "amazon.titan-text-express-v1,amazon.titan-text-lite-v1,amazon.titan-image-generator-v1,amazon.titan-embed-text-v1,ai21.j2-ultra-v1,ai21.j2-mid-v1") + @UriParam(enums = "anthropic.claude-instant-v1,anthropic.claude-v2,anthropic.claude-v2:1") @Metadata(required = true) private String modelId; @UriParam @@ -133,7 +133,7 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable { } /** - * To define a proxy protocol when instantiating the Bedrock client + * To define a proxy protocol when instantiating the Bedrock Agent Runtime client */ public void setProxyProtocol(Protocol proxyProtocol) { this.proxyProtocol = proxyProtocol; @@ -144,7 +144,7 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable { } /** - * To define a proxy host when instantiating the Bedrock client + * To define a proxy host when instantiating the Bedrock Agent Runtime client */ public void setProxyHost(String proxyHost) { this.proxyHost = proxyHost; @@ -155,7 +155,7 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable { } /** - * To define a proxy port when instantiating the Bedrock client + * To define a proxy port when instantiating the Bedrock Agent Runtime client */ public void setProxyPort(Integer proxyPort) { this.proxyPort = proxyPort; @@ -220,8 +220,8 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable { } /** - * Set whether the Bedrock client should expect to load credentials through a default credentials provider or to - * expect static credentials to be passed in. + * Set whether the Bedrock Agent Runtime client should expect to load credentials through a default credentials + * provider or to expect static credentials to be passed in. */ public void setUseDefaultCredentialsProvider(Boolean useDefaultCredentialsProvider) { this.useDefaultCredentialsProvider = useDefaultCredentialsProvider; @@ -236,7 +236,8 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable { } /** - * Set whether the Bedrock client should expect to load credentials through a profile credentials provider. + * Set whether the Bedrock Agent Runtime client should expect to load credentials through a profile credentials + * provider. */ public void setUseProfileCredentialsProvider(boolean useProfileCredentialsProvider) { this.useProfileCredentialsProvider = useProfileCredentialsProvider; diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java index 368abdcc929..11a92786df0 100644 --- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java +++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java @@ -24,6 +24,14 @@ import org.apache.camel.spi.Metadata; public interface BedrockAgentRuntimeConstants { @Metadata(description = "The operation we want to perform", javaType = "String") String OPERATION = "CamelAwsBedrockAgentRuntimeOperation"; - @Metadata(description = "The model accept content type", javaType = "String") - String MODEL_ACCEPT_CONTENT_TYPE = "CamelAwsBedrockAcceptContentType"; + + @Metadata(description = "When retrieving and generating a response, this header will contain the citations", + javaType = "String") + String CITATIONS = "CamelAwsBedrockAgentRuntimeCitations"; + + @Metadata(description = "When retrieving and generating a response, this header will contain he unique identifier of the session. " + + + "Reuse the same value to continue the same session with the knowledge base.", + javaType = "String") + String SESSION_ID = "CamelAwsBedrockAgentRuntimeSessionId"; } diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java index 14a83e065bb..00ef3fd2af2 100644 --- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java +++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java @@ -21,6 +21,7 @@ import org.apache.camel.Exchange; import org.apache.camel.InvalidPayloadException; import org.apache.camel.Message; import org.apache.camel.support.DefaultProducer; +import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.URISupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -92,9 +93,10 @@ public class BedrockAgentRuntimeProducer extends DefaultProducer { throw ase; } Message message = getMessageForResponse(exchange); - setGeneratedText(result, message); + prepareResponse(result, message); } } else { + String inputText = exchange.getMessage().getMandatoryBody(String.class); KnowledgeBaseVectorSearchConfiguration knowledgeBaseVectorSearchConfiguration = KnowledgeBaseVectorSearchConfiguration.builder() .build(); @@ -113,17 +115,23 @@ public class BedrockAgentRuntimeProducer extends DefaultProducer { = RetrieveAndGenerateConfiguration.builder().knowledgeBaseConfiguration(configuration).type(type).build(); RetrieveAndGenerateInput input = RetrieveAndGenerateInput.builder() - .text(exchange.getMessage().getBody(String.class)).build(); + .text(inputText).build(); RetrieveAndGenerateResponse retrieveAndGenerateResponse = bedrockAgentRuntimeClient.retrieveAndGenerate( RetrieveAndGenerateRequest.builder().retrieveAndGenerateConfiguration(build).input(input).build()); Message message = getMessageForResponse(exchange); - setGeneratedText(retrieveAndGenerateResponse, message); + prepareResponse(retrieveAndGenerateResponse, message); } } - private void setGeneratedText(RetrieveAndGenerateResponse result, Message message) { + private void prepareResponse(RetrieveAndGenerateResponse result, Message message) { + if (result.hasCitations()) { + message.setHeader(BedrockAgentRuntimeConstants.CITATIONS, result.citations()); + } + if (ObjectHelper.isNotEmpty(result.sessionId())) { + message.setHeader(BedrockAgentRuntimeConstants.SESSION_ID, result.sessionId()); + } message.setBody(result.output().text()); } diff --git a/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/integration/BedrockAgentRuntimeProducerIT.java b/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/integration/BedrockAgentRuntimeProducerIT.java index b0a38678ad1..ad3ff441d05 100644 --- a/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/integration/BedrockAgentRuntimeProducerIT.java +++ b/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/integration/BedrockAgentRuntimeProducerIT.java @@ -21,7 +21,6 @@ import org.apache.camel.Exchange; import org.apache.camel.ProducerTemplate; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.aws2.bedrock.BedrockModels; -import org.apache.camel.component.aws2.bedrock.runtime.BedrockConstants; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -49,8 +48,6 @@ class BedrockAgentRuntimeProducerIT extends CamelTestSupport { result.expectedMessageCount(1); final Exchange result = template.send("direct:send_knowledge_base", exchange -> { exchange.getMessage().setBody("What is the average price of natural gas between 1998 and 1999?"); - exchange.getMessage().setHeader(BedrockConstants.MODEL_CONTENT_TYPE, "application/json"); - exchange.getMessage().setHeader(BedrockConstants.MODEL_ACCEPT_CONTENT_TYPE, "application/json"); }); MockEndpoint.assertIsSatisfied(context); @@ -64,7 +61,6 @@ class BedrockAgentRuntimeProducerIT extends CamelTestSupport { from("direct:send_knowledge_base") .to("aws-bedrock-agent-runtime:label?accessKey=RAW({{aws.manual.access.key}})&secretKey=RAW({{aws.manual.secret.key}}®ion=us-east-1&operation=retrieveAndGenerate&knowledgeBaseId=QOZ68KOXTS&modelId=" + BedrockModels.ANTROPHIC_CLAUDE_INSTANT_V1.model) - .log("Answer ${body}") .to(result); } }; diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java index 431b4083e4d..a2168036995 100644 --- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java +++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java @@ -221,9 +221,9 @@ public interface AwsBedrockAgentRuntimeComponentBuilderFactory { return this; } /** - * Set whether the Bedrock client should expect to load credentials - * through a default credentials provider or to expect static - * credentials to be passed in. + * Set whether the Bedrock Agent Runtime client should expect to load + * credentials through a default credentials provider or to expect + * static credentials to be passed in. * * The option is a: <code>boolean</code> type. * @@ -239,8 +239,8 @@ public interface AwsBedrockAgentRuntimeComponentBuilderFactory { return this; } /** - * Set whether the Bedrock client should expect to load credentials - * through a profile credentials provider. + * Set whether the Bedrock Agent Runtime client should expect to load + * credentials through a profile credentials provider. * * The option is a: <code>boolean</code> type. * @@ -329,7 +329,8 @@ public interface AwsBedrockAgentRuntimeComponentBuilderFactory { return this; } /** - * To define a proxy host when instantiating the Bedrock client. + * To define a proxy host when instantiating the Bedrock Agent Runtime + * client. * * The option is a: <code>java.lang.String</code> type. * @@ -344,7 +345,8 @@ public interface AwsBedrockAgentRuntimeComponentBuilderFactory { return this; } /** - * To define a proxy port when instantiating the Bedrock client. + * To define a proxy port when instantiating the Bedrock Agent Runtime + * client. * * The option is a: <code>java.lang.Integer</code> type. * @@ -359,7 +361,8 @@ public interface AwsBedrockAgentRuntimeComponentBuilderFactory { return this; } /** - * To define a proxy protocol when instantiating the Bedrock client. + * To define a proxy protocol when instantiating the Bedrock Agent + * Runtime client. * * The option is a: * <code>software.amazon.awssdk.core.Protocol</code> type. diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java index d196c0a3f10..2e360252c0d 100644 --- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java +++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java @@ -226,9 +226,9 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory { return this; } /** - * Set whether the Bedrock client should expect to load credentials - * through a default credentials provider or to expect static - * credentials to be passed in. + * Set whether the Bedrock Agent Runtime client should expect to load + * credentials through a default credentials provider or to expect + * static credentials to be passed in. * * The option is a: <code>boolean</code> type. * @@ -244,9 +244,9 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory { return this; } /** - * Set whether the Bedrock client should expect to load credentials - * through a default credentials provider or to expect static - * credentials to be passed in. + * Set whether the Bedrock Agent Runtime client should expect to load + * credentials through a default credentials provider or to expect + * static credentials to be passed in. * * The option will be converted to a <code>boolean</code> * type. @@ -263,8 +263,8 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory { return this; } /** - * Set whether the Bedrock client should expect to load credentials - * through a profile credentials provider. + * Set whether the Bedrock Agent Runtime client should expect to load + * credentials through a profile credentials provider. * * The option is a: <code>boolean</code> type. * @@ -280,8 +280,8 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory { return this; } /** - * Set whether the Bedrock client should expect to load credentials - * through a profile credentials provider. + * Set whether the Bedrock Agent Runtime client should expect to load + * credentials through a profile credentials provider. * * The option will be converted to a <code>boolean</code> * type. @@ -298,7 +298,8 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory { return this; } /** - * To define a proxy host when instantiating the Bedrock client. + * To define a proxy host when instantiating the Bedrock Agent Runtime + * client. * * The option is a: <code>java.lang.String</code> type. * @@ -312,7 +313,8 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory { return this; } /** - * To define a proxy port when instantiating the Bedrock client. + * To define a proxy port when instantiating the Bedrock Agent Runtime + * client. * * The option is a: <code>java.lang.Integer</code> type. * @@ -326,7 +328,8 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory { return this; } /** - * To define a proxy port when instantiating the Bedrock client. + * To define a proxy port when instantiating the Bedrock Agent Runtime + * client. * * The option will be converted to a * <code>java.lang.Integer</code> type. @@ -341,7 +344,8 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory { return this; } /** - * To define a proxy protocol when instantiating the Bedrock client. + * To define a proxy protocol when instantiating the Bedrock Agent + * Runtime client. * * The option is a: * <code>software.amazon.awssdk.core.Protocol</code> type. @@ -358,7 +362,8 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory { return this; } /** - * To define a proxy protocol when instantiating the Bedrock client. + * To define a proxy protocol when instantiating the Bedrock Agent + * Runtime client. * * The option will be converted to a * <code>software.amazon.awssdk.core.Protocol</code> type. @@ -669,16 +674,34 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory { } /** - * The model accept content type. + * When retrieving and generating a response, this header will contain + * the citations. * * The option is a: {@code String} type. * * Group: producer * - * @return the name of the header {@code AwsBedrockAcceptContentType}. + * @return the name of the header {@code + * AwsBedrockAgentRuntimeCitations}. + */ + public String awsBedrockAgentRuntimeCitations() { + return "CamelAwsBedrockAgentRuntimeCitations"; + } + + /** + * When retrieving and generating a response, this header will contain + * he unique identifier of the session. Reuse the same value to continue + * the same session with the knowledge base. + * + * The option is a: {@code String} type. + * + * Group: producer + * + * @return the name of the header {@code + * AwsBedrockAgentRuntimeSessionId}. */ - public String awsBedrockAcceptContentType() { - return "CamelAwsBedrockAcceptContentType"; + public String awsBedrockAgentRuntimeSessionId() { + return "CamelAwsBedrockAgentRuntimeSessionId"; } } static BedrockAgentRuntimeEndpointBuilder endpointBuilder(
