model_service.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. package plugin_daemon
  2. import (
  3. "github.com/langgenius/dify-plugin-daemon/internal/core/session_manager"
  4. "github.com/langgenius/dify-plugin-daemon/internal/utils/stream"
  5. "github.com/langgenius/dify-plugin-daemon/pkg/entities/model_entities"
  6. "github.com/langgenius/dify-plugin-daemon/pkg/entities/requests"
  7. )
  8. func InvokeLLM(
  9. session *session_manager.Session,
  10. request *requests.RequestInvokeLLM,
  11. ) (
  12. *stream.Stream[model_entities.LLMResultChunk], error,
  13. ) {
  14. return GenericInvokePlugin[requests.RequestInvokeLLM, model_entities.LLMResultChunk](
  15. session,
  16. request,
  17. 512,
  18. )
  19. }
  20. func InvokeTextEmbedding(
  21. session *session_manager.Session,
  22. request *requests.RequestInvokeTextEmbedding,
  23. ) (
  24. *stream.Stream[model_entities.TextEmbeddingResult], error,
  25. ) {
  26. return GenericInvokePlugin[requests.RequestInvokeTextEmbedding, model_entities.TextEmbeddingResult](
  27. session,
  28. request,
  29. 1,
  30. )
  31. }
  32. func InvokeRerank(
  33. session *session_manager.Session,
  34. request *requests.RequestInvokeRerank,
  35. ) (
  36. *stream.Stream[model_entities.RerankResult], error,
  37. ) {
  38. return GenericInvokePlugin[requests.RequestInvokeRerank, model_entities.RerankResult](
  39. session,
  40. request,
  41. 1,
  42. )
  43. }
  44. func InvokeTTS(
  45. session *session_manager.Session,
  46. request *requests.RequestInvokeTTS,
  47. ) (
  48. *stream.Stream[model_entities.TTSResult], error,
  49. ) {
  50. return GenericInvokePlugin[requests.RequestInvokeTTS, model_entities.TTSResult](
  51. session,
  52. request,
  53. 512,
  54. )
  55. }
  56. func InvokeSpeech2Text(
  57. session *session_manager.Session,
  58. request *requests.RequestInvokeSpeech2Text,
  59. ) (
  60. *stream.Stream[model_entities.Speech2TextResult], error,
  61. ) {
  62. return GenericInvokePlugin[requests.RequestInvokeSpeech2Text, model_entities.Speech2TextResult](
  63. session,
  64. request,
  65. 1,
  66. )
  67. }
  68. func InvokeModeration(
  69. session *session_manager.Session,
  70. request *requests.RequestInvokeModeration,
  71. ) (
  72. *stream.Stream[model_entities.ModerationResult], error,
  73. ) {
  74. return GenericInvokePlugin[requests.RequestInvokeModeration, model_entities.ModerationResult](
  75. session,
  76. request,
  77. 1,
  78. )
  79. }
  80. func ValidateProviderCredentials(
  81. session *session_manager.Session,
  82. request *requests.RequestValidateProviderCredentials,
  83. ) (
  84. *stream.Stream[model_entities.ValidateCredentialsResult], error,
  85. ) {
  86. return GenericInvokePlugin[requests.RequestValidateProviderCredentials, model_entities.ValidateCredentialsResult](
  87. session,
  88. request,
  89. 1,
  90. )
  91. }
  92. func ValidateModelCredentials(
  93. session *session_manager.Session,
  94. request *requests.RequestValidateModelCredentials,
  95. ) (
  96. *stream.Stream[model_entities.ValidateCredentialsResult], error,
  97. ) {
  98. return GenericInvokePlugin[requests.RequestValidateModelCredentials, model_entities.ValidateCredentialsResult](
  99. session,
  100. request,
  101. 1,
  102. )
  103. }
  104. func GetTTSModelVoices(
  105. session *session_manager.Session,
  106. request *requests.RequestGetTTSModelVoices,
  107. ) (
  108. *stream.Stream[model_entities.GetTTSVoicesResponse], error,
  109. ) {
  110. return GenericInvokePlugin[requests.RequestGetTTSModelVoices, model_entities.GetTTSVoicesResponse](
  111. session,
  112. request,
  113. 1,
  114. )
  115. }
  116. func GetTextEmbeddingNumTokens(
  117. session *session_manager.Session,
  118. request *requests.RequestGetTextEmbeddingNumTokens,
  119. ) (
  120. *stream.Stream[model_entities.GetTextEmbeddingNumTokensResponse], error,
  121. ) {
  122. return GenericInvokePlugin[requests.RequestGetTextEmbeddingNumTokens, model_entities.GetTextEmbeddingNumTokensResponse](
  123. session,
  124. request,
  125. 1,
  126. )
  127. }
  128. func GetLLMNumTokens(
  129. session *session_manager.Session,
  130. request *requests.RequestGetLLMNumTokens,
  131. ) (
  132. *stream.Stream[model_entities.LLMGetNumTokensResponse], error,
  133. ) {
  134. return GenericInvokePlugin[requests.RequestGetLLMNumTokens, model_entities.LLMGetNumTokensResponse](
  135. session,
  136. request,
  137. 1,
  138. )
  139. }
  140. func GetAIModelSchema(
  141. session *session_manager.Session,
  142. request *requests.RequestGetAIModelSchema,
  143. ) (
  144. *stream.Stream[model_entities.GetModelSchemasResponse], error,
  145. ) {
  146. return GenericInvokePlugin[requests.RequestGetAIModelSchema, model_entities.GetModelSchemasResponse](
  147. session,
  148. request,
  149. 1,
  150. )
  151. }