Improve OpenAIServerModel by making api_base and api_url optional (will then point to OpenAI server)
This commit is contained in:
		
							parent
							
								
									68933e7e90
								
							
						
					
					
						commit
						d8591dc703
					
				|  | @ -1099,7 +1099,7 @@ def import_modules(expression, state, authorized_imports): | ||||||
|         "popen", |         "popen", | ||||||
|         "spawn", |         "spawn", | ||||||
|         "shutil", |         "shutil", | ||||||
|         "glob", |         "sys", | ||||||
|         "pathlib", |         "pathlib", | ||||||
|         "io", |         "io", | ||||||
|         "socket", |         "socket", | ||||||
|  |  | ||||||
|  | @ -561,10 +561,13 @@ class OpenAIServerModel(Model): | ||||||
|     Parameters: |     Parameters: | ||||||
|         model_id (`str`): |         model_id (`str`): | ||||||
|             The model identifier to use on the server (e.g. "gpt-3.5-turbo"). |             The model identifier to use on the server (e.g. "gpt-3.5-turbo"). | ||||||
|         api_base (`str`): |         api_base (`str`, *optional*): | ||||||
|             The base URL of the OpenAI-compatible API server. |             The base URL of the OpenAI-compatible API server. | ||||||
|         api_key (`str`): |         api_key (`str`, *optional*): | ||||||
|             The API key to use for authentication. |             The API key to use for authentication. | ||||||
|  |         custom_role_conversions (`Dict{str, str]`, *optional*): | ||||||
|  |             Custom role conversion mapping to convert message roles in others. | ||||||
|  |             Useful for specific models that do not support specific message roles like "system".  | ||||||
|         **kwargs: |         **kwargs: | ||||||
|             Additional keyword arguments to pass to the OpenAI API. |             Additional keyword arguments to pass to the OpenAI API. | ||||||
|     """ |     """ | ||||||
|  | @ -572,8 +575,9 @@ class OpenAIServerModel(Model): | ||||||
|     def __init__( |     def __init__( | ||||||
|         self, |         self, | ||||||
|         model_id: str, |         model_id: str, | ||||||
|         api_base: str, |         api_base: Optional[str] = None, | ||||||
|         api_key: str, |         api_key: Optional[str] = None, | ||||||
|  |         custom_role_conversions: Optional[Dict[str, str]] = None, | ||||||
|         **kwargs, |         **kwargs, | ||||||
|     ): |     ): | ||||||
|         try: |         try: | ||||||
|  | @ -589,6 +593,7 @@ class OpenAIServerModel(Model): | ||||||
|             api_key=api_key, |             api_key=api_key, | ||||||
|         ) |         ) | ||||||
|         self.kwargs = kwargs |         self.kwargs = kwargs | ||||||
|  |         self.custom_role_conversions = custom_role_conversions | ||||||
| 
 | 
 | ||||||
|     def __call__( |     def __call__( | ||||||
|         self, |         self, | ||||||
|  | @ -598,7 +603,9 @@ class OpenAIServerModel(Model): | ||||||
|         tools_to_call_from: Optional[List[Tool]] = None, |         tools_to_call_from: Optional[List[Tool]] = None, | ||||||
|     ) -> ChatMessage: |     ) -> ChatMessage: | ||||||
|         messages = get_clean_message_list( |         messages = get_clean_message_list( | ||||||
|             messages, role_conversions=tool_role_conversions |             messages, role_conversions=( | ||||||
|  |                 self.custom_role_conversions if self.custom_role_conversions else tool_role_conversions | ||||||
|  |             ) | ||||||
|         ) |         ) | ||||||
|         if tools_to_call_from: |         if tools_to_call_from: | ||||||
|             response = self.client.chat.completions.create( |             response = self.client.chat.completions.create( | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue