-
Notifications
You must be signed in to change notification settings - Fork 347
Feature 1979 conversational experiences #1983
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Feature 1979 conversational experiences #1983
Conversation
0552a52
to
42b24d5
Compare
"type": "object", | ||
"description": "Rating data for the feedback", | ||
"properties": { | ||
"xdm:score": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cluby-adobe and I have some thoughts around the scoring system we should use for feedback. A couple of options are:
Constrain it to a range of -1.0 to 1.0 as follows:
- 👍 👎 = -1.0 and 1.0
- ⭐ ⭐ = (num-stars / max-stars) * 2.0 - 1.0
- enum (very-negative, negative, neutral, positive, very-positive) = -1, -0.5, 0, 0.5, 1.0
Leave it open-ended and rely on consumer of event to represent/interpret:
- 👍 👎 = 0 and 1
- ⭐ ⭐ = 2
- enum (very-negative, negative, neutral, positive, very-positive) = 1, 2, 3, 4, 5
} | ||
} | ||
}, | ||
"xdm:feedback": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's very likely that feedback will come asynchronous to the prompt+response. See the conversation-event examples.
https://github.com/adobe/xdm/pull/1983/files#diff-4ce50d36345c5de493a4373ac7350f5bc09d321bf74b5b68e83a0121f655defcR1
@@ -0,0 +1,107 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rbuck23 , I think it would make sense to just put these fields directly in an agentic-event fieldgroup since they aren't reused.
"$ref": "https://ns.adobe.com/xdm/common/extensible#/definitions/@context" | ||
}, | ||
{ | ||
"$ref": "https://ns.adobe.com/xdm/datatypes/agentic" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rbuck23 , If we want to support the idea of conversation events that are not agentic, it may make sense to have a second field-group that has the agentic information and leave this field-group to just conversation information.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this idea especially as we consider call center transcripts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think what you would want is:
agentic-event.schema.json
with properties:
{
"xdm:agentic": {
"$ref": "https://ns.adobe.com/xdm/datatypes/agentic",
"title": "Agentic Properties",
"definition": "Details for agentic event with agents and skills involved."
}
}
conversation-event.schema.json
with properties:
{
"xdm:conversation": {
"$ref": "https://ns.adobe.com/xdm/datatypes/agentic/conversation",
"title": "Conversation Properties",
"definition": "Conversation event details including prompts and signals."
}
}
…tion of conversational signals
… of conversational schema
…sification number -> string
…gle value to an array of string
…rs to be a list of key/value pairs
… signals, add in interaction id, remove utterance-level ids
b700c97
to
f0a4612
Compare
"description": "Object representing a conversation prompt", | ||
"allOf": [ | ||
{ "$ref": "#/definitions/count" }, | ||
{ "$ref": "#/definitions/source" }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we make sure that prompt
has a query
property that represents the Raw Text.
"description": "Object representing a conversation response", | ||
"allOf": [ | ||
{ "$ref": "#/definitions/count" }, | ||
{ "$ref": "#/definitions/source" }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we have something like content
property in the response
as Raw Text. Also, is the expectation here to always send "text"? There will be use cases when operators will return structured data, we could stringify, but I am just wondering if this is expected.
"description": "Object representing a conversation feedback", | ||
"allOf": [ | ||
{ "$ref": "#/definitions/count" }, | ||
{ "$ref": "#/definitions/source" }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here could we have a property like content
instead of raw
or comment
"title": "Agentic Information", | ||
"type": "object", | ||
"meta:extensible": true, | ||
"description": "Construct to represent agents, agent skills, etc.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rbuck23 it would be good to add which fields are required, the examples help, but it is not clear which fields are mandatory.
"title": "Conversation", | ||
"type": "object", | ||
"meta:extensible": true, | ||
"description": "Construct to represent agents, agent skills, etc.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rbuck23 it would be good to add which fields are required, the examples help, but it is not clear which fields are mandatory.
"title": "Conversation Signals", | ||
"type": "object", | ||
"meta:extensible": true, | ||
"description": "Conversation entity signals extracted from raw text. Raw text can be from a prompt, response, feedback, etc.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rbuck23 it would be good to add which fields are required, the examples help, but it is not clear which fields are mandatory.
"type": "object", | ||
"allOf": [ | ||
{ "$ref": "#/definitions/name" }, | ||
{ "$ref": "#/definitions/version" }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does a score for a skill mean?
"items": { | ||
"type": "object", | ||
"allOf": [ | ||
{ "$ref": "#/definitions/name" }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does a score for an agent mean?
This is a PR to add conversational experiences to XDM. Issue number: #1979