ruby_llm-providers-lms 0.1.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 +7 -0
- data/.flayignore +1 -0
- data/.github/workflows/ci.yml +32 -0
- data/.github/workflows/gitleaks.yml +22 -0
- data/.github/workflows/release.yml +36 -0
- data/.overcommit.yml +31 -0
- data/.rspec +2 -0
- data/.rubocop.yml +29 -0
- data/Archspec.rb +14 -0
- data/LICENSE +21 -0
- data/README.md +87 -0
- data/lib/ruby_llm/providers/lms/models.rb +96 -0
- data/lib/ruby_llm/providers/lms.rb +55 -0
- data/models.json +603 -0
- data/spec/fixtures/vcr_cassettes/rubyllm_chat_lms_openai_gpt_oss_20b_can_handle_a_multi_turn_conversation.yml +92 -0
- data/spec/fixtures/vcr_cassettes/rubyllm_chat_lms_openai_gpt_oss_20b_can_have_a_basic_conversation.yml +45 -0
- data/spec/fixtures/vcr_cassettes/rubyllm_chat_lms_openai_gpt_oss_20b_can_use_tools.yml +129 -0
- data/spec/fixtures/vcr_cassettes/rubyllm_chat_lms_openai_gpt_oss_20b_returns_the_raw_response.yml +73 -0
- data/spec/fixtures/vcr_cassettes/rubyllm_chat_lms_openai_gpt_oss_20b_supports_streaming_responses.yml +81 -0
- data/spec/fixtures/vcr_cassettes/rubyllm_chat_lms_qwen3_0_6b_bible_assistant_can_have_a_basic_conversation.yml +73 -0
- data/spec/fixtures/vcr_cassettes/rubyllm_chat_lms_qwen3_0_6b_bible_assistant_returns_structured_output.yml +73 -0
- data/spec/fixtures/vcr_cassettes/rubyllm_chat_lms_qwen3_0_6b_bible_assistant_returns_the_raw_response.yml +73 -0
- data/spec/fixtures/vcr_cassettes/rubyllm_embedding_lms_text_embedding_nomic_embed_text_v1_5_embeds_one_text.yml +828 -0
- data/spec/fixtures/vcr_cassettes/rubyllm_embedding_lms_text_embedding_nomic_embed_text_v1_5_embeds_several_texts.yml +2375 -0
- data/spec/ruby_llm/chat_schema_spec.rb +30 -0
- data/spec/ruby_llm/chat_spec.rb +35 -0
- data/spec/ruby_llm/chat_streaming_spec.rb +22 -0
- data/spec/ruby_llm/chat_tools_spec.rb +30 -0
- data/spec/ruby_llm/embedding_spec.rb +49 -0
- data/spec/ruby_llm/image_spec.rb +23 -0
- data/spec/ruby_llm/models_spec.rb +11 -0
- data/spec/ruby_llm/moderation_spec.rb +22 -0
- data/spec/ruby_llm/providers/lms_spec.rb +149 -0
- data/spec/ruby_llm/rerank_spec.rb +23 -0
- data/spec/ruby_llm/speech_spec.rb +25 -0
- data/spec/ruby_llm/video_spec.rb +27 -0
- data/spec/spec_helper.rb +26 -0
- data/spec/support/models.rb +29 -0
- data/spec/support/rubyllm_configuration.rb +14 -0
- data/spec/support/vcr_configuration.rb +16 -0
- metadata +99 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: "<LMS_API_BASE>/chat/completions"
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"model":"openai/gpt-oss-20b","messages":[{"role":"user","content":"What''s
|
|
9
|
+
2 + 2?"}],"stream":false}'
|
|
10
|
+
headers:
|
|
11
|
+
User-Agent:
|
|
12
|
+
- Faraday v2.14.3
|
|
13
|
+
Authorization:
|
|
14
|
+
- Bearer <AUTH_TOKEN>
|
|
15
|
+
Content-Type:
|
|
16
|
+
- application/json
|
|
17
|
+
Accept-Encoding:
|
|
18
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
19
|
+
Accept:
|
|
20
|
+
- "*/*"
|
|
21
|
+
response:
|
|
22
|
+
status:
|
|
23
|
+
code: 200
|
|
24
|
+
message: OK
|
|
25
|
+
headers:
|
|
26
|
+
X-Powered-By:
|
|
27
|
+
- Express
|
|
28
|
+
Content-Type:
|
|
29
|
+
- application/json; charset=utf-8
|
|
30
|
+
Content-Length:
|
|
31
|
+
- '623'
|
|
32
|
+
Etag:
|
|
33
|
+
- W/"26f-kDMLUbsR80Kkz1Ypkhx/iqdGgq8"
|
|
34
|
+
Date:
|
|
35
|
+
- Fri, 11 Sep 2026 17:27:56 GMT
|
|
36
|
+
Connection:
|
|
37
|
+
- keep-alive
|
|
38
|
+
Keep-Alive:
|
|
39
|
+
- timeout=5
|
|
40
|
+
body:
|
|
41
|
+
encoding: ASCII-8BIT
|
|
42
|
+
string: !binary |-
|
|
43
|
+
ewogICJpZCI6ICJjaGF0Y21wbC10ZzNjczZlbXZ3OG95d3Q1Zjh6cDgiLAogICJvYmplY3QiOiAiY2hhdC5jb21wbGV0aW9uIiwKICAiY3JlYXRlZCI6IDE3ODkxNDc2NzYsCiAgIm1vZGVsIjogIm9wZW5haS9ncHQtb3NzLTIwYiIsCiAgImNob2ljZXMiOiBbCiAgICB7CiAgICAgICJpbmRleCI6IDAsCiAgICAgICJtZXNzYWdlIjogewogICAgICAgICJyb2xlIjogImFzc2lzdGFudCIsCiAgICAgICAgImNvbnRlbnQiOiAiMuKAryvigK8y4oCvPeKArzQuIiwKICAgICAgICAicmVhc29uaW5nIjogIlNpbXBsZSBtYXRoLiIsCiAgICAgICAgInRvb2xfY2FsbHMiOiBbXQogICAgICB9LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tlbnMiOiA3NCwKICAgICJjb21wbGV0aW9uX3Rva2VucyI6IDIzLAogICAgInRvdGFsX3Rva2VucyI6IDk3LAogICAgImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5zIjogMwogICAgfQogIH0sCiAgInN0YXRzIjoge30sCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJvcGVuYWkvZ3B0LW9zcy0yMGIiCn0=
|
|
44
|
+
recorded_at: Fri, 11 Sep 2026 17:27:56 GMT
|
|
45
|
+
recorded_with: VCR 6.4.0
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: "<LMS_API_BASE>/chat/completions"
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"model":"openai/gpt-oss-20b","messages":[{"role":"user","content":"What''s
|
|
9
|
+
the weather in Berlin? Use 52.5200, 13.4050."}],"stream":false,"tools":[{"type":"function","function":{"name":"","description":"Gets
|
|
10
|
+
current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude"},"longitude":{"type":"string","description":"Longitude"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}]}'
|
|
11
|
+
headers:
|
|
12
|
+
User-Agent:
|
|
13
|
+
- Faraday v2.14.3
|
|
14
|
+
Authorization:
|
|
15
|
+
- Bearer <AUTH_TOKEN>
|
|
16
|
+
Content-Type:
|
|
17
|
+
- application/json
|
|
18
|
+
Accept-Encoding:
|
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
20
|
+
Accept:
|
|
21
|
+
- "*/*"
|
|
22
|
+
response:
|
|
23
|
+
status:
|
|
24
|
+
code: 200
|
|
25
|
+
message: OK
|
|
26
|
+
headers:
|
|
27
|
+
X-Powered-By:
|
|
28
|
+
- Express
|
|
29
|
+
Content-Type:
|
|
30
|
+
- application/json; charset=utf-8
|
|
31
|
+
Content-Length:
|
|
32
|
+
- '879'
|
|
33
|
+
Etag:
|
|
34
|
+
- W/"36f-cxGzH3DZRnQutMMM+dsgqVyBZjg"
|
|
35
|
+
Date:
|
|
36
|
+
- Fri, 11 Sep 2026 17:28:04 GMT
|
|
37
|
+
Connection:
|
|
38
|
+
- keep-alive
|
|
39
|
+
Keep-Alive:
|
|
40
|
+
- timeout=5
|
|
41
|
+
body:
|
|
42
|
+
encoding: UTF-8
|
|
43
|
+
string: |-
|
|
44
|
+
{
|
|
45
|
+
"id": "chatcmpl-80f0o9tdkt82gtn9t6q8ta",
|
|
46
|
+
"object": "chat.completion",
|
|
47
|
+
"created": 1789147683,
|
|
48
|
+
"model": "openai/gpt-oss-20b",
|
|
49
|
+
"choices": [
|
|
50
|
+
{
|
|
51
|
+
"index": 0,
|
|
52
|
+
"message": {
|
|
53
|
+
"role": "assistant",
|
|
54
|
+
"content": "",
|
|
55
|
+
"reasoning": "We need to call weather function.",
|
|
56
|
+
"tool_calls": [
|
|
57
|
+
{
|
|
58
|
+
"type": "function",
|
|
59
|
+
"id": "117069919",
|
|
60
|
+
"function": {
|
|
61
|
+
"name": "",
|
|
62
|
+
"arguments": "{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"logprobs": null,
|
|
68
|
+
"finish_reason": "tool_calls"
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"usage": {
|
|
72
|
+
"prompt_tokens": 146,
|
|
73
|
+
"completion_tokens": 42,
|
|
74
|
+
"total_tokens": 188,
|
|
75
|
+
"completion_tokens_details": {
|
|
76
|
+
"reasoning_tokens": 7
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"stats": {},
|
|
80
|
+
"system_fingerprint": "openai/gpt-oss-20b"
|
|
81
|
+
}
|
|
82
|
+
recorded_at: Fri, 11 Sep 2026 17:28:04 GMT
|
|
83
|
+
- request:
|
|
84
|
+
method: post
|
|
85
|
+
uri: "<LMS_API_BASE>/chat/completions"
|
|
86
|
+
body:
|
|
87
|
+
encoding: UTF-8
|
|
88
|
+
string: '{"model":"openai/gpt-oss-20b","messages":[{"role":"user","content":"What''s
|
|
89
|
+
the weather in Berlin? Use 52.5200, 13.4050."},{"role":"assistant","content":"","tool_calls":[{"id":"117069919","type":"function","function":{"name":"","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}],"reasoning":"We
|
|
90
|
+
need to call weather function.","reasoning_content":"We need to call weather
|
|
91
|
+
function."},{"role":"tool","content":"Current weather at 52.5200, 13.4050:
|
|
92
|
+
15°C, Wind: 10 km/h","tool_call_id":"117069919"}],"stream":false,"tools":[{"type":"function","function":{"name":"","description":"Gets
|
|
93
|
+
current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude"},"longitude":{"type":"string","description":"Longitude"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}]}'
|
|
94
|
+
headers:
|
|
95
|
+
User-Agent:
|
|
96
|
+
- Faraday v2.14.3
|
|
97
|
+
Authorization:
|
|
98
|
+
- Bearer <AUTH_TOKEN>
|
|
99
|
+
Content-Type:
|
|
100
|
+
- application/json
|
|
101
|
+
Accept-Encoding:
|
|
102
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
103
|
+
Accept:
|
|
104
|
+
- "*/*"
|
|
105
|
+
response:
|
|
106
|
+
status:
|
|
107
|
+
code: 200
|
|
108
|
+
message: OK
|
|
109
|
+
headers:
|
|
110
|
+
X-Powered-By:
|
|
111
|
+
- Express
|
|
112
|
+
Content-Type:
|
|
113
|
+
- application/json; charset=utf-8
|
|
114
|
+
Content-Length:
|
|
115
|
+
- '781'
|
|
116
|
+
Etag:
|
|
117
|
+
- W/"30d-lBARRVGlBGe9sqYIa3IIttf2Jg0"
|
|
118
|
+
Date:
|
|
119
|
+
- Fri, 11 Sep 2026 17:28:06 GMT
|
|
120
|
+
Connection:
|
|
121
|
+
- keep-alive
|
|
122
|
+
Keep-Alive:
|
|
123
|
+
- timeout=5
|
|
124
|
+
body:
|
|
125
|
+
encoding: ASCII-8BIT
|
|
126
|
+
string: !binary |-
|
|
127
|
+
ewogICJpZCI6ICJjaGF0Y21wbC1ud3NrZTh6ODhjdmQxazFrZHV6dSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVhdGVkIjogMTc4OTE0NzY4NCwKICAibW9kZWwiOiAib3BlbmFpL2dwdC1vc3MtMjBiIiwKICAiY2hvaWNlcyI6IFsKICAgIHsKICAgICAgImluZGV4IjogMCwKICAgICAgIm1lc3NhZ2UiOiB7CiAgICAgICAgInJvbGUiOiAiYXNzaXN0YW50IiwKICAgICAgICAiY29udGVudCI6ICIqKkJlcmxpbiAoNTIuNTIwMOKAr04sIDEzLjQwNTDigK9FKSoqICBcbi0gKipUZW1wZXJhdHVyZToqKiB+MTXigK/CsEMgIFxuLSAqKldpbmQ6KiogfjEw4oCva20vaCAgXG5cblRoZSBmb3JlY2FzdCBpcyBtaWxkIHdpdGggY2xlYXIgc2tpZXMuIEVuam95IHlvdXIgZGF5ISIsCiAgICAgICAgInJlYXNvbmluZyI6ICJXZSBuZWVkIHRvIHJlc3BvbmQgd2l0aCB3ZWF0aGVyLiIsCiAgICAgICAgInRvb2xfY2FsbHMiOiBbXQogICAgICB9LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tlbnMiOiAyMTMsCiAgICAiY29tcGxldGlvbl90b2tlbnMiOiA2NywKICAgICJ0b3RhbF90b2tlbnMiOiAyODAsCiAgICAiY29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiA3CiAgICB9CiAgfSwKICAic3RhdHMiOiB7fSwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogIm9wZW5haS9ncHQtb3NzLTIwYiIKfQ==
|
|
128
|
+
recorded_at: Fri, 11 Sep 2026 17:28:06 GMT
|
|
129
|
+
recorded_with: VCR 6.4.0
|
data/spec/fixtures/vcr_cassettes/rubyllm_chat_lms_openai_gpt_oss_20b_returns_the_raw_response.yml
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: "<LMS_API_BASE>/chat/completions"
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"model":"openai/gpt-oss-20b","messages":[{"role":"user","content":"What
|
|
9
|
+
is the capital of France?"}],"stream":false}'
|
|
10
|
+
headers:
|
|
11
|
+
User-Agent:
|
|
12
|
+
- Faraday v2.14.3
|
|
13
|
+
Authorization:
|
|
14
|
+
- Bearer <AUTH_TOKEN>
|
|
15
|
+
Content-Type:
|
|
16
|
+
- application/json
|
|
17
|
+
Accept-Encoding:
|
|
18
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
19
|
+
Accept:
|
|
20
|
+
- "*/*"
|
|
21
|
+
response:
|
|
22
|
+
status:
|
|
23
|
+
code: 200
|
|
24
|
+
message: OK
|
|
25
|
+
headers:
|
|
26
|
+
X-Powered-By:
|
|
27
|
+
- Express
|
|
28
|
+
Content-Type:
|
|
29
|
+
- application/json; charset=utf-8
|
|
30
|
+
Content-Length:
|
|
31
|
+
- '648'
|
|
32
|
+
Etag:
|
|
33
|
+
- W/"288-2+2eF5UFjDweyMb8HxN1pATbogM"
|
|
34
|
+
Date:
|
|
35
|
+
- Fri, 11 Sep 2026 17:27:53 GMT
|
|
36
|
+
Connection:
|
|
37
|
+
- keep-alive
|
|
38
|
+
Keep-Alive:
|
|
39
|
+
- timeout=5
|
|
40
|
+
body:
|
|
41
|
+
encoding: UTF-8
|
|
42
|
+
string: |-
|
|
43
|
+
{
|
|
44
|
+
"id": "chatcmpl-sli6wgxdxqbgf872enruvr",
|
|
45
|
+
"object": "chat.completion",
|
|
46
|
+
"created": 1789147670,
|
|
47
|
+
"model": "openai/gpt-oss-20b",
|
|
48
|
+
"choices": [
|
|
49
|
+
{
|
|
50
|
+
"index": 0,
|
|
51
|
+
"message": {
|
|
52
|
+
"role": "assistant",
|
|
53
|
+
"content": "The capital of France is Paris.",
|
|
54
|
+
"reasoning": "Answer straightforward.",
|
|
55
|
+
"tool_calls": []
|
|
56
|
+
},
|
|
57
|
+
"logprobs": null,
|
|
58
|
+
"finish_reason": "stop"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"usage": {
|
|
62
|
+
"prompt_tokens": 74,
|
|
63
|
+
"completion_tokens": 20,
|
|
64
|
+
"total_tokens": 94,
|
|
65
|
+
"completion_tokens_details": {
|
|
66
|
+
"reasoning_tokens": 3
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"stats": {},
|
|
70
|
+
"system_fingerprint": "openai/gpt-oss-20b"
|
|
71
|
+
}
|
|
72
|
+
recorded_at: Fri, 11 Sep 2026 17:27:53 GMT
|
|
73
|
+
recorded_with: VCR 6.4.0
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: "<LMS_API_BASE>/chat/completions"
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"model":"openai/gpt-oss-20b","messages":[{"role":"user","content":"Count
|
|
9
|
+
from 1 to 3"}],"stream":true,"stream_options":{"include_usage":true}}'
|
|
10
|
+
headers:
|
|
11
|
+
User-Agent:
|
|
12
|
+
- Faraday v2.14.3
|
|
13
|
+
Authorization:
|
|
14
|
+
- Bearer <AUTH_TOKEN>
|
|
15
|
+
Content-Type:
|
|
16
|
+
- application/json
|
|
17
|
+
Accept-Encoding:
|
|
18
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
19
|
+
Accept:
|
|
20
|
+
- "*/*"
|
|
21
|
+
response:
|
|
22
|
+
status:
|
|
23
|
+
code: 200
|
|
24
|
+
message: OK
|
|
25
|
+
headers:
|
|
26
|
+
X-Powered-By:
|
|
27
|
+
- Express
|
|
28
|
+
Content-Type:
|
|
29
|
+
- text/event-stream
|
|
30
|
+
Cache-Control:
|
|
31
|
+
- no-cache
|
|
32
|
+
Connection:
|
|
33
|
+
- keep-alive
|
|
34
|
+
Date:
|
|
35
|
+
- Fri, 11 Sep 2026 17:28:00 GMT
|
|
36
|
+
Transfer-Encoding:
|
|
37
|
+
- chunked
|
|
38
|
+
body:
|
|
39
|
+
encoding: UTF-8
|
|
40
|
+
string: |+
|
|
41
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"role":"assistant","reasoning":"User"},"logprobs":null,"finish_reason":null}]}
|
|
42
|
+
|
|
43
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"reasoning":" wants"},"logprobs":null,"finish_reason":null}]}
|
|
44
|
+
|
|
45
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"reasoning":" count"},"logprobs":null,"finish_reason":null}]}
|
|
46
|
+
|
|
47
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"reasoning":" 1"},"logprobs":null,"finish_reason":null}]}
|
|
48
|
+
|
|
49
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"reasoning":" to"},"logprobs":null,"finish_reason":null}]}
|
|
50
|
+
|
|
51
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"reasoning":" 3"},"logprobs":null,"finish_reason":null}]}
|
|
52
|
+
|
|
53
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"reasoning":"."},"logprobs":null,"finish_reason":null}]}
|
|
54
|
+
|
|
55
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"reasoning":" Provide"},"logprobs":null,"finish_reason":null}]}
|
|
56
|
+
|
|
57
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"reasoning":" sequence"},"logprobs":null,"finish_reason":null}]}
|
|
58
|
+
|
|
59
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"reasoning":"."},"logprobs":null,"finish_reason":null}]}
|
|
60
|
+
|
|
61
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]}
|
|
62
|
+
|
|
63
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
|
|
64
|
+
|
|
65
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"content":" 2"},"logprobs":null,"finish_reason":null}]}
|
|
66
|
+
|
|
67
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
|
|
68
|
+
|
|
69
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"content":" 3"},"logprobs":null,"finish_reason":null}]}
|
|
70
|
+
|
|
71
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{"content":""},"logprobs":null,"finish_reason":null}]}
|
|
72
|
+
|
|
73
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
|
|
74
|
+
|
|
75
|
+
data: {"id":"chatcmpl-cvixai6ph3q3cdz9huvig6","object":"chat.completion.chunk","created":1789147680,"model":"openai/gpt-oss-20b","system_fingerprint":"openai/gpt-oss-20b","choices":[],"usage":{"prompt_tokens":74,"completion_tokens":29,"total_tokens":103,"completion_tokens_details":{"reasoning_tokens":12}}}
|
|
76
|
+
|
|
77
|
+
data: [DONE]
|
|
78
|
+
|
|
79
|
+
recorded_at: Fri, 11 Sep 2026 17:28:01 GMT
|
|
80
|
+
recorded_with: VCR 6.4.0
|
|
81
|
+
...
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: "<LMS_API_BASE>/chat/completions"
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"model":"qwen3-0.6b-bible-assistant","messages":[{"role":"user","content":"What''s
|
|
9
|
+
2 + 2?"}],"stream":false}'
|
|
10
|
+
headers:
|
|
11
|
+
User-Agent:
|
|
12
|
+
- Faraday v2.14.3
|
|
13
|
+
Authorization:
|
|
14
|
+
- Bearer <AUTH_TOKEN>
|
|
15
|
+
Content-Type:
|
|
16
|
+
- application/json
|
|
17
|
+
Accept-Encoding:
|
|
18
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
19
|
+
Accept:
|
|
20
|
+
- "*/*"
|
|
21
|
+
response:
|
|
22
|
+
status:
|
|
23
|
+
code: 200
|
|
24
|
+
message: OK
|
|
25
|
+
headers:
|
|
26
|
+
X-Powered-By:
|
|
27
|
+
- Express
|
|
28
|
+
Content-Type:
|
|
29
|
+
- application/json; charset=utf-8
|
|
30
|
+
Content-Length:
|
|
31
|
+
- '1584'
|
|
32
|
+
Etag:
|
|
33
|
+
- W/"630-uxTKlpT7zFB12JjOC6YqfjQu48o"
|
|
34
|
+
Date:
|
|
35
|
+
- Fri, 11 Sep 2026 17:27:15 GMT
|
|
36
|
+
Connection:
|
|
37
|
+
- keep-alive
|
|
38
|
+
Keep-Alive:
|
|
39
|
+
- timeout=5
|
|
40
|
+
body:
|
|
41
|
+
encoding: UTF-8
|
|
42
|
+
string: |-
|
|
43
|
+
{
|
|
44
|
+
"id": "chatcmpl-4gslx40t72mvc15qpsyea",
|
|
45
|
+
"object": "chat.completion",
|
|
46
|
+
"created": 1789147635,
|
|
47
|
+
"model": "qwen3-0.6b-bible-assistant",
|
|
48
|
+
"choices": [
|
|
49
|
+
{
|
|
50
|
+
"index": 0,
|
|
51
|
+
"message": {
|
|
52
|
+
"role": "assistant",
|
|
53
|
+
"content": "{\"issue_question\": \"\", \"verse\": \"Matthew 11:30-34 - For this is good, and pleasing to God. But if you have anything to give, give it all; and if not, give to a friend, and to a neighbor in need. Whoever receives evil will be tempted again when he is about to receive it.\", \"explanation\": \"Matthew 11:30-34 teaches that generosity is good and pleasing to God, but the way you distribute your resources matters. It encourages giving everything (not being burdened) and giving to others in need while also considering relationships with friends. This shifts the focus from hoarding to serving others and sharing without fear of loss.\", \"guidance\": [\"Give all as possible options, even if it means helping someone else.\", \"Focus on supporting others rather than controlling resources.\", \"Be mindful of your limits; give what you cannot afford or have less confidence in.\", \"Set clear boundaries so you don't overextend yourself.\"], \"note\": \"\"}",
|
|
54
|
+
"reasoning_content": "",
|
|
55
|
+
"tool_calls": []
|
|
56
|
+
},
|
|
57
|
+
"logprobs": null,
|
|
58
|
+
"finish_reason": "stop"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"usage": {
|
|
62
|
+
"prompt_tokens": 16,
|
|
63
|
+
"completion_tokens": 217,
|
|
64
|
+
"total_tokens": 233,
|
|
65
|
+
"completion_tokens_details": {
|
|
66
|
+
"reasoning_tokens": 0
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"stats": {},
|
|
70
|
+
"system_fingerprint": "qwen3-0.6b-bible-assistant"
|
|
71
|
+
}
|
|
72
|
+
recorded_at: Fri, 11 Sep 2026 17:27:15 GMT
|
|
73
|
+
recorded_with: VCR 6.4.0
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: "<LMS_API_BASE>/chat/completions"
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"model":"qwen3-0.6b-bible-assistant","messages":[{"role":"user","content":"Generate
|
|
9
|
+
a person named John who is 30 years old"}],"stream":false,"response_format":{"type":"json_schema","json_schema":{"name":"response","schema":{"type":"object","properties":{"name":{"type":"string"},"age":{"type":"integer"}},"required":["name","age"],"additionalProperties":false},"strict":true}}}'
|
|
10
|
+
headers:
|
|
11
|
+
User-Agent:
|
|
12
|
+
- Faraday v2.14.3
|
|
13
|
+
Authorization:
|
|
14
|
+
- Bearer <AUTH_TOKEN>
|
|
15
|
+
Content-Type:
|
|
16
|
+
- application/json
|
|
17
|
+
Accept-Encoding:
|
|
18
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
19
|
+
Accept:
|
|
20
|
+
- "*/*"
|
|
21
|
+
response:
|
|
22
|
+
status:
|
|
23
|
+
code: 200
|
|
24
|
+
message: OK
|
|
25
|
+
headers:
|
|
26
|
+
X-Powered-By:
|
|
27
|
+
- Express
|
|
28
|
+
Content-Type:
|
|
29
|
+
- application/json; charset=utf-8
|
|
30
|
+
Content-Length:
|
|
31
|
+
- '651'
|
|
32
|
+
Etag:
|
|
33
|
+
- W/"28b-lfratyRiXi0QpzlkqmrOxIv8YeU"
|
|
34
|
+
Date:
|
|
35
|
+
- Fri, 11 Sep 2026 17:29:07 GMT
|
|
36
|
+
Connection:
|
|
37
|
+
- keep-alive
|
|
38
|
+
Keep-Alive:
|
|
39
|
+
- timeout=5
|
|
40
|
+
body:
|
|
41
|
+
encoding: UTF-8
|
|
42
|
+
string: |-
|
|
43
|
+
{
|
|
44
|
+
"id": "chatcmpl-84akgcg8nqgsycjy9uwqxh",
|
|
45
|
+
"object": "chat.completion",
|
|
46
|
+
"created": 1789147746,
|
|
47
|
+
"model": "qwen3-0.6b-bible-assistant",
|
|
48
|
+
"choices": [
|
|
49
|
+
{
|
|
50
|
+
"index": 0,
|
|
51
|
+
"message": {
|
|
52
|
+
"role": "assistant",
|
|
53
|
+
"content": "{\"name\": \"John\", \"age\": 30}",
|
|
54
|
+
"reasoning_content": "",
|
|
55
|
+
"tool_calls": []
|
|
56
|
+
},
|
|
57
|
+
"logprobs": null,
|
|
58
|
+
"finish_reason": "stop"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"usage": {
|
|
62
|
+
"prompt_tokens": 20,
|
|
63
|
+
"completion_tokens": 18,
|
|
64
|
+
"total_tokens": 38,
|
|
65
|
+
"completion_tokens_details": {
|
|
66
|
+
"reasoning_tokens": 0
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"stats": {},
|
|
70
|
+
"system_fingerprint": "qwen3-0.6b-bible-assistant"
|
|
71
|
+
}
|
|
72
|
+
recorded_at: Fri, 11 Sep 2026 17:29:07 GMT
|
|
73
|
+
recorded_with: VCR 6.4.0
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: "<LMS_API_BASE>/chat/completions"
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"model":"qwen3-0.6b-bible-assistant","messages":[{"role":"user","content":"What
|
|
9
|
+
is the capital of France?"}],"stream":false}'
|
|
10
|
+
headers:
|
|
11
|
+
User-Agent:
|
|
12
|
+
- Faraday v2.14.3
|
|
13
|
+
Authorization:
|
|
14
|
+
- Bearer <AUTH_TOKEN>
|
|
15
|
+
Content-Type:
|
|
16
|
+
- application/json
|
|
17
|
+
Accept-Encoding:
|
|
18
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
19
|
+
Accept:
|
|
20
|
+
- "*/*"
|
|
21
|
+
response:
|
|
22
|
+
status:
|
|
23
|
+
code: 200
|
|
24
|
+
message: OK
|
|
25
|
+
headers:
|
|
26
|
+
X-Powered-By:
|
|
27
|
+
- Express
|
|
28
|
+
Content-Type:
|
|
29
|
+
- application/json; charset=utf-8
|
|
30
|
+
Content-Length:
|
|
31
|
+
- '649'
|
|
32
|
+
Etag:
|
|
33
|
+
- W/"289-z0+P8ZlD0mrrOcJUeEGw9Sfrl2Q"
|
|
34
|
+
Date:
|
|
35
|
+
- Fri, 11 Sep 2026 17:27:15 GMT
|
|
36
|
+
Connection:
|
|
37
|
+
- keep-alive
|
|
38
|
+
Keep-Alive:
|
|
39
|
+
- timeout=5
|
|
40
|
+
body:
|
|
41
|
+
encoding: UTF-8
|
|
42
|
+
string: |-
|
|
43
|
+
{
|
|
44
|
+
"id": "chatcmpl-ajko3wpu2rrkmje2qrqcts",
|
|
45
|
+
"object": "chat.completion",
|
|
46
|
+
"created": 1789147635,
|
|
47
|
+
"model": "qwen3-0.6b-bible-assistant",
|
|
48
|
+
"choices": [
|
|
49
|
+
{
|
|
50
|
+
"index": 0,
|
|
51
|
+
"message": {
|
|
52
|
+
"role": "assistant",
|
|
53
|
+
"content": "The capital of France is Paris.",
|
|
54
|
+
"reasoning_content": "",
|
|
55
|
+
"tool_calls": []
|
|
56
|
+
},
|
|
57
|
+
"logprobs": null,
|
|
58
|
+
"finish_reason": "stop"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"usage": {
|
|
62
|
+
"prompt_tokens": 15,
|
|
63
|
+
"completion_tokens": 12,
|
|
64
|
+
"total_tokens": 27,
|
|
65
|
+
"completion_tokens_details": {
|
|
66
|
+
"reasoning_tokens": 0
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"stats": {},
|
|
70
|
+
"system_fingerprint": "qwen3-0.6b-bible-assistant"
|
|
71
|
+
}
|
|
72
|
+
recorded_at: Fri, 11 Sep 2026 17:27:15 GMT
|
|
73
|
+
recorded_with: VCR 6.4.0
|