Update public-apps/summarine.livemd
Browse files- public-apps/summarine.livemd +27 -30
public-apps/summarine.livemd
CHANGED
@@ -28,7 +28,7 @@ generation_config = Bumblebee.configure(generation_config, max_new_tokens: 100)
|
|
28 |
|
29 |
serving =
|
30 |
Bumblebee.Audio.speech_to_text(model_info, featurizer, tokenizer, generation_config,
|
31 |
-
compile: [batch_size:
|
32 |
defn_options: [compiler: EXLA]
|
33 |
)
|
34 |
```
|
@@ -50,42 +50,39 @@ Kino.listen(form, fn %{data: %{audio: audio}} ->
|
|
50 |
|
51 |
%{results: [%{text: generated_text}]} = Nx.Serving.run(serving, audio)
|
52 |
Kino.Frame.render(frame, Kino.Text.new(generated_text))
|
53 |
-
end
|
54 |
-
end)
|
55 |
|
56 |
-
|
57 |
-
|
|
|
|
|
58 |
|
59 |
-
|
60 |
-
generated_text = "I'm blue and you are red, I'm very very blue."
|
61 |
-
```
|
62 |
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
|
|
68 |
|
69 |
-
|
|
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|> Enum.
|
74 |
-
|
75 |
-
|
|
|
76 |
|
77 |
-
|
78 |
-
|
|
|
|
|
79 |
|
80 |
-
|
|
|
81 |
end)
|
82 |
-
|> Enum.reject(&is_nil/1)
|
83 |
-
|> Enum.map(fn
|
84 |
-
%{"response" => response} ->
|
85 |
-
response
|
86 |
|
87 |
-
|
88 |
-
""
|
89 |
-
end)
|
90 |
-
|> Enum.join("")
|
91 |
```
|
|
|
28 |
|
29 |
serving =
|
30 |
Bumblebee.Audio.speech_to_text(model_info, featurizer, tokenizer, generation_config,
|
31 |
+
compile: [batch_size: 8],
|
32 |
defn_options: [compiler: EXLA]
|
33 |
)
|
34 |
```
|
|
|
50 |
|
51 |
%{results: [%{text: generated_text}]} = Nx.Serving.run(serving, audio)
|
52 |
Kino.Frame.render(frame, Kino.Text.new(generated_text))
|
|
|
|
|
53 |
|
54 |
+
payload = %{
|
55 |
+
model: "llama2-uncensored",
|
56 |
+
prompt: "Please summary the text: #{generated_text}"
|
57 |
+
}
|
58 |
|
59 |
+
{:ok, response} = Req.post("http://localhost:11434/api/generate", json: payload)
|
|
|
|
|
60 |
|
61 |
+
result =
|
62 |
+
response.body
|
63 |
+
|> String.split("\n")
|
64 |
+
|> Enum.map(fn
|
65 |
+
"" ->
|
66 |
+
nil
|
67 |
|
68 |
+
line ->
|
69 |
+
{:ok, data} = Jason.decode(line)
|
70 |
|
71 |
+
data
|
72 |
+
end)
|
73 |
+
|> Enum.reject(&is_nil/1)
|
74 |
+
|> Enum.map(fn
|
75 |
+
%{"response" => response} ->
|
76 |
+
response
|
77 |
|
78 |
+
_ ->
|
79 |
+
""
|
80 |
+
end)
|
81 |
+
|> Enum.join("")
|
82 |
|
83 |
+
Kino.Frame.render(frame, Kino.Text.new(result))
|
84 |
+
end
|
85 |
end)
|
|
|
|
|
|
|
|
|
86 |
|
87 |
+
Kino.Layout.grid([form, frame], boxed: true, gap: 16)
|
|
|
|
|
|
|
88 |
```
|