Release Notes: v0.3.0¶
Release Date: 2026-01-04
Highlights¶
- Streaming Support: Real-time token streaming via Bedrock's ConverseStream API
- Tool Calling: Full function/tool calling support with streaming tool deltas
- Bedrock API Keys: Simplified authentication with
AWS_BEARER_TOKEN_BEDROCK - Comprehensive Testing: 18 unit tests + 8 integration tests
Added¶
[omnillm] Streaming Support¶
Stream responses token-by-token for responsive UIs:
stream, err := provider.CreateChatCompletionStream(ctx, &provider.ChatCompletionRequest{
Model: "anthropic.claude-3-haiku-20240307-v1:0",
Messages: []provider.Message{
{Role: provider.RoleUser, Content: "Tell me a story"},
},
})
defer stream.Close()
for {
chunk, err := stream.Recv()
if err == io.EOF {
break
}
fmt.Print(chunk.Choices[0].Delta.Content)
}
[omnillm] Tool Calling¶
Define tools and let the model decide when to use them:
resp, err := provider.CreateChatCompletion(ctx, &provider.ChatCompletionRequest{
Model: "anthropic.claude-3-haiku-20240307-v1:0",
Messages: []provider.Message{
{Role: provider.RoleUser, Content: "What's the weather in Seattle?"},
},
Tools: []provider.Tool{{
Type: "function",
Function: provider.ToolSpec{
Name: "get_weather",
Description: "Get current weather for a location",
Parameters: map[string]any{
"type": "object",
"properties": map[string]any{
"location": map[string]any{"type": "string"},
},
"required": []string{"location"},
},
},
}},
ToolChoice: "auto",
})
[omnillm] Bedrock API Key Authentication¶
The simplest way to authenticate - generate a key in the AWS Console:
No IAM credentials needed when using API keys.
Authentication Priority¶
| Priority | Source | Environment Variable |
|---|---|---|
| 1 | Bedrock API Key | AWS_BEARER_TOKEN_BEDROCK |
| 2 | IAM Credentials | AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY |
| 3+ | Standard AWS SDK chain | Shared credentials, instance roles, etc. |
Testing¶
Unit Tests (18 tests)¶
Integration Tests (8 tests)¶
Installation¶
Note: This was the last release under the agentplexus organization. Starting with v0.4.0, the module moved to plexusone.