feat: add answerability runtime trace fields
This commit is contained in:
@@ -106,6 +106,19 @@ func (c *RuntimeTraceCollector) SetRetrieverSummary(summary RetrieverTraceSummar
|
|||||||
c.Data.Retriever.Policies = append([]RetrieverPolicyTraceItem(nil), summary.Policies...)
|
c.Data.Retriever.Policies = append([]RetrieverPolicyTraceItem(nil), summary.Policies...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *RuntimeTraceCollector) SetAnswerability(data AnswerabilityTraceData) {
|
||||||
|
c.mu.Lock()
|
||||||
|
defer c.mu.Unlock()
|
||||||
|
c.Data.Answerability = AnswerabilityTraceData{
|
||||||
|
Status: data.Status,
|
||||||
|
Reason: data.Reason,
|
||||||
|
SupportingChunkIDs: append([]string(nil), data.SupportingChunkIDs...),
|
||||||
|
MissingInfo: append([]string(nil), data.MissingInfo...),
|
||||||
|
LatencyMs: data.LatencyMs,
|
||||||
|
ErrorMessage: data.ErrorMessage,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (c *RuntimeTraceCollector) AddToolItem(item ToolTraceItem) {
|
func (c *RuntimeTraceCollector) AddToolItem(item ToolTraceItem) {
|
||||||
c.mu.Lock()
|
c.mu.Lock()
|
||||||
defer c.mu.Unlock()
|
defer c.mu.Unlock()
|
||||||
|
|||||||
@@ -65,6 +65,15 @@ type RetrieverTraceSummary struct {
|
|||||||
Policies []RetrieverPolicyTraceItem
|
Policies []RetrieverPolicyTraceItem
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type AnswerabilityTraceData struct {
|
||||||
|
Status string `json:"status,omitempty"`
|
||||||
|
Reason string `json:"reason,omitempty"`
|
||||||
|
SupportingChunkIDs []string `json:"supportingChunkIds,omitempty"`
|
||||||
|
MissingInfo []string `json:"missingInfo,omitempty"`
|
||||||
|
LatencyMs int64 `json:"latencyMs,omitempty"`
|
||||||
|
ErrorMessage string `json:"errorMessage,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
type RetrieverPolicyTraceItem struct {
|
type RetrieverPolicyTraceItem struct {
|
||||||
KnowledgeBaseID int64 `json:"knowledgeBaseId,omitempty"`
|
KnowledgeBaseID int64 `json:"knowledgeBaseId,omitempty"`
|
||||||
TopK int `json:"topK,omitempty"`
|
TopK int `json:"topK,omitempty"`
|
||||||
@@ -119,7 +128,8 @@ type RuntimeTraceData struct {
|
|||||||
Policies []RetrieverPolicyTraceItem `json:"policies,omitempty"`
|
Policies []RetrieverPolicyTraceItem `json:"policies,omitempty"`
|
||||||
Items []RetrieverTraceItem `json:"items,omitempty"`
|
Items []RetrieverTraceItem `json:"items,omitempty"`
|
||||||
} `json:"retriever"`
|
} `json:"retriever"`
|
||||||
Tools struct {
|
Answerability AnswerabilityTraceData `json:"answerability,omitempty"`
|
||||||
|
Tools struct {
|
||||||
Count int `json:"count,omitempty"`
|
Count int `json:"count,omitempty"`
|
||||||
Items []ToolTraceItem `json:"items,omitempty"`
|
Items []ToolTraceItem `json:"items,omitempty"`
|
||||||
} `json:"tools"`
|
} `json:"tools"`
|
||||||
|
|||||||
Reference in New Issue
Block a user