ws lug fixed + docker support
parent
1281f66518
commit
7e1e3ac38e
|
|
@ -13,9 +13,9 @@ ML_MODEL_NAME="kis-test"
|
||||||
# `ML_REQUEST_TIMEOUT` for setting ML response wait time
|
# `ML_REQUEST_TIMEOUT` for setting ML response wait time
|
||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
# - Measures in `secs`
|
# - Measures in `secs`
|
||||||
# - Default value - 10
|
# - Default value - 15
|
||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
ML_REQUEST_TIMEOUT="10"
|
ML_REQUEST_TIMEOUT="15"
|
||||||
|
|
||||||
|
|
||||||
# `ML_API_LOG_LEVEL` log level selection
|
# `ML_API_LOG_LEVEL` log level selection
|
||||||
|
|
|
||||||
|
|
@ -17,5 +17,6 @@ COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/ml-api /app/ml
|
||||||
RUN apk add --no-cache ca-certificates
|
RUN apk add --no-cache ca-certificates
|
||||||
|
|
||||||
EXPOSE 5134/tcp
|
EXPOSE 5134/tcp
|
||||||
|
EXPOSE 1560/tcp
|
||||||
|
|
||||||
ENTRYPOINT ["/app/ml-api"]
|
ENTRYPOINT ["/app/ml-api"]
|
||||||
|
|
|
||||||
|
|
@ -8,13 +8,14 @@ services:
|
||||||
- NOXIS_SOCKET_PATH=./noxis.sock
|
- NOXIS_SOCKET_PATH=./noxis.sock
|
||||||
- NOXIS_PROXY_PORT=7654
|
- NOXIS_PROXY_PORT=7654
|
||||||
- NOXIS_LOG_LEVEL=TRACE
|
- NOXIS_LOG_LEVEL=TRACE
|
||||||
- ML_TARGET_URL=http://192.168.231.89:11434/api/generate
|
- ML_TARGET_URL=http://192.168.249.5:11434/api/generate
|
||||||
- ML_MODEL_NAME=kis-test
|
- ML_MODEL_NAME=kis-test
|
||||||
- ML_REQUEST_TIMEOUT=10
|
- ML_REQUEST_TIMEOUT=20
|
||||||
- ML_LOG_LEVEL=TRACE
|
- ML_LOG_LEVEL=TRACE
|
||||||
- ML_API_PORT=5134
|
- ML_API_PORT=5134
|
||||||
ports:
|
ports:
|
||||||
- 5134:5134
|
- 5134:5134
|
||||||
|
- 5135:1560
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ pub mod rest {
|
||||||
|
|
||||||
pub mod ws {
|
pub mod ws {
|
||||||
use axum::extract::{ws::{Message, WebSocket}, WebSocketUpgrade};
|
use axum::extract::{ws::{Message, WebSocket}, WebSocketUpgrade};
|
||||||
use tracing::trace;
|
use tracing::{debug, trace};
|
||||||
use super::{IntoResponse, InputMetric, Config, State};
|
use super::{IntoResponse, InputMetric, Config, State};
|
||||||
|
|
||||||
pub async fn model_ws_handler(
|
pub async fn model_ws_handler(
|
||||||
|
|
@ -63,17 +63,22 @@ pub mod ws {
|
||||||
Ok(msg) => {
|
Ok(msg) => {
|
||||||
match serde_json::from_str::<Vec<InputMetric>>(msg) {
|
match serde_json::from_str::<Vec<InputMetric>>(msg) {
|
||||||
Err(er) => {
|
Err(er) => {
|
||||||
let _ = ws.send(
|
match ws.send(
|
||||||
Message::Text(
|
Message::Text(
|
||||||
format!("Cannot convert input message: {er}")
|
format!("Cannot convert input message: {er}")
|
||||||
.into()
|
.into()
|
||||||
)
|
)
|
||||||
).await;
|
).await {
|
||||||
|
Ok(_) => trace!("cannot convert given msg"),
|
||||||
|
Err(er) => {let _ = ws.send(Message::Text(format!("Request was aborted: {}", er).into())).await;},
|
||||||
|
}
|
||||||
},
|
},
|
||||||
Ok(req) => {
|
Ok(req) => {
|
||||||
match super::send_message_to_model(config.clone(), req).await {
|
match super::send_message_to_model(config.clone(), req).await {
|
||||||
Ok(resp) => {
|
Ok(resp) => {
|
||||||
let _ = ws.send(Message::Text(resp.into()));
|
trace!("Successfull request to model");
|
||||||
|
debug!("Response from the Model: {}", &resp);
|
||||||
|
let _ = ws.send(Message::Text(resp.into())).await;
|
||||||
},
|
},
|
||||||
Err(er) => {
|
Err(er) => {
|
||||||
let _ = ws.send(Message::Text(format!("Cannot get model's response: {er}").into())).await;
|
let _ = ws.send(Message::Text(format!("Cannot get model's response: {er}").into())).await;
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ impl ApiSessionConfig {
|
||||||
model_name : std::env::var("ML_MODEL_NAME")?,
|
model_name : std::env::var("ML_MODEL_NAME")?,
|
||||||
request_timeout : std::env::var("ML_REQUEST_TIMEOUT")?.parse().unwrap_or_else(|_| {
|
request_timeout : std::env::var("ML_REQUEST_TIMEOUT")?.parse().unwrap_or_else(|_| {
|
||||||
warn!("invalid port was given, setting up default one ...");
|
warn!("invalid port was given, setting up default one ...");
|
||||||
10
|
15
|
||||||
}),
|
}),
|
||||||
client : Client::new(),
|
client : Client::new(),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue