@@ -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),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -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})
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user