turnkit 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +33 -2
- data/lib/turnkit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5eaf1e8d25237f97b607cf5a1c80fced59e8e737cd4cdbf3a9d6dca61227b19b
|
|
4
|
+
data.tar.gz: da3cc66e95e3ce0ec5df6fbc8b051fc0f6750a0c2175d0cdc09f8eb4dc4ef96e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9c50e9bd40a36392496a88f202bb5dbda51883c4ae686d8089849c6cb2fef903102efcb2a868617cca80891860849b65140888bc3bf250f620ac8bf9ea61a8e8
|
|
7
|
+
data.tar.gz: a054d0de8955d20f4d9ac60351507f56e98bf8137828d599ac5681ff593b5039f4d672dc16323f30a700a4f25aef3360fb6f97c64d75ce08f10eedf3fde692c0
|
data/README.md
CHANGED
|
@@ -26,6 +26,30 @@ Set a provider key:
|
|
|
26
26
|
|
|
27
27
|
```sh
|
|
28
28
|
export ANTHROPIC_API_KEY=...
|
|
29
|
+
# or OPENAI_API_KEY=..., GEMINI_API_KEY=..., OPENROUTER_API_KEY=...
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
TurnKit uses RubyLLM by default. Choose the provider by choosing a RubyLLM model name:
|
|
33
|
+
|
|
34
|
+
```ruby
|
|
35
|
+
TurnKit.default_model = "claude-sonnet-4-5" # Anthropic
|
|
36
|
+
# TurnKit.default_model = "gpt-4.1-mini" # OpenAI
|
|
37
|
+
# TurnKit.default_model = "gemini-2.5-flash" # Gemini
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
You can also override the model per agent or per run.
|
|
41
|
+
|
|
42
|
+
To use a different model SDK, provide a client object that responds to `chat`:
|
|
43
|
+
|
|
44
|
+
```ruby
|
|
45
|
+
class MyClient < TurnKit::Client
|
|
46
|
+
def chat(model:, messages:, tools:, instructions:, temperature: nil, metadata: nil)
|
|
47
|
+
# Call your provider here.
|
|
48
|
+
TurnKit::Result.new(text: "provider response", model: model)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
TurnKit.client = MyClient.new
|
|
29
53
|
```
|
|
30
54
|
|
|
31
55
|
Ask an agent:
|
|
@@ -212,10 +236,17 @@ agent = TurnKit::Agent.new(
|
|
|
212
236
|
)
|
|
213
237
|
```
|
|
214
238
|
|
|
239
|
+
Override the model for a single conversation or turn:
|
|
240
|
+
|
|
241
|
+
```ruby
|
|
242
|
+
conversation = agent.conversation(model: "claude-opus-4-1")
|
|
243
|
+
turn = conversation.run!(model: "gpt-4.1-mini")
|
|
244
|
+
```
|
|
245
|
+
|
|
215
246
|
| Option | Description |
|
|
216
247
|
| --- | --- |
|
|
217
|
-
| `default_model` | Set the default model. |
|
|
218
|
-
| `client` | Set the model client. |
|
|
248
|
+
| `default_model` | Set the default RubyLLM model. The model name determines the provider. |
|
|
249
|
+
| `client` | Set the model client. Defaults to `TurnKit::Adapters::RubyLLM.new`. |
|
|
219
250
|
| `store` | Set the conversation store. |
|
|
220
251
|
| `max_iterations` | Limit model calls per turn. |
|
|
221
252
|
| `timeout` | Limit seconds per root turn. |
|
data/lib/turnkit/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: turnkit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sam Couch
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-06-
|
|
11
|
+
date: 2026-06-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: ruby_llm
|