llm.rb 0.3.2 → 0.4.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/README.md +81 -8
- data/lib/json/schema/array.rb +22 -0
- data/lib/json/schema/boolean.rb +9 -0
- data/lib/json/schema/integer.rb +21 -0
- data/lib/json/schema/leaf.rb +40 -0
- data/lib/json/schema/null.rb +9 -0
- data/lib/json/schema/number.rb +21 -0
- data/lib/json/schema/object.rb +26 -0
- data/lib/json/schema/string.rb +9 -0
- data/lib/json/schema.rb +73 -0
- data/lib/llm/chat.rb +7 -3
- data/lib/llm/core_ext/ostruct.rb +1 -1
- data/lib/llm/file.rb +8 -1
- data/lib/llm/message.rb +7 -0
- data/lib/llm/model.rb +27 -2
- data/lib/llm/provider.rb +36 -28
- data/lib/llm/providers/anthropic/format.rb +19 -6
- data/lib/llm/providers/anthropic/models.rb +62 -0
- data/lib/llm/providers/anthropic.rb +22 -8
- data/lib/llm/providers/gemini/format.rb +6 -1
- data/lib/llm/providers/gemini/images.rb +3 -3
- data/lib/llm/providers/gemini/models.rb +69 -0
- data/lib/llm/providers/gemini/response_parser.rb +1 -5
- data/lib/llm/providers/gemini.rb +30 -5
- data/lib/llm/providers/ollama/format.rb +11 -3
- data/lib/llm/providers/ollama/models.rb +66 -0
- data/lib/llm/providers/ollama.rb +30 -8
- data/lib/llm/providers/openai/audio.rb +0 -2
- data/lib/llm/providers/openai/format.rb +6 -1
- data/lib/llm/providers/openai/images.rb +1 -1
- data/lib/llm/providers/openai/models.rb +62 -0
- data/lib/llm/providers/openai/response_parser.rb +1 -5
- data/lib/llm/providers/openai/responses.rb +12 -6
- data/lib/llm/providers/openai.rb +37 -7
- data/lib/llm/response/modellist.rb +18 -0
- data/lib/llm/response.rb +1 -0
- data/lib/llm/version.rb +1 -1
- data/lib/llm.rb +2 -1
- data/spec/anthropic/completion_spec.rb +36 -0
- data/spec/anthropic/models_spec.rb +21 -0
- data/spec/gemini/images_spec.rb +4 -12
- data/spec/gemini/models_spec.rb +21 -0
- data/spec/llm/conversation_spec.rb +71 -3
- data/spec/ollama/models_spec.rb +20 -0
- data/spec/openai/completion_spec.rb +19 -0
- data/spec/openai/images_spec.rb +2 -6
- data/spec/openai/models_spec.rb +21 -0
- metadata +20 -6
- data/share/llm/models/anthropic.yml +0 -35
- data/share/llm/models/gemini.yml +0 -35
- data/share/llm/models/ollama.yml +0 -155
- data/share/llm/models/openai.yml +0 -46
data/share/llm/models/ollama.yml
DELETED
@@ -1,155 +0,0 @@
|
|
1
|
-
---
|
2
|
-
gemma3:1b:
|
3
|
-
name: Gemma
|
4
|
-
parameters: 1B
|
5
|
-
description: Lightweight version of Google's Gemma 3 language model, suitable for
|
6
|
-
low-resource environments
|
7
|
-
to_param: gemma3:1b
|
8
|
-
gemma3:
|
9
|
-
name: Gemma
|
10
|
-
parameters: 4B
|
11
|
-
description: Balanced Gemma 3 model providing good accuracy with reasonable size
|
12
|
-
to_param: gemma3
|
13
|
-
gemma3:12b:
|
14
|
-
name: Gemma
|
15
|
-
parameters: 12B
|
16
|
-
description: Larger Gemma 3 model offering improved reasoning and generation abilities
|
17
|
-
to_param: gemma3:12b
|
18
|
-
gemma3:27b:
|
19
|
-
name: Gemma
|
20
|
-
parameters: 27B
|
21
|
-
description: High-end Gemma 3 model focused on top-tier performance and accuracy
|
22
|
-
to_param: gemma3:27b
|
23
|
-
|
24
|
-
qwq:
|
25
|
-
name: QwQ
|
26
|
-
parameters: 32B
|
27
|
-
description: Large-scale model with high parameter count for complex tasks and
|
28
|
-
high-quality generation
|
29
|
-
to_param: qwq
|
30
|
-
|
31
|
-
deepseek-r1:
|
32
|
-
name: DeepSeek-R1
|
33
|
-
parameters: 7B
|
34
|
-
description: Compact DeepSeek model optimized for research and experimentation
|
35
|
-
to_param: deepseek-r1
|
36
|
-
deepseek-r1:671b:
|
37
|
-
name: DeepSeek-R1
|
38
|
-
parameters: 671B
|
39
|
-
description: Massive-scale DeepSeek model focused on advanced AI reasoning and
|
40
|
-
capabilities
|
41
|
-
to_param: deepseek-r1:671b
|
42
|
-
deepseek-coder:
|
43
|
-
name: DeepSeek-Coder
|
44
|
-
parameters: 1.3B
|
45
|
-
description: Lightweight code generation model trained on 2T tokens of code and natural language
|
46
|
-
to_param: deepseek-coder
|
47
|
-
deepseek-coder:6.7b:
|
48
|
-
name: DeepSeek-Coder
|
49
|
-
parameters: 6.7B
|
50
|
-
description: Mid-sized DeepSeek-Coder model offering a strong balance between speed and capability for code-related tasks
|
51
|
-
to_param: deepseek-coder:6.7b
|
52
|
-
deepseek-coder:33b:
|
53
|
-
name: DeepSeek-Coder
|
54
|
-
parameters: 33B
|
55
|
-
description: Large DeepSeek-Coder model with high performance for code generation, understanding, and multilingual coding tasks
|
56
|
-
to_param: deepseek-coder:33b
|
57
|
-
|
58
|
-
llama3.3:
|
59
|
-
name: Llama
|
60
|
-
parameters: 70B
|
61
|
-
description: Latest large Llama model designed for high-end performance in reasoning
|
62
|
-
and language tasks
|
63
|
-
to_param: llama3.3
|
64
|
-
llama3.2:
|
65
|
-
name: Llama
|
66
|
-
parameters: 3B
|
67
|
-
description: Small but capable version of Llama 3.2 for lightweight applications
|
68
|
-
to_param: llama3.2
|
69
|
-
llama3.2:1b:
|
70
|
-
name: Llama
|
71
|
-
parameters: 1B
|
72
|
-
description: Tiny version of Llama 3.2, extremely lightweight and fast
|
73
|
-
to_param: llama3.2:1b
|
74
|
-
llama3.2-vision:
|
75
|
-
name: Llama Vision
|
76
|
-
parameters: 11B
|
77
|
-
description: Multimodal Llama 3.2 model with vision capabilities (images + text)
|
78
|
-
to_param: llama3.2-vision
|
79
|
-
llama3.2-vision:90b:
|
80
|
-
name: Llama Vision
|
81
|
-
parameters: 90B
|
82
|
-
description: Large-scale vision-capable Llama model for advanced multimodal tasks
|
83
|
-
to_param: llama3.2-vision:90b
|
84
|
-
llama3.1:
|
85
|
-
name: Llama
|
86
|
-
parameters: 8B
|
87
|
-
description: General-purpose Llama model designed for good accuracy and performance
|
88
|
-
balance
|
89
|
-
to_param: llama3.1
|
90
|
-
llama3.1:405b:
|
91
|
-
name: Llama
|
92
|
-
parameters: 405B
|
93
|
-
description: Extremely large-scale version of Llama 3.1, suitable for advanced tasks
|
94
|
-
to_param: llama3.1:405b
|
95
|
-
|
96
|
-
phi4:
|
97
|
-
name: Phi
|
98
|
-
parameters: 14B
|
99
|
-
description: Phi 4 is known for compact size and competitive performance in general
|
100
|
-
tasks
|
101
|
-
to_param: phi4
|
102
|
-
phi4-mini:
|
103
|
-
name: Phi Mini
|
104
|
-
parameters: 3.8B
|
105
|
-
description: Lightweight variant of Phi 4 ideal for quick inference on constrained systems
|
106
|
-
to_param: phi4-mini
|
107
|
-
|
108
|
-
mistral:
|
109
|
-
name: Mistral
|
110
|
-
parameters: 7B
|
111
|
-
description: Popular and versatile open model for general language tasks
|
112
|
-
to_param: mistral
|
113
|
-
|
114
|
-
moondream:
|
115
|
-
name: Moondream
|
116
|
-
parameters: 1.4B
|
117
|
-
description: Compact vision-enabled model with strong general performance
|
118
|
-
to_param: moondream
|
119
|
-
|
120
|
-
neural-chat:
|
121
|
-
name: Neural Chat
|
122
|
-
parameters: 7B
|
123
|
-
description: Chat-focused model fine-tuned for natural conversations
|
124
|
-
to_param: neural-chat
|
125
|
-
|
126
|
-
starling-lm:
|
127
|
-
name: Starling
|
128
|
-
parameters: 7B
|
129
|
-
description: Model focused on instruction-following and conversational performance
|
130
|
-
to_param: starling-lm
|
131
|
-
|
132
|
-
codellama:
|
133
|
-
name: Code Llama
|
134
|
-
parameters: 7B
|
135
|
-
description: Llama model variant fine-tuned specifically for code understanding
|
136
|
-
and generation
|
137
|
-
to_param: codellama
|
138
|
-
|
139
|
-
llama2-uncensored:
|
140
|
-
name: Llama 2 Uncensored
|
141
|
-
parameters: 7B
|
142
|
-
description: Unfiltered version of Llama 2 for unrestricted language modeling
|
143
|
-
to_param: llama2-uncensored
|
144
|
-
|
145
|
-
llava:
|
146
|
-
name: LLaVA
|
147
|
-
parameters: 7B
|
148
|
-
description: Multimodal model combining vision and language understanding
|
149
|
-
to_param: llava
|
150
|
-
|
151
|
-
granite3.2:
|
152
|
-
name: Granite
|
153
|
-
parameters: 8B
|
154
|
-
description: IBM’s Granite model for enterprise-grade language applications
|
155
|
-
to_param: granite3.2
|
data/share/llm/models/openai.yml
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
---
|
2
|
-
o3-mini:
|
3
|
-
name: OpenAI o3-mini
|
4
|
-
parameters: Unknown
|
5
|
-
description: Fast, flexible, intelligent reasoning model
|
6
|
-
to_param: o3-mini
|
7
|
-
o1:
|
8
|
-
name: OpenAI o1
|
9
|
-
parameters: Unknown
|
10
|
-
description: High-intelligence reasoning model
|
11
|
-
to_param: o1
|
12
|
-
o1-mini:
|
13
|
-
name: OpenAI o1-mini
|
14
|
-
parameters: Unknown
|
15
|
-
description: Faster, more affordable reasoning model than o1
|
16
|
-
to_param: o1-mini
|
17
|
-
o1-pro:
|
18
|
-
name: OpenAI o1-pro
|
19
|
-
parameters: Unknown
|
20
|
-
description: More compute than o1 for better responses
|
21
|
-
to_param: o1-pro
|
22
|
-
gpt-4.5-preview:
|
23
|
-
name: GPT-4.5 Preview
|
24
|
-
parameters: Unknown
|
25
|
-
description: Largest and most capable GPT model
|
26
|
-
to_param: gpt-4.5-preview
|
27
|
-
gpt-4o:
|
28
|
-
name: GPT-4o
|
29
|
-
parameters: Unknown
|
30
|
-
description: Fast, intelligent, flexible GPT model
|
31
|
-
to_param: gpt-4o
|
32
|
-
gpt-4o-mini:
|
33
|
-
name: GPT-4o Mini
|
34
|
-
parameters: Mini
|
35
|
-
description: Fast, affordable small model for focused tasks
|
36
|
-
to_param: gpt-4o-mini
|
37
|
-
gpt-4o-realtime-preview:
|
38
|
-
name: GPT-4o Realtime
|
39
|
-
parameters: Unknown
|
40
|
-
description: Realtime model for text and audio inputs/outputs
|
41
|
-
to_param: gpt-4o-realtime-preview
|
42
|
-
gpt-3.5-turbo:
|
43
|
-
name: GPT-3.5 Turbo
|
44
|
-
parameters: Unknown
|
45
|
-
description: Legacy GPT model for cheaper chat and non-chat tasks
|
46
|
-
to_param: gpt-3.5-turbo
|