Skip to content

Commit dc87009

Browse files
authored
Add model category <> messages check (#1335)
* Verify model category matches the messages * Add vision chat * Fixes
1 parent 641f166 commit dc87009

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

.cargo/config.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ rustflags = ["-C", "target-cpu=native"]
44
[target.aarch64-apple-darwin]
55
rustflags = [
66
"-C", "target-cpu=native",
7-
"-C", "target-feature=+aes,+sha2,+fp16,+fp16fml",
7+
"-C", "target-feature=+aes,+sha2,+fp16",
88
]
99

1010
[target.x86_64-apple-darwin]

mistralrs-core/src/engine/add_request.rs

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use crate::{
33
request::{DetokenizationRequest, NormalRequest, TokenizationRequest},
44
sequence::SeqStepType,
55
tools::{ToolCallingMatcher, ToolChoice},
6-
RequestMessage, Response,
6+
ModelCategory, RequestMessage, Response,
77
};
88
use candle_core::Tensor;
99
use either::Either;
@@ -88,6 +88,32 @@ impl Engine {
8888
return;
8989
}
9090

91+
// Verify the model's category matches the messages received.
92+
match (
93+
get_mut_arcmutex!(self.pipeline).category(),
94+
&request.messages,
95+
) {
96+
(
97+
ModelCategory::Text | ModelCategory::Vision { .. },
98+
RequestMessage::Chat { .. }
99+
| RequestMessage::VisionChat { .. }
100+
| RequestMessage::Completion { .. }
101+
| RequestMessage::CompletionTokens(_),
102+
) => (),
103+
(ModelCategory::Diffusion, RequestMessage::ImageGeneration { .. }) => (),
104+
(ModelCategory::Speech, RequestMessage::SpeechGeneration { .. }) => (),
105+
_ => {
106+
request
107+
.response
108+
.send(Response::ValidationError(
109+
"Received a request incompatible for this model's category.".into(),
110+
))
111+
.await
112+
.expect("Expected receiver.");
113+
return;
114+
}
115+
}
116+
91117
let images = match request.messages {
92118
RequestMessage::VisionChat {
93119
ref images,

0 commit comments

Comments
 (0)