11#include < vector>
2+ #include < stdexcept>
23#include < google/protobuf/service.h>
34#include " rtp_llm/cpp/embedding_engine/EmbeddingEngine.h"
45#include " rtp_llm/cpp/embedding_engine/arpc/ArpcServiceCreator.h"
6+ #include " rtp_llm/cpp/embedding_engine/arpc/ArpcServerWrapper.h"
7+ #include " rtp_llm/cpp/embedding_engine/arpc/AnetArpcServerWrapper.h"
58
69namespace rtp_llm {
710
811std::unique_ptr<::google::protobuf::Service>
9- createEmbeddingArpcService (int64_t model_rpc_port,
10- int64_t arpc_thread_num,
11- int64_t arpc_queue_num,
12- int64_t arpc_io_thread_num,
12+ createEmbeddingArpcService (int64_t model_rpc_port,
13+ int64_t arpc_thread_num,
14+ int64_t arpc_queue_num,
15+ int64_t arpc_io_thread_num,
1316 py::object py_render,
1417 py::object py_tokenizer,
1518 std::shared_ptr<rtp_llm::MultimodalProcessor> mm_processor,
@@ -18,4 +21,16 @@ createEmbeddingArpcService(int64_t model_rpc_port,
1821 return nullptr ;
1922}
2023
24+ std::unique_ptr<ArpcServerWrapper> createArpcServerWrapper (bool arpc_rdma_mode,
25+ std::unique_ptr<::google::protobuf::Service> service,
26+ int threadNum,
27+ int queueNum,
28+ int ioThreadNum,
29+ int port) {
30+ if (arpc_rdma_mode) {
31+ throw std::runtime_error (" rdma arpc mode not supported in open-source build" );
32+ }
33+ return std::make_unique<AnetArpcServerWrapper>(std::move (service), threadNum, queueNum, ioThreadNum, port);
34+ }
35+
2136} // namespace rtp_llm
0 commit comments