@@ -22,14 +22,17 @@ use crate::atomic_value::AtomicValue;
22
22
use crate :: balancer:: agent_controller_snapshot:: AgentControllerSnapshot ;
23
23
use crate :: balancer:: agent_controller_update_result:: AgentControllerUpdateResult ;
24
24
use crate :: balancer:: chat_template_override_sender_collection:: ChatTemplateOverrideSenderCollection ;
25
+ use crate :: balancer:: embedding_sender_collection:: EmbeddingSenderCollection ;
25
26
use crate :: balancer:: generate_tokens_sender_collection:: GenerateTokensSenderCollection ;
26
27
use crate :: balancer:: manages_senders_controller:: ManagesSendersController ;
27
28
use crate :: balancer:: model_metadata_sender_collection:: ModelMetadataSenderCollection ;
28
29
use crate :: balancer:: receive_tokens_controller:: ReceiveTokensController ;
30
+ use crate :: embedding_result:: EmbeddingResult ;
29
31
use crate :: jsonrpc:: RequestEnvelope ;
30
32
use crate :: produces_snapshot:: ProducesSnapshot ;
31
33
use crate :: request_params:: ContinueFromConversationHistoryParams ;
32
34
use crate :: request_params:: ContinueFromRawPromptParams ;
35
+ use crate :: request_params:: GenerateEmbeddingBatchParams ;
33
36
use crate :: sends_rpc_message:: SendsRpcMessage ;
34
37
use crate :: sets_desired_state:: SetsDesiredState ;
35
38
use crate :: slot_aggregated_status_snapshot:: SlotAggregatedStatusSnapshot ;
@@ -42,6 +45,7 @@ pub struct AgentController {
42
45
pub download_current : AtomicValue < AtomicUsize > ,
43
46
pub download_filename : RwLock < Option < String > > ,
44
47
pub download_total : AtomicValue < AtomicUsize > ,
48
+ pub embedding_sender_collection : Arc < EmbeddingSenderCollection > ,
45
49
pub generate_tokens_sender_collection : Arc < GenerateTokensSenderCollection > ,
46
50
pub id : String ,
47
51
pub issues : RwLock < BTreeSet < AgentIssue > > ,
@@ -59,15 +63,13 @@ impl AgentController {
59
63
pub async fn continue_from_conversation_history (
60
64
& self ,
61
65
request_id : String ,
62
- continue_from_conversation_history_params : ContinueFromConversationHistoryParams ,
66
+ params : ContinueFromConversationHistoryParams ,
63
67
) -> Result < ReceiveTokensController > {
64
68
self . receiver_from_message (
65
69
request_id. clone ( ) ,
66
70
AgentJsonRpcMessage :: Request ( RequestEnvelope {
67
71
id : request_id,
68
- request : AgentJsonRpcRequest :: ContinueFromConversationHistory (
69
- continue_from_conversation_history_params. clone ( ) ,
70
- ) ,
72
+ request : AgentJsonRpcRequest :: ContinueFromConversationHistory ( params. clone ( ) ) ,
71
73
} ) ,
72
74
)
73
75
. await
@@ -76,20 +78,32 @@ impl AgentController {
76
78
pub async fn continue_from_raw_prompt (
77
79
& self ,
78
80
request_id : String ,
79
- continue_from_raw_prompt_params : ContinueFromRawPromptParams ,
81
+ params : ContinueFromRawPromptParams ,
80
82
) -> Result < ReceiveTokensController > {
81
83
self . receiver_from_message (
82
84
request_id. clone ( ) ,
83
85
AgentJsonRpcMessage :: Request ( RequestEnvelope {
84
86
id : request_id,
85
- request : AgentJsonRpcRequest :: ContinueFromRawPrompt (
86
- continue_from_raw_prompt_params. clone ( ) ,
87
- ) ,
87
+ request : AgentJsonRpcRequest :: ContinueFromRawPrompt ( params. clone ( ) ) ,
88
88
} ) ,
89
89
)
90
90
. await
91
91
}
92
92
93
+ pub async fn generate_embedding_batch (
94
+ & self ,
95
+ embedding_rx : mpsc:: UnboundedReceiver < EmbeddingResult > ,
96
+ embedding_tx : mpsc:: UnboundedSender < EmbeddingResult > ,
97
+ request_id : String ,
98
+ params : GenerateEmbeddingBatchParams ,
99
+ ) -> Result < ManagesSendersController < EmbeddingSenderCollection > > {
100
+ Ok ( ManagesSendersController {
101
+ request_id,
102
+ response_rx : embedding_rx,
103
+ response_sender_collection : self . embedding_sender_collection . clone ( ) ,
104
+ } )
105
+ }
106
+
93
107
pub async fn get_chat_template_override (
94
108
& self ,
95
109
) -> Result < ManagesSendersController < ChatTemplateOverrideSenderCollection > > {
0 commit comments