讨教一个关于 go 程序和 Python 程序交互的问题

223 天前
Gocobnus  Gocobnus

自己做的 ai 项目,本来是通过 go 写的后端代码,但是最近了解到微软的 autogen(基于 python)支持 agent 比较好,就想使用 autogen 来进行 agent 的开发,通过 go 的服务和 python 代码交互,于是就出现一个问题,go 的服务如何和 python 交互,我的需求不涉及到流式返回,也不涉及到太大的文件返回,现在有两种思路 1.通过 cmd 运行获取 std 输出 2.让 python 和 go 通过网络通信

2241 次点击
所在节点   程序员  程序员
25 条回复
zzhaolei
zzhaolei
223 天前
可以通过 go python binding 调用 py 的代码,但是很多项目都不维护了。

也可以考虑进程间通信那些方式来交换数据
deplives
deplives
223 天前
面试题:进程间通信都有那些方式
txzh007
txzh007
223 天前
走 socket 吧
Ally
Ally
223 天前
gRPC
aababc
aababc
223 天前
七牛的 许老师 最近在搞 llgo 好像就是这方面的内容,应该是直接在代码层面的。可以了解一下看看
NessajCN
NessajCN
223 天前
named pipe
unix domain socket
tcp socket
sophos
sophos
223 天前
跨语言交互如果不是需要极端性能或者 ffi binding 方案很成熟,优选网络通信

http+json 或 grpc 都挺好 :-) python 和 go 都有很成熟的框架了
yaott2020
yaott2020
223 天前
加一种:CGO ,但是楼主应该不需要
wen20
wen20
223 天前
选 cmd 运行呗,不用改 python, 对接其他 python 命令规范还能保持一样。
noooop
noooop
223 天前
谢邀,用 zeromq ,正好我现在做一个开源库,基于 zmq 的大语音模型微服务框架。https://github.com/noooop/zerollama
noooop
noooop
223 天前
typo

谢邀,用 zeromq ,正好我现在做一个开源库,基于 zmq 的大语言模型微服务框架。https://github.com/noooop/zerollama

@noooop
flyqie
flyqie
223 天前
进程间通信。

最好不要进 binding 这个大坑。
zjsxwc
zjsxwc
223 天前
以前一个项目也是 go 与 python 相互调用,我用了 redis 里 topic 的 sub/pub
lambdaq
lambdaq
223 天前
路过。小 tip:头像为二次元大佬推荐的都比较靠谱~~~~
roundgis
roundgis
223 天前
zeromq

or

redis
iyaozhen
iyaozhen
223 天前
面试造火箭还是有点用的

一般来说就 http 最方便了 python 起个服务,后面要转流式( base http/3 )也方便
xsen
xsen
223 天前
@iyaozhen #16 跟面试造火箭有一毛钱关系

MQ 类( nsq/nats/kafka/rbbitmq 等等,包括 gRPC )就是用来做类似东西的
iosyyy
223 天前
@xsen mq 也太重了 不可取
haiku
223 天前
grpc ,可以用 unix 。socket 减少网络延迟
Peven
223 天前
grpc protobuffer

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1043213

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX