Avoid intermediate conversation history copies
This commit is contained in:
@@ -33,7 +33,11 @@ func (e *Exchange) Details() ExchangeDetails {
|
||||
if e == nil || e.internal == nil {
|
||||
return ExchangeDetails{}
|
||||
}
|
||||
return ExchangeDetails{RunID: e.internal.RunID(), ParentRunID: e.internal.ParentRunID(), Messages: fromDomainRenderedMessages(e.internal.Messages())}
|
||||
messages := make([]RenderedMessage, e.internal.MessageCount())
|
||||
e.internal.VisitMessages(func(index int, message domain.RenderedMessage) {
|
||||
messages[index] = RenderedMessage{Role: message.Role, Content: message.Content, CacheControl: fromDomainCacheControl(message.CacheControl)}
|
||||
})
|
||||
return ExchangeDetails{RunID: e.internal.RunID(), ParentRunID: e.internal.ParentRunID(), Messages: messages}
|
||||
}
|
||||
|
||||
// String returns an opaque representation without conversation content.
|
||||
|
||||
Reference in New Issue
Block a user