mirror of
				https://github.com/discourse/discourse-ai.git
				synced 2025-10-31 14:38:37 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			821 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			821 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| class SentimentInferenceStubs
 | |
|   class << self
 | |
|     def endpoint
 | |
|       "#{SiteSetting.ai_sentiment_inference_service_api_endpoint}/api/v1/classify"
 | |
|     end
 | |
| 
 | |
|     def model_response(model)
 | |
|       { negative: 72, neutral: 23, positive: 4 } if model == "sentiment"
 | |
| 
 | |
|       { sadness: 99, surprise: 0, neutral: 0, fear: 0, anger: 0, joy: 0, disgust: 0 }
 | |
|     end
 | |
| 
 | |
|     def stub_classification(post)
 | |
|       content = post.post_number == 1 ? "#{post.topic.title}\n#{post.raw}" : post.raw
 | |
| 
 | |
|       DiscourseAi::Sentiment::SentimentClassification.new.available_models.each do |model|
 | |
|         WebMock
 | |
|           .stub_request(:post, endpoint)
 | |
|           .with(body: JSON.dump(model: model, content: content))
 | |
|           .to_return(status: 200, body: JSON.dump(model_response(model)))
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |