Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Are there any plans to support the restfu api or c++ api #166

Open
Amphetaminewei opened this issue Jun 6, 2024 · 8 comments
Open

Are there any plans to support the restfu api or c++ api #166

Amphetaminewei opened this issue Jun 6, 2024 · 8 comments

Comments

@Amphetaminewei
Copy link

Now we are building an AI+OS, in AI+OS, many scenarios need to use local vector storage and retrieval, so we hope to have a lightweight vector database service, this vector database service will be installed on the user's computer with the OS, and all OS AI scenarios use this vectorized service.
We hope the local vector database service to have multiple clients connected at the same time, all from different AI functions, using different collection or database.
We need to ensure that the user's operations remain smooth when the AI function is not being used, so the vector database service needs to avoid loading indexes when not using the memory and consuming memory.
Now it seems that the positioning of milvus lite is more in line with our use case, but the problem is that in our OS, most of the programs are developed in C++, and milvus lite does not support milvus restfu api, will there be any plans to support restfu api or C++ api in the future?

@junjiejiangjjj
Copy link
Collaborator

Can Python run on your OS? If so, you can use Python's fastapi and milvus-lite to implement an http server

@Amphetaminewei
Copy link
Author

Can Python run on your OS? If so, you can use Python's fastapi and milvus-lite to implement an http server

Thanks, we'll consider this option.

@xiaofan-luan
Copy link

we should think of refine cpp sdk and support milvus lite as well
but that seems to be a longer plan

@Amphetaminewei
Copy link
Author

Amphetaminewei commented Oct 21, 2024

hi @xiaofan-luan @junjiejiangjjj , I found out that Milvus used to have a C++ SDK https://github.com/milvus-io/milvus-sdk-cpp, but this SDK only supports Milvus 2.3.5, is Milvus 2.4.x very different from 2.3.5?
If we want to improve milvus-sdk-cpp to support 2.4.x, will it be difficult?

@matrixji
Copy link
Collaborator

hi @xiaofan-luan @junjiejiangjjj , I found out that Milvus used to have a C++ SDK https://github.com/milvus-io/milvus-sdk-cpp, but this SDK only supports Milvus 2.3.5, is Milvus 2.4.x very different from 2.3.5? If we want to improve milvus-sdk-cpp to support 2.4.x, will it be difficult?

Acroding my experience, it's possible, needs some integration job for migrate the proto from 2.3 to 2.4, but cpp-sdk itself missing a bunch of features (see Issues label with feature, and more).

@matrixji
Copy link
Collaborator

Now we are building an AI+OS, in AI+OS, many scenarios need to use local vector storage and retrieval, so we hope to have a lightweight vector database service, this vector database service will be installed on the user's computer with the OS, and all OS AI scenarios use this vectorized service.现在我们正在构建 AI+OS,在 AI+OS 中,很多场景都需要使用本地的向量存储和检索,所以我们希望有一个轻量级的向量数据库服务,这个向量数据库服务会安装在带有 OS 的用户电脑上,所有 OS AI 场景都使用这个向量化服务。 We hope the local vector database service to have multiple clients connected at the same time, all from different AI functions, using different collection or database.我们希望本地向量数据库服务能够同时连接多个客户端,这些客户端来自不同的 AI 功能,使用不同的集合或数据库。 We need to ensure that the user's operations remain smooth when the AI function is not being used, so the vector database service needs to avoid loading indexes when not using the memory and consuming memory.我们需要保证在不使用 AI 功能时,用户的操作保持流畅,因此 vector 数据库服务需要避免在不使用内存和消耗内存的情况下加载索引。 Now it seems that the positioning of milvus lite is more in line with our use case, but the problem is that in our OS, most of the programs are developed in C++, and milvus lite does not support milvus restfu api, will there be any plans to support restfu api or C++ api in the future?现在看来 milvus lite 的定位更符合我们的用例,但问题是,在我们的操作系统中,大部分程序都是用 C++ 开发的,而 milvus lite 不支持 milvus restfu api,未来会不会有支持 restfu api 或 C++ api 的计划呢?

From my point of view, your best way it to build your own api from protobuf with gRPC, the milvus api is based on protobuf milvus-io/milvus-proto, and you could just take cpp sdk's source as a reference.

@Amphetaminewei
Copy link
Author

@matrixji Ok, thanks for the suggestion

@codingjaguar
Copy link
Collaborator

codingjaguar commented Oct 22, 2024

Now we are building an AI+OS, in AI+OS, many scenarios need to use local vector storage and retrieval, so we hope to have a lightweight vector database service, this vector database service will be installed on the user's computer with the OS, and all OS AI scenarios use this vectorized service.现在我们正在构建 AI+OS,在 AI+OS 中,很多场景都需要使用本地的向量存储和检索,所以我们希望有一个轻量级的向量数据库服务,这个向量数据库服务会安装在带有 OS 的用户电脑上,所有 OS AI 场景都使用这个向量化服务。 We hope the local vector database service to have multiple clients connected at the same time, all from different AI functions, using different collection or database.我们希望本地向量数据库服务能够同时连接多个客户端,这些客户端来自不同的 AI 功能,使用不同的集合或数据库。 We need to ensure that the user's operations remain smooth when the AI function is not being used, so the vector database service needs to avoid loading indexes when not using the memory and consuming memory.我们需要保证在不使用 AI 功能时,用户的操作保持流畅,因此 vector 数据库服务需要避免在不使用内存和消耗内存的情况下加载索引。 Now it seems that the positioning of milvus lite is more in line with our use case, but the problem is that in our OS, most of the programs are developed in C++, and milvus lite does not support milvus restfu api, will there be any plans to support restfu api or C++ api in the future?现在看来 milvus lite 的定位更符合我们的用例,但问题是,在我们的操作系统中,大部分程序都是用 C++ 开发的,而 milvus lite 不支持 milvus restfu api,未来会不会有支持 restfu api 或 C++ api 的计划呢?

From my point of view, your best way it to build your own api from protobuf with gRPC, the milvus api is based on protobuf milvus-io/milvus-proto, and you could just take cpp sdk's source as a reference.

@junjiejiangjjj to shed some light here
I also suggest to use grpc c++ client.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants