grpc / grpc/grpc-rust

Support client side reflection

Open
#2,028 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
12.5k
Forks
1.3k
Avg merge
4d 7h
Merged PRs (30d)
24

Description

## Feature Request

### Crates

### Motivation
The motivation comes from a use case in LLM function calling, which returns the function name and it's arguments in a json format:
```
"tool_calls": [
{
"function": {
"arguments": "{\"namespace_path\":\"***.Resource\"}",
"name": "search_file"
},
"id": "call_KS7yzQlKaa4qBMPNwKPBS8uX",
"index": 0,
"type": "function"
}
]

```
The function `search_file` is actually a gPRC method hosted in the remote server. I'm looking for ways to make generic gRPC calls without deconstructing the arguments into the required proto message struct. Actually, I don't and shouldn't care about the structure of the request and response.

### Proposal

Should support such client side reflection or ways to make generic rpc calls.

### Alternatives

a related crate might be https://crates.io/crates/prost-reflect. I hope this can be supported by tonic natively.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.