text: Title: LiteLLM <> Logfire critical error
  Body: ### Description
  
  When using logfire with liteLLM I have a weird error that crashed the logfire span.
  ```
  from litellm import completion
  
  logfire.configure()
  
  with logfire.span("litellm-test") as span:
      response = completion(
          model="gpt-4o-mini",
          messages=[{"role": "user", "content": "Recommend a fantasy book"}],
      )
      span.set_attribute("response_data", response)
      print(response.choices[0].message.content)
  ```
  
  and it gives :
  
  ```
  Internal error in Logfire
  Traceback (most recent call last):
    File "/home/user/Sources/callisto/backend/nkai/playground/test.py", line 21, in <module>
      span.set_attribute("response_data", response)
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/main.py", line 1691, in set_attribute
      self._json_schema_properties[key] = create_json_schema(value, set())
                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 135, in create_json_schema
      return schema(obj, seen) if callable(schema) else schema
             ^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 283, in _pydantic_model_schema
      return _custom_object_schema(obj, 'PydanticModel', [*fields, *extra], seen)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 356, in _custom_object_schema
      **_properties({key: getattr(obj, key) for key in keys}, seen),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 342, in _properties
      if (value_schema := create_json_schema(value, seen)) not in PLAIN_SCHEMAS:
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 117, in create_json_schema
      return _array_schema(obj, seen)
             ^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 246, in _array_schema
      item_schema = create_json_schema(item, seen)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 135, in create_json_schema
      return schema(obj, seen) if callable(schema) else schema
             ^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 283, in _pydantic_model_schema
      return _custom_object_schema(obj, 'PydanticModel', [*fields, *extra], seen)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 356, in _custom_object_schema
      **_properties({key: getattr(obj, key) for key in keys}, seen),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 342, in _properties
      if (value_schema := create_json_schema(value, seen)) not in PLAIN_SCHEMAS:
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 135, in create_json_schema
      return schema(obj, seen) if callable(schema) else schema
             ^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 283, in _pydantic_model_schema
      return _custom_object_schema(obj, 'PydanticModel', [*fields, *extra], seen)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/logfire/_internal/json_schema.py", line 356, in _custom_object_schema
      **_properties({key: getattr(obj, key) for key in keys}, seen),
                          ^^^^^^^^^^^^^^^^^
    File "/home/user/miniconda3/envs/Niskus/lib/python3.12/site-packages/pydantic/main.py", line 856, in __getattr__
      raise AttributeError(f'{type(self).__name__!r} object has no attribute {item!r}')
  AttributeError: 'Message' object has no attribute 'audio'
  ```
  
  I tested this using LiteLLM 1.51, 1.52, 1.50 and logfire 0.53, 1.x and 2.x
  
  ### Python, Logfire & OS Versions, related packages (not required)
  
  ```TOML
  logfire="1.3.2"
  platform="Linux-6.8.0-45-generic-x86_64-with-glibc2.39"
  python="3.12.2 | packaged by conda-forge | (main, Feb 16 2024, 20:50:58) [GCC 12.3.0]"
  [related_packages]
  requests="2.32.3"
  pydantic="2.9.2"
  fastapi="0.111.1"
  openai="1.54.1"
  protobuf="4.25.5"
  rich="13.9.4"
  executing="2.1.0"
  opentelemetry-api="1.27.0"
  opentelemetry-exporter-otlp-proto-common="1.27.0"
  opentelemetry-exporter-otlp-proto-http="1.27.0"
  opentelemetry-instrumentation="0.48b0"
  opentelemetry-instrumentation-asgi="0.48b0"
  opentelemetry-instrumentation-celery="0.48b0"
  opentelemetry-instrumentation-fastapi="0.48b0"
  opentelemetry-proto="1.27.0"
  opentelemetry-sdk="1.27.0"
  opentelemetry-semantic-conventions="0.48b0"
  opentelemetry-util-http="0.48b0"
  ```
  