llm.rb 8.1.0 → 10.0.0
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/CHANGELOG.md +196 -6
- data/README.md +233 -518
- data/data/anthropic.json +278 -258
- data/data/bedrock.json +1288 -1561
- data/data/deepseek.json +38 -38
- data/data/google.json +656 -579
- data/data/openai.json +860 -818
- data/data/xai.json +243 -552
- data/data/zai.json +168 -168
- data/lib/llm/active_record/acts_as_agent.rb +5 -0
- data/lib/llm/active_record/acts_as_llm.rb +7 -8
- data/lib/llm/active_record.rb +1 -6
- data/lib/llm/agent.rb +121 -82
- data/lib/llm/context.rb +79 -74
- data/lib/llm/contract/completion.rb +45 -0
- data/lib/llm/cost.rb +81 -4
- data/lib/llm/error.rb +1 -1
- data/lib/llm/function/array.rb +8 -5
- data/lib/llm/function/call_group.rb +39 -0
- data/lib/llm/function/call_task.rb +46 -0
- data/lib/llm/function/fork/task.rb +6 -0
- data/lib/llm/function/ractor/task.rb +6 -0
- data/lib/llm/function/task.rb +10 -0
- data/lib/llm/function.rb +28 -1
- data/lib/llm/mcp/transport/http.rb +26 -46
- data/lib/llm/mcp/transport/stdio.rb +0 -8
- data/lib/llm/mcp.rb +6 -23
- data/lib/llm/provider.rb +30 -20
- data/lib/llm/providers/anthropic/error_handler.rb +6 -7
- data/lib/llm/providers/anthropic/files.rb +2 -2
- data/lib/llm/providers/anthropic/response_adapter/completion.rb +30 -0
- data/lib/llm/providers/anthropic/stream_parser.rb +2 -2
- data/lib/llm/providers/anthropic.rb +1 -1
- data/lib/llm/providers/bedrock/error_handler.rb +8 -9
- data/lib/llm/providers/bedrock/models.rb +13 -13
- data/lib/llm/providers/bedrock/response_adapter/completion.rb +30 -0
- data/lib/llm/providers/bedrock/stream_parser.rb +2 -2
- data/lib/llm/providers/bedrock.rb +1 -1
- data/lib/llm/providers/google/error_handler.rb +6 -7
- data/lib/llm/providers/google/files.rb +2 -4
- data/lib/llm/providers/google/images.rb +1 -1
- data/lib/llm/providers/google/models.rb +0 -2
- data/lib/llm/providers/google/response_adapter/completion.rb +30 -0
- data/lib/llm/providers/google/stream_parser.rb +2 -2
- data/lib/llm/providers/google.rb +1 -1
- data/lib/llm/providers/ollama/error_handler.rb +6 -7
- data/lib/llm/providers/ollama/models.rb +0 -2
- data/lib/llm/providers/ollama/response_adapter/completion.rb +30 -0
- data/lib/llm/providers/ollama.rb +1 -1
- data/lib/llm/providers/openai/audio.rb +3 -3
- data/lib/llm/providers/openai/error_handler.rb +6 -7
- data/lib/llm/providers/openai/files.rb +2 -2
- data/lib/llm/providers/openai/images.rb +3 -3
- data/lib/llm/providers/openai/models.rb +1 -1
- data/lib/llm/providers/openai/response_adapter/completion.rb +42 -0
- data/lib/llm/providers/openai/response_adapter/responds.rb +39 -0
- data/lib/llm/providers/openai/responses/stream_parser.rb +2 -2
- data/lib/llm/providers/openai/responses.rb +2 -2
- data/lib/llm/providers/openai/stream_parser.rb +2 -2
- data/lib/llm/providers/openai/vector_stores.rb +1 -1
- data/lib/llm/providers/openai.rb +1 -1
- data/lib/llm/response.rb +10 -8
- data/lib/llm/schema.rb +11 -0
- data/lib/llm/sequel/agent.rb +5 -0
- data/lib/llm/sequel/plugin.rb +8 -14
- data/lib/llm/stream/queue.rb +15 -42
- data/lib/llm/stream.rb +15 -40
- data/lib/llm/tool/param.rb +1 -8
- data/lib/llm/transport/execution.rb +67 -0
- data/lib/llm/transport/http.rb +134 -0
- data/lib/llm/transport/persistent_http.rb +152 -0
- data/lib/llm/transport/response/http.rb +113 -0
- data/lib/llm/transport/response.rb +112 -0
- data/lib/llm/{provider/transport/http → transport}/stream_decoder.rb +8 -4
- data/lib/llm/transport.rb +139 -0
- data/lib/llm/usage.rb +14 -5
- data/lib/llm/utils.rb +24 -14
- data/lib/llm/version.rb +1 -1
- data/lib/llm.rb +3 -12
- data/llm.gemspec +2 -16
- metadata +13 -20
- data/lib/llm/bot.rb +0 -3
- data/lib/llm/provider/transport/http/execution.rb +0 -115
- data/lib/llm/provider/transport/http/interruptible.rb +0 -114
- data/lib/llm/provider/transport/http.rb +0 -145
data/data/deepseek.json
CHANGED
|
@@ -28,30 +28,31 @@
|
|
|
28
28
|
]
|
|
29
29
|
},
|
|
30
30
|
"open_weights": true,
|
|
31
|
+
"limit": {
|
|
32
|
+
"context": 1000000,
|
|
33
|
+
"output": 384000
|
|
34
|
+
},
|
|
31
35
|
"cost": {
|
|
32
36
|
"input": 0.14,
|
|
33
37
|
"output": 0.28,
|
|
34
38
|
"cache_read": 0.028
|
|
35
|
-
},
|
|
36
|
-
"limit": {
|
|
37
|
-
"context": 1000000,
|
|
38
|
-
"output": 384000
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
|
-
"deepseek-
|
|
42
|
-
"id": "deepseek-
|
|
43
|
-
"name": "DeepSeek
|
|
41
|
+
"deepseek-v4-pro": {
|
|
42
|
+
"id": "deepseek-v4-pro",
|
|
43
|
+
"name": "DeepSeek V4 Pro",
|
|
44
44
|
"family": "deepseek-thinking",
|
|
45
|
-
"attachment":
|
|
45
|
+
"attachment": false,
|
|
46
46
|
"reasoning": true,
|
|
47
47
|
"tool_call": true,
|
|
48
48
|
"interleaved": {
|
|
49
49
|
"field": "reasoning_content"
|
|
50
50
|
},
|
|
51
|
+
"structured_output": true,
|
|
51
52
|
"temperature": true,
|
|
52
|
-
"knowledge": "2025-
|
|
53
|
-
"release_date": "
|
|
54
|
-
"last_updated": "2026-
|
|
53
|
+
"knowledge": "2025-05",
|
|
54
|
+
"release_date": "2026-04-24",
|
|
55
|
+
"last_updated": "2026-04-24",
|
|
55
56
|
"modalities": {
|
|
56
57
|
"input": [
|
|
57
58
|
"text"
|
|
@@ -61,31 +62,30 @@
|
|
|
61
62
|
]
|
|
62
63
|
},
|
|
63
64
|
"open_weights": true,
|
|
64
|
-
"cost": {
|
|
65
|
-
"input": 0.14,
|
|
66
|
-
"output": 0.28,
|
|
67
|
-
"cache_read": 0.028
|
|
68
|
-
},
|
|
69
65
|
"limit": {
|
|
70
66
|
"context": 1000000,
|
|
71
67
|
"output": 384000
|
|
68
|
+
},
|
|
69
|
+
"cost": {
|
|
70
|
+
"input": 1.74,
|
|
71
|
+
"output": 3.48,
|
|
72
|
+
"cache_read": 0.145
|
|
72
73
|
}
|
|
73
74
|
},
|
|
74
|
-
"deepseek-
|
|
75
|
-
"id": "deepseek-
|
|
76
|
-
"name": "DeepSeek
|
|
77
|
-
"family": "deepseek-
|
|
78
|
-
"attachment":
|
|
75
|
+
"deepseek-reasoner": {
|
|
76
|
+
"id": "deepseek-reasoner",
|
|
77
|
+
"name": "DeepSeek Reasoner",
|
|
78
|
+
"family": "deepseek-thinking",
|
|
79
|
+
"attachment": true,
|
|
79
80
|
"reasoning": true,
|
|
80
81
|
"tool_call": true,
|
|
81
82
|
"interleaved": {
|
|
82
83
|
"field": "reasoning_content"
|
|
83
84
|
},
|
|
84
|
-
"structured_output": true,
|
|
85
85
|
"temperature": true,
|
|
86
|
-
"knowledge": "2025-
|
|
87
|
-
"release_date": "
|
|
88
|
-
"last_updated": "2026-
|
|
86
|
+
"knowledge": "2025-09",
|
|
87
|
+
"release_date": "2025-12-01",
|
|
88
|
+
"last_updated": "2026-02-28",
|
|
89
89
|
"modalities": {
|
|
90
90
|
"input": [
|
|
91
91
|
"text"
|
|
@@ -95,20 +95,20 @@
|
|
|
95
95
|
]
|
|
96
96
|
},
|
|
97
97
|
"open_weights": true,
|
|
98
|
+
"limit": {
|
|
99
|
+
"context": 1000000,
|
|
100
|
+
"output": 384000
|
|
101
|
+
},
|
|
98
102
|
"cost": {
|
|
99
103
|
"input": 0.14,
|
|
100
104
|
"output": 0.28,
|
|
101
105
|
"cache_read": 0.028
|
|
102
|
-
},
|
|
103
|
-
"limit": {
|
|
104
|
-
"context": 1000000,
|
|
105
|
-
"output": 384000
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
|
-
"deepseek-v4-
|
|
109
|
-
"id": "deepseek-v4-
|
|
110
|
-
"name": "DeepSeek V4
|
|
111
|
-
"family": "deepseek-
|
|
108
|
+
"deepseek-v4-flash": {
|
|
109
|
+
"id": "deepseek-v4-flash",
|
|
110
|
+
"name": "DeepSeek V4 Flash",
|
|
111
|
+
"family": "deepseek-flash",
|
|
112
112
|
"attachment": false,
|
|
113
113
|
"reasoning": true,
|
|
114
114
|
"tool_call": true,
|
|
@@ -129,14 +129,14 @@
|
|
|
129
129
|
]
|
|
130
130
|
},
|
|
131
131
|
"open_weights": true,
|
|
132
|
-
"cost": {
|
|
133
|
-
"input": 1.74,
|
|
134
|
-
"output": 3.48,
|
|
135
|
-
"cache_read": 0.145
|
|
136
|
-
},
|
|
137
132
|
"limit": {
|
|
138
133
|
"context": 1000000,
|
|
139
134
|
"output": 384000
|
|
135
|
+
},
|
|
136
|
+
"cost": {
|
|
137
|
+
"input": 0.14,
|
|
138
|
+
"output": 0.28,
|
|
139
|
+
"cache_read": 0.028
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
}
|