Browse Source
        
      
      update openai version
      
        Signed-off-by: ChengZi <chen.zhang@zilliz.com>
      
      
        main
      
      
     
    
      
        
          
            
            ChengZi
          
          2 years ago
          
         
        
        
       
      
     
    
    
	
		
			
				 1 changed files with 
23 additions and 
8 deletions
			 
			
		 
		
			
				- 
					
					
					 
					openai_chat.py
				
 
			
		
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				| 
					
					
						
							
						
					
					
				 | 
				@ -14,7 +14,7 @@ | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				import os | 
				 | 
				 | 
				import os | 
			
		
		
	
		
			
				 | 
				 | 
				from typing import List | 
				 | 
				 | 
				from typing import List | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				from packaging.version import Version | 
			
		
		
	
		
			
				 | 
				 | 
				import openai | 
				 | 
				 | 
				import openai | 
			
		
		
	
		
			
				 | 
				 | 
				from towhee.operator.base import PyOperator | 
				 | 
				 | 
				from towhee.operator.base import PyOperator | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
	
		
			
				| 
					
					
					
						
							
						
					
				 | 
				@ -33,6 +33,21 @@ class OpenaiChat(PyOperator): | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				    def __call__(self, messages: List[dict]): | 
				 | 
				 | 
				    def __call__(self, messages: List[dict]): | 
			
		
		
	
		
			
				 | 
				 | 
				        messages = self.parse_inputs(messages) | 
				 | 
				 | 
				        messages = self.parse_inputs(messages) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        if Version(openai.__version__) >= Version('1.0.0'): | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            from openai import OpenAI | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            client = OpenAI() | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            response = client.chat.completions.create( | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                model=self._model, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                messages=messages, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                n=1, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                stream=self.stream, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                **self.kwargs | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            ) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            if self.stream: | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                response = (res.dict() for res in response) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            else: | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                response = response.dict() | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        else: | 
			
		
		
	
		
			
				 | 
				 | 
				            response = openai.ChatCompletion.create( | 
				 | 
				 | 
				            response = openai.ChatCompletion.create( | 
			
		
		
	
		
			
				 | 
				 | 
				                model=self._model, | 
				 | 
				 | 
				                model=self._model, | 
			
		
		
	
		
			
				 | 
				 | 
				                messages=messages, | 
				 | 
				 | 
				                messages=messages, | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
					
				 | 
				
  |