secretflow / psi

The repo of Private Set Intersection(PSI) and Private Information Retrieval(PIR) from SecretFlow.
https://www.secretflow.org.cn/docs/psi
Apache License 2.0
21 stars 16 forks source link

请问一下,目前PSI算法容器支持用环境变量替代json文件传参吗 #106

Closed JorelHan closed 2 months ago

JorelHan commented 3 months ago

通过容器启动算法的时候,能不能改为环境变量的方式传递参数,这样就不用每次都挂载文件了

Chrisdehe commented 3 months ago

@JorelHan 请问这样做需求是什么呢? 比如你最终是要挂载输入csv文件进去才能跑psi,是否也能考虑挂载config文件呢?

JorelHan commented 3 months ago

@Chrisdehe 我们的环境有些复杂,容器输入输出都在nfs中,而nfs对于我们外部人员是没有权限直接操作的。每次运行算法前,csv文件由别的部门告诉我们路径以及需要的算法,然后我们先启动一个容器修改nfs中的config文件,然后再启动算法,这样就很不方便。所以想请问一下是否支持环境变量的方式传递config中的参数,感谢!

6fj commented 3 months ago

Hi @JorelHan

我们收到了你的feature request,会在后续的docker image中加入环境变量的支持,请继续关注本issue的状态。

JorelHan commented 3 months ago

好的,感谢!!

Chrisdehe commented 3 months ago

@JorelHan hey,有更多的feature request或technical exploration可以添加技术支持WeChat(secretflow02)沟通,我们能够邀请您到隐语的技术交流群中。 祝好~

6fj commented 3 months ago

@JorelHan 我能否理解为你想通过环境变量传递一个config json?

JorelHan commented 3 months ago

@JorelHan 我能否理解为你想通过环境变量传递一个config json?

是的,对于我们来说如果能通过环境变量传递一个config json 是最好的方法

6fj commented 3 months ago

新的PSI main 可以直接传递一个json,之后你可以这样使用docker:

docker run -it  --rm  --network host --mount type=bind,source=/tmp/sender,target=/root/sender  --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --cap-add=NET_ADMIN --privileged=true secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/psi-anolis8:latest --json '{"psi_config":{"protocol_config":{"protocol":"PROTOCOL_KKRT","role":"ROLE_RECEIVER","broadcast_result":true},"input_config":{"type":"IO_TYPE_FILE_CSV","path":"/root/receiver/receiver_input.csv"},"output_config":{"type":"IO_TYPE_FILE_CSV","path":"/root/receiver/receiver_output.csv"},"keys":["id0","id1"],"debug_options":{"trace_path":"/root/receiver/receiver.trace"}},"self_link_party":"receiver","link_config":{"parties":[{"id":"receiver","host":"127.0.0.1:5300"},{"id":"sender","host":"127.0.0.1:5400"}]}}'

应该也是可以满足你的诉求的,我们会尽快发版

6fj commented 2 months ago

hi @JorelHan , 目前psi最新的dev版本:0.4.0.dev240514 已经支持了上述的使用方式。