Repository: truera/trulens
Issue: [BUG]: When attribute is in String instead of response format , it gives error:
Root cause: External Dependency Breakage

**Bug Description**
What happened?
I was previously using 
trulens-eval = "^0.21.0"
llama-index = "^0.9.34"

Now to bump up :
trulens-eval = "^0.24.0" or higher , I needed to bump up my llama-index to >=0.10 

but now llama-index has a lot of breaking changes for >=0.10 , but they maintain a legacy code folder which we can use , if we don't want breaking changes and just bump the package.

But This is breaking a lot of things in Trulens-eval package.


For Instance : 
await context.app.query_engine.aquery(case.input)

I use this to query my test_case , and case.input is nothing but a str , which i want to query. 

Now , This Breaks this code : 
```
def main_input(
        self, func: Callable, sig: Signature, bindings: BoundArguments
    ) -> str:
        """
        Determine the main input string for the given function `func` with
        signature `sig` if it is to be called with the given bindings
        `bindings`.
        """

        if 'str_or_query_bundle' in bindings.arguments:
            # llama_index specific
            str_or_bundle = bindings.arguments['str_or_query_bundle']
            if isinstance(str_or_bundle, QueryBundle):
                return str_or_bundle.query_str
            else:
                return str_or_bundle
```
            
         File "/Users/kmurarka/Library/Caches/pypoetry/virtualenvs/llama-index-nl-to-jql-S3ssoGRz-py3.11/lib/python3.11/site-packages/trulens_eval/tru_llama.py", line 301, in main_input
    return str_or_bundle.query_str
           ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'query_str'

The  str_or_query_bundle 

**To Reproduce**
Which steps should someone take to run into the same error? A small, reproducible code example is useful here.

**Expected behavior**

The Code should have run without any Error's

**Relevant Logs/Tracebacks**
Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. If the issue is related to the TruLens dashboard, please also include a screenshot.

`  File "/Users/kmurarka/projects/nl-to-jql-llamaindex/llama_index_nl_to_jql/evaluation/evaluator.py", line 36, in run_test_cases
    await context.app.query_engine.aquery(case.input)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kmurarka/Library/Caches/pypoetry/virtualenvs/llama-index-nl-to-jql-S3ssoGRz-py3.11/lib/python3.11/site-packages/trulens_eval/instruments.py", line 729, in tru_wrapper
    records: Dict = handle_done(
                    ^^^^^^^^^^^^
  File "/Users/kmurarka/Library/Caches/pypoetry/virtualenvs/llama-index-nl-to-jql-S3ssoGRz-py3.11/lib/python3.11/site-packages/trulens_eval/instruments.py", line 706, in handle_done
    records[ctx] = ctx.app.on_add_record(
                   ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kmurarka/Library/Caches/pypoetry/virtualenvs/llama-index-nl-to-jql-S3ssoGRz-py3.11/lib/python3.11/site-packages/trulens_eval/app.py", line 977, in on_add_record
    record = ctx.finish_record(
             ^^^^^^^^^^^^^^^^^^
  File "/Users/kmurarka/Library/Caches/pypoetry/virtualenvs/llama-index-nl-to-jql-S3ssoGRz-py3.11/lib/python3.11/site-packages/trulens_eval/app.py", line 413, in finish_record
    record = calls_to_record(
             ^^^^^^^^^^^^^^^^
  File "/Users/kmurarka/Library/Caches/pypoetry/virtualenvs/llama-index-nl-to-jql-S3ssoGRz-py3.11/lib/python3.11/site-packages/trulens_eval/app.py", line 954, in build_record
    main_in = self.main_input(func, sig, bindings)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kmurarka/Library/Caches/pypoetry/virtualenvs/llama-index-nl-to-jql-S3ssoGRz-py3.11/lib/python3.11/site-packages/trulens_eval/tru_llama.py", line 301, in main_input
    return str_or_bundle.query_str
           ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'query_str'`

**Environment:**
 - OS: Mac OS
 - Python Version : 3.11
 - TruLens version : 0.24.1
 - Versions of other relevant installed libraries 

**Additional context**
Add any other context about the problem here.
There are few other Error's as well which comes up with bumping the packages.