自己做的 ai 项目,本来是通过 go 写的后端代码,但是最近了解到微软的 autogen(基于 python)支持 agent 比较好,就想使用 autogen 来进行 agent 的开发,通过 go 的服务和 python 代码交互,于是就出现一个问题,go 的服务如何和 python 交互,我的需求不涉及到流式返回,也不涉及到太大的文件返回,现在有两种思路 1.通过 cmd 运行获取 std 输出 2.让 python 和 go 通过网络通信
1
zzhaolei 213 天前
可以通过 go python binding 调用 py 的代码,但是很多项目都不维护了。
也可以考虑进程间通信那些方式来交换数据 |
2
deplives 213 天前
面试题:进程间通信都有那些方式
|
3
txzh007 213 天前
走 socket 吧
|
4
Ally 213 天前
gRPC
|
5
aababc 213 天前
七牛的 许老师 最近在搞 llgo 好像就是这方面的内容,应该是直接在代码层面的。可以了解一下看看
|
6
NessajCN 213 天前
named pipe
unix domain socket tcp socket |
7
sophos 213 天前
跨语言交互如果不是需要极端性能或者 ffi binding 方案很成熟,优选网络通信
http+json 或 grpc 都挺好 :-) python 和 go 都有很成熟的框架了 |
8
yaott2020 213 天前 via Android
加一种:CGO ,但是楼主应该不需要
|
9
wen20 213 天前
选 cmd 运行呗,不用改 python, 对接其他 python 命令规范还能保持一样。
|
10
noooop 213 天前
谢邀,用 zeromq ,正好我现在做一个开源库,基于 zmq 的大语音模型微服务框架。https://github.com/noooop/zerollama
|
11
noooop 213 天前
|
12
flyqie 213 天前 via Android
进程间通信。
最好不要进 binding 这个大坑。 |
13
zjsxwc 213 天前
以前一个项目也是 go 与 python 相互调用,我用了 redis 里 topic 的 sub/pub
|
14
lambdaq 212 天前 1
路过。小 tip:头像为二次元大佬推荐的都比较靠谱~~~~
|
15
roundgis 212 天前 via Android
zeromq
or redis |
16
iyaozhen 212 天前
面试造火箭还是有点用的
一般来说就 http 最方便了 python 起个服务,后面要转流式( base http/3 )也方便 |
19
haiku 212 天前 via Android
grpc ,可以用 unix 。socket 减少网络延迟
|
20
Peven 212 天前 via iPhone
grpc protobuffer
|
21
void00000 212 天前
简单就用 tcp 通信就行了,然后数据用 \n 结尾,方便易用
|
22
ilylx2008 212 天前
不引入第三方基础设施比如 redis 的话,
可以使用 zmq ,类似的,也可以走 websocket 协议。 |
23
ilylx2008 212 天前
grpc 相对 zmq 都麻烦很多。
|