Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2026-03-13 19:58:48 +01:00
parent deac1538e5
commit d01ee914c1
3 changed files with 385 additions and 384 deletions

View File

@@ -247,7 +247,9 @@ type errorChatStream struct {
}
func (s *errorChatStream) Next() bool { return false }
func (s *errorChatStream) Event() llm.ChatCompletionStreamEvent { return llm.ChatCompletionStreamEvent{} }
func (s *errorChatStream) Event() llm.ChatCompletionStreamEvent {
return llm.ChatCompletionStreamEvent{}
}
func (s *errorChatStream) Err() error { return s.err }
func (s *errorChatStream) Close() error { return nil }
@@ -305,9 +307,6 @@ func toolCallResponse(toolCalls ...llm.ToolCall) *llm.ChatCompletionResponse {
}
}
func finishReasonPtr(r llm.FinishReason) *llm.FinishReason {
return &r
}
func TestRun(t *testing.T) {
t.Parallel()
@@ -2107,7 +2106,7 @@ func TestRunStreamed(t *testing.T) {
{
Delta: llm.MessageDelta{Content: "!"},
Usage: &llm.Usage{InputTokens: 10, OutputTokens: 3},
FinishReason: finishReasonPtr(llm.FinishReasonStop),
FinishReason: new(llm.FinishReasonStop),
},
},
}
@@ -2172,7 +2171,7 @@ func TestRunStreamed(t *testing.T) {
},
},
Usage: &llm.Usage{InputTokens: 10, OutputTokens: 5},
FinishReason: finishReasonPtr(llm.FinishReasonToolCalls),
FinishReason: new(llm.FinishReasonToolCalls),
},
},
}
@@ -2183,7 +2182,7 @@ func TestRunStreamed(t *testing.T) {
{
Delta: llm.MessageDelta{},
Usage: &llm.Usage{InputTokens: 15, OutputTokens: 3},
FinishReason: finishReasonPtr(llm.FinishReasonStop),
FinishReason: new(llm.FinishReasonStop),
},
},
}
@@ -2239,7 +2238,7 @@ func TestRunStreamed(t *testing.T) {
{
Delta: llm.MessageDelta{Content: "!"},
Usage: &llm.Usage{InputTokens: 10, OutputTokens: 2},
FinishReason: finishReasonPtr(llm.FinishReasonStop),
FinishReason: new(llm.FinishReasonStop),
},
},
}
@@ -2288,7 +2287,7 @@ func TestRunStreamed(t *testing.T) {
{
Delta: llm.MessageDelta{Content: "!"},
Usage: &llm.Usage{InputTokens: 10, OutputTokens: 3},
FinishReason: finishReasonPtr(llm.FinishReasonStop),
FinishReason: new(llm.FinishReasonStop),
},
},
}

View File

@@ -91,7 +91,7 @@ func spanAttrMap(recorder *tracetest.SpanRecorder) map[string]any {
return m
}
func ptr[T any](v T) *T { return &v }
//go:fix inline
// ---------------------------------------------------------------------------
// Message.Text
@@ -357,7 +357,7 @@ func TestChatCompletionStream(t *testing.T) {
{Delta: llm.MessageDelta{Content: "Hello"}},
{Delta: llm.MessageDelta{Content: " world"}},
{
FinishReason: ptr(llm.FinishReasonStop),
FinishReason: new(llm.FinishReasonStop),
Usage: &llm.Usage{InputTokens: 8, OutputTokens: 4},
},
}
@@ -493,7 +493,7 @@ func TestChatCompletionStream(t *testing.T) {
events := []llm.ChatCompletionStreamEvent{
{Delta: llm.MessageDelta{Content: "done"}},
{
FinishReason: ptr(llm.FinishReasonLength),
FinishReason: new(llm.FinishReasonLength),
Usage: &llm.Usage{InputTokens: 100, OutputTokens: 50},
},
}
@@ -554,7 +554,7 @@ func TestStreamAccumulator(t *testing.T) {
},
}},
{
FinishReason: ptr(llm.FinishReasonToolCalls),
FinishReason: new(llm.FinishReasonToolCalls),
Usage: &llm.Usage{InputTokens: 20, OutputTokens: 15},
},
}
@@ -604,7 +604,7 @@ func TestStreamAccumulator(t *testing.T) {
},
}},
{
FinishReason: ptr(llm.FinishReasonToolCalls),
FinishReason: new(llm.FinishReasonToolCalls),
Usage: &llm.Usage{InputTokens: 30, OutputTokens: 10},
},
}
@@ -632,7 +632,7 @@ func TestStreamAccumulator(t *testing.T) {
events := []llm.ChatCompletionStreamEvent{
{Delta: llm.MessageDelta{Content: "Just text."}},
{
FinishReason: ptr(llm.FinishReasonStop),
FinishReason: new(llm.FinishReasonStop),
Usage: &llm.Usage{InputTokens: 5, OutputTokens: 3},
},
}
@@ -654,7 +654,7 @@ func TestStreamAccumulator(t *testing.T) {
events := []llm.ChatCompletionStreamEvent{
{Delta: llm.MessageDelta{Content: "a"}},
{Delta: llm.MessageDelta{Content: "b"}},
{FinishReason: ptr(llm.FinishReasonStop)},
{FinishReason: new(llm.FinishReasonStop)},
}
acc := llm.NewStreamAccumulator(&mockStream{events: events})

View File

@@ -14,6 +14,8 @@
package llm
import "strings"
import "encoding/json"
type (
@@ -42,11 +44,11 @@ type (
)
func (m Message) Text() string {
var s string
var s strings.Builder
for _, p := range m.Parts {
if tp, ok := p.(TextPart); ok {
s += tp.Text
s.WriteString(tp.Text)
}
}
return s
return s.String()
}