llama 3
llama-index v 0.10
Python v. 3.11
ollama 0.1.32
I’m using llama-index to read from various sources and creating one VectorStoreIndex for each. I’d like to query information from all those sources, and it seems that SubQuestionQueryEngine should allow doing that. But it only gives me errors… need some examples on its use (what I found online, didn’t work).
<code> tool_git = QueryEngineTool(
metadata=ToolMetadata(name="git", description="Github",),
query_engine=query_engine_git,
)
tool_jira = QueryEngineTool(
metadata=ToolMetadata(name="jira", description="Jira",),
query_engine=query_engine_jira,
)
multi_query = SubQuestionQueryEngine.from_defaults(query_engine_tools=[tool_git, tool_jira]
multi_query.query("how many jira tickets opem?")
</code>
<code> tool_git = QueryEngineTool(
metadata=ToolMetadata(name="git", description="Github",),
query_engine=query_engine_git,
)
tool_jira = QueryEngineTool(
metadata=ToolMetadata(name="jira", description="Jira",),
query_engine=query_engine_jira,
)
multi_query = SubQuestionQueryEngine.from_defaults(query_engine_tools=[tool_git, tool_jira]
multi_query.query("how many jira tickets opem?")
</code>
tool_git = QueryEngineTool(
metadata=ToolMetadata(name="git", description="Github",),
query_engine=query_engine_git,
)
tool_jira = QueryEngineTool(
metadata=ToolMetadata(name="jira", description="Jira",),
query_engine=query_engine_jira,
)
multi_query = SubQuestionQueryEngine.from_defaults(query_engine_tools=[tool_git, tool_jira]
multi_query.query("how many jira tickets opem?")
<code>Traceback (most recent call last):
File "xxxxxxmyapp.py", line 521, in <module>
response = multi_query.query(question)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcoreinstrumentationdispatcher.py", line 274, in wrapper
Generated 4 sub questions.
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcorebasebase_query_engine.py", line 53, in query
query_result = self._query(str_or_query_bundle)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcorequery_enginesub_question_query_engine.py", line 158, in _query
qa_pairs_all = run_async_tasks(tasks)
^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcoreasync_utils.py", line 54, in run_async_tasks
outputs: List[Any] = asyncio.run(_gather())
^^^^^^^^^^^^^^^^^^^^^^
File "zzzzzLibasynciorunners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "zzzzzLibasynciorunners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "zzzzzLibasynciobase_events.py", line 654, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcoreasync_utils.py", line 52, in _gather
return await asyncio.gather(*tasks_to_execute)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcorequery_enginesub_question_query_engine.py", line 234, in _aquery_subq
query_engine = self._query_engines[sub_q.tool_name]
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'uber_10k'
</code>
<code>Traceback (most recent call last):
File "xxxxxxmyapp.py", line 521, in <module>
response = multi_query.query(question)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcoreinstrumentationdispatcher.py", line 274, in wrapper
Generated 4 sub questions.
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcorebasebase_query_engine.py", line 53, in query
query_result = self._query(str_or_query_bundle)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcorequery_enginesub_question_query_engine.py", line 158, in _query
qa_pairs_all = run_async_tasks(tasks)
^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcoreasync_utils.py", line 54, in run_async_tasks
outputs: List[Any] = asyncio.run(_gather())
^^^^^^^^^^^^^^^^^^^^^^
File "zzzzzLibasynciorunners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "zzzzzLibasynciorunners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "zzzzzLibasynciobase_events.py", line 654, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcoreasync_utils.py", line 52, in _gather
return await asyncio.gather(*tasks_to_execute)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcorequery_enginesub_question_query_engine.py", line 234, in _aquery_subq
query_engine = self._query_engines[sub_q.tool_name]
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'uber_10k'
</code>
Traceback (most recent call last):
File "xxxxxxmyapp.py", line 521, in <module>
response = multi_query.query(question)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcoreinstrumentationdispatcher.py", line 274, in wrapper
Generated 4 sub questions.
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcorebasebase_query_engine.py", line 53, in query
query_result = self._query(str_or_query_bundle)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcorequery_enginesub_question_query_engine.py", line 158, in _query
qa_pairs_all = run_async_tasks(tasks)
^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcoreasync_utils.py", line 54, in run_async_tasks
outputs: List[Any] = asyncio.run(_gather())
^^^^^^^^^^^^^^^^^^^^^^
File "zzzzzLibasynciorunners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "zzzzzLibasynciorunners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "zzzzzLibasynciobase_events.py", line 654, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcoreasync_utils.py", line 52, in _gather
return await asyncio.gather(*tasks_to_execute)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "yyyyy.venvLibsite-packagesllama_indexcorequery_enginesub_question_query_engine.py", line 234, in _aquery_subq
query_engine = self._query_engines[sub_q.tool_name]
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'uber_10k'