mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-06-24 16:42:15 +00:00
FIX: Don't check for #blank? when manipulating chunks (#1428)
This commit is contained in:
parent
26217e51f9
commit
8c8fd969ef
@ -74,7 +74,7 @@ module DiscourseAi
|
||||
private
|
||||
|
||||
def try_escape_and_parse(raw_json)
|
||||
if raw_json.blank? || !raw_json.is_a?(String)
|
||||
if !raw_json.is_a?(String)
|
||||
@broken = true
|
||||
return
|
||||
end
|
||||
|
@ -544,7 +544,9 @@ RSpec.describe DiscourseAi::Completions::Endpoints::Gemini do
|
||||
|
||||
data: {"candidates": [{"content": {"parts": [{"text": "Hello!"}],"role": "model"},"finishReason": "STOP"}],"usageMetadata": {"promptTokenCount": 399,"candidatesTokenCount": 191,"totalTokenCount": 590},"modelVersion": "gemini-1.5-pro-002"}
|
||||
|
||||
data: {"candidates": [{"content": {"parts": [{"text": "\\n there"}],"role": "model"},"finishReason": "STOP"}],"usageMetadata": {"promptTokenCount": 399,"candidatesTokenCount": 191,"totalTokenCount": 590},"modelVersion": "gemini-1.5-pro-002"}
|
||||
data: {"candidates": [{"content": {"parts": [{"text": "\\n "}],"role": "model"},"finishReason": "STOP"}],"usageMetadata": {"promptTokenCount": 399,"candidatesTokenCount": 191,"totalTokenCount": 590},"modelVersion": "gemini-1.5-pro-002"}
|
||||
|
||||
data: {"candidates": [{"content": {"parts": [{"text": "there"}],"role": "model"},"finishReason": "STOP"}],"usageMetadata": {"promptTokenCount": 399,"candidatesTokenCount": 191,"totalTokenCount": 590},"modelVersion": "gemini-1.5-pro-002"}
|
||||
|
||||
data: {"candidates": [{"content": {"parts": [{"text": "\\","}],"role": "model"},"finishReason": "STOP"}],"usageMetadata": {"promptTokenCount": 399,"candidatesTokenCount": 191,"totalTokenCount": 590},"modelVersion": "gemini-1.5-pro-002"}
|
||||
|
||||
|
@ -112,6 +112,14 @@ RSpec.describe DiscourseAi::Completions::StructuredOutput do
|
||||
["Hello! I am a chunk", "There"],
|
||||
)
|
||||
end
|
||||
|
||||
it "handles empty newline chunks" do
|
||||
chunks = [+"{\"", +"message", +"\":\"", +"Hello!", +"\n", +"\"", +"}"]
|
||||
|
||||
chunks.each { |c| structured_output << c }
|
||||
|
||||
expect(structured_output.read_buffered_property(:message)).to eq("Hello!\n")
|
||||
end
|
||||
end
|
||||
|
||||
describe "dealing with non-JSON responses" do
|
||||
|
Loading…
x
Reference in New Issue
Block a user