FastGPT icon indicating copy to clipboard operation
FastGPT copied to clipboard

是否可以在调用知识库应用API时,让回答返回的图片地址,拼接上BASE_URL

Open WestCraneLi opened this issue 1 year ago • 3 comments

例行检查

  • [x] 我已确认目前没有类似 issue
  • [x] 我已完整查看过项目 README,以及项目文档
  • [x] 我使用了自己的 key,并确认我的 key 是可正常使用的
  • [x] 我理解并愿意跟进此 issue,协助测试和提供反馈
  • [x] 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

你的版本

  • [ ] 公有云版本
  • [x] 私有部署版本, 具体版本号: lateset

问题描述

  • 当我在钉钉机器人里调用知识库应用API时,回答返回的图片地址,没有BASE_URL,只有路径地址,也就是知识库里的地址,我该如何让他拼接上BASE_URL呢
  • 模型:文心一言-Speed image

预期结果 可以像本地部署的FastGPT一样,展示出图片 image

相关截图

WestCraneLi avatar Apr 08 '24 03:04 WestCraneLi

经过测试,可以考虑对接口返回的数据做一个正则校验,匹配](/api/system/img/前缀,然后加入BASE_URL

func addBaseURLToMarkdownImages(str, BASE_URL string) string {
	regex := regexp.MustCompile(`!\[\]\((\/api\/system\/img\/[^\)]+)\)`)
	result := regex.ReplaceAllStringFunc(str, func(match string) string {
		imageURL := strings.TrimPrefix(match, "![](")
		imageURL = strings.TrimSuffix(imageURL, ")")
		return fmt.Sprintf("![](%s%s)", BASE_URL, imageURL)
	})
	return result
}

WestCraneLi avatar Apr 08 '24 10:04 WestCraneLi

但目前现存的问题就是,虽然知识库有图片地址,但是机器人回答的大部分情况都不会带上图片,除非直接问他,请展示xxx图片,他会直接展示图片。 模型:文心一言-Speed

WestCraneLi avatar Apr 08 '24 10:04 WestCraneLi

后面可以考虑下。

c121914yu avatar Apr 08 '24 14:04 c121914yu