@@ -34,6 +34,7 @@ class RunMetadata(TypedDict, total=False):
3434 provider : str
3535 model : str
3636 model_params : Dict [str , Any ]
37+ base_url : str
3738 start_time : float
3839 end_time : float
3940
@@ -105,7 +106,7 @@ def on_chat_model_start(
105106 ):
106107 self ._set_parent_of_run (run_id , parent_run_id )
107108 input = [_convert_message_to_dict (message ) for row in messages for message in row ]
108- self ._set_run_metadata (run_id , input , ** kwargs )
109+ self ._set_run_metadata (serialized , run_id , input , ** kwargs )
109110
110111 def on_llm_start (
111112 self ,
@@ -117,7 +118,7 @@ def on_llm_start(
117118 ** kwargs : Any ,
118119 ):
119120 self ._set_parent_of_run (run_id , parent_run_id )
120- self ._set_run_metadata (run_id , prompts , ** kwargs )
121+ self ._set_run_metadata (serialized , run_id , prompts , ** kwargs )
121122
122123 def on_chain_end (
123124 self ,
@@ -171,6 +172,7 @@ def on_llm_end(
171172 "$ai_latency" : latency ,
172173 "$ai_trace_id" : trace_id ,
173174 "$ai_posthog_properties" : self ._properties ,
175+ "$ai_base_url" : run .get ("base_url" ),
174176 }
175177 if self ._distinct_id is None :
176178 event_properties ["$process_person_profile" ] = False
@@ -215,6 +217,7 @@ def on_llm_error(
215217 "$ai_latency" : latency ,
216218 "$ai_trace_id" : trace_id ,
217219 "$ai_posthog_properties" : self ._properties ,
220+ "$ai_base_url" : run .get ("base_url" ),
218221 }
219222 if self ._distinct_id is None :
220223 event_properties ["$process_person_profile" ] = False
@@ -251,6 +254,7 @@ def _find_root_run(self, run_id: UUID) -> UUID:
251254
252255 def _set_run_metadata (
253256 self ,
257+ serialized : Dict [str , Any ],
254258 run_id : UUID ,
255259 messages : Union [List [Dict [str , Any ]], List [str ]],
256260 metadata : Optional [Dict [str , Any ]] = None ,
@@ -268,6 +272,12 @@ def _set_run_metadata(
268272 run ["model" ] = model
269273 if provider := metadata .get ("ls_provider" ):
270274 run ["provider" ] = provider
275+ try :
276+ base_url = serialized ["kwargs" ]["openai_api_base" ]
277+ if base_url is not None :
278+ run ["base_url" ] = base_url
279+ except KeyError :
280+ pass
271281 self ._runs [run_id ] = run
272282
273283 def _pop_run_metadata (self , run_id : UUID ) -> Optional [RunMetadata ]:
0 commit comments