피드백
추가된 항목: @mastra/core@1.18.0
피드백 API는 평점, 추천, 댓글, 수정 사항 등 사람이 직접 관찰한 신호를 저장하고 쿼리합니다. 사용 패턴은 피드백 가이드를 참조하세요.
사용예사용예에 대한 직접 링크
다음 예제에서는 Observability 진입점을 통해 저장된 Trace에 평점을 기록합니다. 진입점의 addFeedback()은 선택 사항이므로 호출하기 전에 활성 Observability 구현에서 지원하는지 확인하세요.
if (!mastra.observability.addFeedback) {
throw new Error('Feedback is not supported by the active observability implementation')
}
await mastra.observability.addFeedback({
traceId: 'trace-123',
spanId: 'span-456',
feedback: {
feedbackSource: 'user',
feedbackType: 'rating',
value: 1,
comment: 'Helpful answer.',
},
})
피드백 만들기피드백 만들기에 대한 직접 링크
addFeedback(args)addfeedbackargs에 대한 직접 링크
Observability 진입점을 통해 지속적인 추적 또는 범위에 피드백을 추가합니다.
await mastra.observability.addFeedback?.({
traceId: 'trace-123',
spanId: 'span-456',
feedback: {
feedbackSource: 'user',
feedbackType: 'rating',
value: 1,
comment: 'Helpful answer.',
},
})
traceId?:
spanId?:
correlationContext?:
feedback:
createFeedback(args)createfeedbackargs에 대한 직접 링크
Observability 스토리지 도메인을 통해 하나의 피드백 레코드를 생성합니다. 저장소 수준 호출은 저장소에 직접 기록되므로 다음을 포함합니다.timestamp.
await observability.createFeedback({
feedback: {
feedbackId: 'feedback-1',
timestamp: new Date(),
traceId: 'trace-123',
spanId: 'span-456',
feedbackSource: 'user',
feedbackType: 'rating',
value: 1,
comment: 'Helpful answer.',
},
})
HTTP 및 클라이언트 SDK 생성 경로는 CreateFeedbackBody를 받고 서버 측에서 timestamp를 설정합니다. feedbackId가 생략되면 생성합니다.
await mastraClient.createFeedback({
feedback: {
traceId: 'trace-123',
spanId: 'span-456',
feedbackSource: 'user',
feedbackType: 'rating',
value: 1,
},
})
batchCreateFeedback(args)batchcreatefeedbackargs에 대한 직접 링크
Observability 스토리지 도메인을 통해 여러 피드백 레코드를 생성합니다. 이 메서드는 HTTP 경로에 의해 노출되지 않습니다.@mastra/client-js.
await observability.batchCreateFeedback({
feedbacks: [
{
feedbackId: 'feedback-1',
timestamp: new Date(),
traceId: 'trace-123',
feedbackSource: 'user',
feedbackType: 'rating',
value: 1,
},
{
feedbackId: 'feedback-2',
timestamp: new Date(),
traceId: 'trace-123',
feedbackSource: 'qa',
feedbackType: 'comment',
value: 'Needs a citation before shipping.',
},
],
})
피드백 나열피드백 나열에 대한 직접 링크
listFeedback(args?)listfeedbackargs에 대한 직접 링크
페이지 모드 또는 델타 모드에서 피드백 레코드를 반환합니다.
const response = await mastraClient.listFeedback({
filters: {
feedbackType: 'rating',
feedbackSource: 'studio',
},
pagination: { page: 0, perPage: 20 },
orderBy: { field: 'timestamp', direction: 'DESC' },
})
mode?:
filters?:
pagination?:
page는 0부터 시작합니다.orderBy?:
after?:
limit?:
OLAP 쿼리OLAP 쿼리에 대한 직접 링크
OLAP 피드백 쿼리는 숫자로 작동합니다.value fields.
getFeedbackAggregate(args)getfeedbackaggregateargs에 대한 직접 링크
하나의 집계 피드백 값을 반환합니다.
const response = await mastraClient.getFeedbackAggregate({
feedbackType: 'rating',
feedbackSource: 'user',
aggregation: 'avg',
comparePeriod: 'previous_day',
})
feedbackType:
feedbackSource?:
aggregation:
filters?:
comparePeriod?:
getFeedbackBreakdown(args)getfeedbackbreakdownargs에 대한 직접 링크
측정기준별로 그룹화된 피드백 값을 반환합니다.
const response = await mastraClient.getFeedbackBreakdown({
feedbackType: 'rating',
groupBy: ['entityName'],
aggregation: 'avg',
})
getFeedbackTimeSeries(args)getfeedbacktimeseriesargs에 대한 직접 링크
간격별로 버킷화된 피드백 값을 반환합니다.
const response = await mastraClient.getFeedbackTimeSeries({
feedbackType: 'rating',
interval: '1h',
aggregation: 'avg',
groupBy: ['feedbackSource'],
})
getFeedbackPercentiles(args)getfeedbackpercentilesargs에 대한 직접 링크
간격별로 버킷화된 백분위수 값을 반환합니다.
const response = await mastraClient.getFeedbackPercentiles({
feedbackType: 'rating',
percentiles: [0.5, 0.95],
interval: '1d',
})
유형유형에 대한 직접 링크
FeedbackRecordfeedbackrecord에 대한 직접 링크
feedbackId?:
timestamp:
traceId?:
spanId?:
feedbackSource?:
source?:
feedbackSource의 더 이상 사용되지 않는 별칭입니다.feedbackType:
value:
comment?:
feedbackUserId?:
sourceId?:
metadata?:
공유 컨텍스트 필드공유 컨텍스트 필드에 대한 직접 링크
피드백 레코드에는 추적, 로그, 지표 및 점수와의 필터링, 그룹화 및 상관 관계를 위한 공유 Observability 컨텍스트 필드가 포함될 수 있습니다.
entityType?:
entityId?:
entityName?:
parentEntityType?:
parentEntityId?:
parentEntityName?:
rootEntityType?:
rootEntityId?:
rootEntityName?:
userId?:
organizationId?:
resourceId?:
runId?:
sessionId?:
threadId?:
requestId?:
environment?:
serviceName?:
scope?:
entityVersionId?:
parentEntityVersionId?:
rootEntityVersionId?:
experimentId?:
executionSource?:
FeedbackInputfeedbackinput에 대한 직접 링크
mastra.observability.addFeedback(), recordedTrace.addFeedback(), recordedSpan.addFeedback()과 함께 FeedbackInput을 사용하세요.
feedbackSource?:
source?:
feedbackSource.feedbackType:
value:
comment?:
feedbackUserId?:
userId?:
feedbackUserId.metadata?:
experimentId?:
sourceId?:
FeedbackFilterfeedbackfilter에 대한 직접 링크
listFeedback() 및 OLAP 쿼리의 filters에서 FeedbackFilter를 사용하세요.
timestamp?:
traceId?:
spanId?:
feedbackType?:
feedbackSource?:
source?:
feedbackSource.feedbackUserId?:
entityType?:
entityName?:
entityVersionId?:
parentEntityType?:
parentEntityName?:
parentEntityVersionId?:
rootEntityType?:
rootEntityName?:
rootEntityVersionId?:
userId?:
organizationId?:
resourceId?:
runId?:
sessionId?:
threadId?:
requestId?:
serviceName?:
environment?:
executionSource?:
experimentId?:
HTTP 경로HTTP 경로에 대한 직접 링크
| 메서드 | 경로 | 목적 | 권한 |
|---|---|---|---|
GET | /api/observability/feedback | 피드백 레코드 나열 | 파생 권한 없음 |
POST | /api/observability/feedback | 피드백 레코드 생성 | 파생 권한 없음 |
POST | /api/observability/feedback/aggregate | 단일 집계 값 반환 | observability:read |
POST | /api/observability/feedback/breakdown | 차원별로 피드백 그룹화 | observability:read |
POST | /api/observability/feedback/timeseries | 간격별로 피드백 버킷화 | observability:read |
POST | /api/observability/feedback/percentiles | 백분위수 계열 반환 | observability:read |