invoke_model.go 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. package service
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/langgenius/dify-plugin-daemon/internal/core/plugin_daemon"
  5. "github.com/langgenius/dify-plugin-daemon/internal/types/entities/plugin_entities"
  6. "github.com/langgenius/dify-plugin-daemon/internal/types/entities/requests"
  7. "github.com/langgenius/dify-plugin-daemon/internal/types/entities/tool_entities"
  8. "github.com/langgenius/dify-plugin-daemon/internal/utils/stream"
  9. )
  10. func InvokeTool(r *plugin_entities.InvokePluginRequest[requests.RequestInvokeTool], ctx *gin.Context) {
  11. // create session
  12. session := createSession(r, ctx.GetString("cluster_id"))
  13. defer session.Close()
  14. baseSSEService(r, func() (*stream.StreamResponse[tool_entities.ToolResponseChunk], error) {
  15. return plugin_daemon.InvokeTool(session, &r.Data)
  16. }, ctx)
  17. }
  18. func ValidateToolCredentials(r *plugin_entities.InvokePluginRequest[requests.RequestValidateToolCredentials], ctx *gin.Context) {
  19. // create session
  20. session := createSession(r, ctx.GetString("cluster_id"))
  21. defer session.Close()
  22. baseSSEService(r, func() (*stream.StreamResponse[tool_entities.ValidateCredentialsResult], error) {
  23. return plugin_daemon.ValidateToolCredentials(session, &r.Data)
  24. }, ctx)
  25. }