Closed Niko-La closed 1 month ago
The latest Docker image is not built with Milvus integration. Is this behaviour happened with your custom build?
Nope just did got pull origin main
and ran the standard docker command π€·
Oh I see the problem is that you mount the current kotaemon dir to /app
in the Docker image. It works well for most case for updated code / functions but this time there is a new dependency (milvus). Please use install from source method or wait for us to update the Docker image soon.
We need update requirement with milvus vectorDB integration like: pip install llama-index-vector-stores-milvus For run milvus in docker, you can following this guideline: https://milvus.io/docs/install_standalone-docker.md
Oh I see the problem is that you mount the current kotaemon dir to
/app
in the Docker image. It works well for most case for updated code / functions but this time there is a new dependency (milvus). Please use install from source method or wait for us to update the Docker image soon.
ok perhaps the current docker method is also reason for local api issues for File & Graph embeddings. i will wait for the update to the docker image and PR #165
@Niko-La please try this new Docker image
docker run \
-e GRADIO_SERVER_NAME=0.0.0.0 \
-e GRADIO_SERVER_PORT=7860 \
-p 7860:7860 -it --rm \
ghcr.io/cinnamon/kotaemon:latest
No more issue with milvus for mounted volune
Issue: Debugging and UI/UX Improvements Debugging Information:
-Groq Connected: Groq is listed in Resources, but I am unable to chat with it. However, the console indicates that the chat did receive a reply. -Ollama Local: The local instance of Ollama is not passing the test in Resources for both LLM & Embeddings. -Local-bge-en: The test for local-bge-en is also failing. No module named 'fastembed
UI/UX Improvement Recommendations:
1.Version Display: It would be helpful to display the installed version's release number in the UI for better tracking and reference.
Test connection
βΌ
- Testing model: groq
- Sending a message `Hi`
- Connection success. Got response: How are you today? Is there something I can help you with or would you like to chat?
ollama llm resources tab test fail & embedding fail nomic-embed-test
- Testing model: ollama
- Sending a message `Hi`
- Connection failed. Got error: Connection error.
![image](https://github.com/user-attachments/assets/293f6b9d-ae9a-45b4-84c5-aebcf0e75389)
local-bge-en embeddings faikr
- Testing model: local-bge-en
- Sending a message `Hi`
- Connection failed. Got error: No module named 'fastembed'
app terminal output
nikola@nikola:~/Downloads/kotaemon$ docker run -e GRADIO_SERVER_NAME=0.0.0.0 -e GRADIO_SERVER_PORT=7860 -p 7860:7860 -v $(pwd):/app -it --rm --name rag_dog ghcr.io/cinnamon/kotaemon:latest
[nltk_data] Downloading package punkt_tab to
[nltk_data] /usr/local/lib/python3.10/site-
[nltk_data] packages/llama_index/core/_static/nltk_cache...
[nltk_data] Unzipping tokenizers/punkt_tab.zip.
themes/theme_schema@0.0.4.json: 100%|βββββββββββββββββββββββββββββββββββ| 13.7k/13.7k [00:00<00:00, 74.7MB/s]
User "admin" already exists
Setting up quick upload event
Running on local URL: http://0.0.0.0:7860
To create a public link, set `share=True` in `launch()`.
User-id: None, can see public conversations: False
User-id: 1, can see public conversations: True
len(results)=2, len(file_list)=2
len(results)=0, len(file_list)=1
No module named 'fastembed'
User-id: 1, can see public conversations: True
Session reasoning type None
Session LLM None
Reasoning class <class 'ktem.reasoning.simple.FullQAPipeline'>
Reasoning state {'app': {'regen': False}, 'pipeline': {}}
Thinking ...
Retrievers [DocumentRetrievalPipeline(DS=<kotaemon.storages.docstores.lancedb.LanceDBDocumentStore object at 0x7f6cf9eb4af0>, FSPath=PosixPath('/app/ktem_app_data/user_data/files/index_1'), Index=<class 'ktem.index.file.index.IndexTable'>, Source=<class 'ktem.index.file.index.Source'>, VS=<kotaemon.storages.vectorstores.chroma.ChromaVectorStore object at 0x7f6cf9eb4430>, get_extra_table=False, llm_scorer=LLMTrulensScoring(concurrent=True, normalize=10, prompt_template=<kotaemon.llms.prompts.template.PromptTemplate object at 0x7f6cf2bed810>, system_prompt_template=<kotaemon.llms.prompts.template.PromptTemplate object at 0x7f6cf2beca90>, top_k=3, user_prompt_template=<kotaemon.llms.prompts.template.PromptTemplate object at 0x7f6cf2bef100>), mmr=False, rerankers=[CohereReranking(cohere_api_key='', model_name='rerank-multilingual-v2.0')], retrieval_mode='hybrid', top_k=10, user_id=1), GraphRAGRetrieverPipeline(DS=<theflow.base.unset_ object at 0x7f6d2e45fee0>, FSPath=<theflow.base.unset_ object at 0x7f6d2e45fee0>, Index=<class 'ktem.index.file.index.IndexTable'>, Source=<theflow.base.unset_ object at 0x7f6d2e45fee0>, VS=<theflow.base.unset_ object at 0x7f6d2e45fee0>, file_ids=[], user_id=<theflow.base.unset_ object at 0x7f6d2e45fee0>)]
searching in doc_ids ['ad480cab-ae83-48dc-98a4-5f3cfa92884c']
retrieval_kwargs: dict_keys(['do_extend', 'scope', 'filters'])
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 575, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1520, in call_function
prediction = await utils.async_iteration(iterator)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 663, in async_iteration
return await iterator.__anext__()
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 656, in __anext__
return await anyio.to_thread.run_sync(
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 639, in run_sync_iterator_async
return next(iterator)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 801, in gen_wrapper
response = next(iterator)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 804, in chat_fn
for response in pipeline.stream(chat_input, conversation_id, chat_history):
File "/app/libs/ktem/ktem/reasoning/simple.py", line 660, in stream
docs, infos = self.retrieve(message, history)
File "/app/libs/ktem/ktem/reasoning/simple.py", line 488, in retrieve
retriever_docs = retriever_node(text=query)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1097, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1088, in __call__
output = self.fl.exec(func, args, kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/backends/base.py", line 151, in exec
return run(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 144, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 141, in __call__
_output = self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 117, in __call__
return self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1017, in _runx
return self.run(*args, **kwargs)
File "/app/libs/ktem/ktem/index/file/pipelines.py", line 162, in run
docs = self.vector_retrieval(text=text, top_k=self.top_k, **retrieval_kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1261, in exec
return child(*args, **kwargs, __fl_runstates__=__fl_runstates__)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1097, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1088, in __call__
output = self.fl.exec(func, args, kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/backends/base.py", line 151, in exec
return run(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 144, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 141, in __call__
_output = self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 117, in __call__
return self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1017, in _runx
return self.run(*args, **kwargs)
File "/app/libs/kotaemon/kotaemon/indices/vectorindex.py", line 188, in run
emb = self.embedding(text)[0].embedding
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1261, in exec
return child(*args, **kwargs, __fl_runstates__=__fl_runstates__)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1675, in __call__
return self._create_callable(getattr(self.ff_original_obj, "__call__"))(
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1663, in wrapper
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1661, in wrapper
output = callable_obj(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 144, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 141, in __call__
_output = self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 117, in __call__
return self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1261, in exec
return child(*args, **kwargs, __fl_runstates__=__fl_runstates__)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1097, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1088, in __call__
output = self.fl.exec(func, args, kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/backends/base.py", line 151, in exec
return run(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 144, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 141, in __call__
_output = self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 117, in __call__
return self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1017, in _runx
return self.run(*args, **kwargs)
File "/app/libs/kotaemon/kotaemon/embeddings/base.py", line 10, in run
return self.invoke(text, *args, **kwargs)
File "/app/libs/kotaemon/kotaemon/embeddings/openai.py", line 104, in invoke
resp = self.openai_response(client, input=input_, **kwargs).dict()
File "/usr/local/lib/python3.10/site-packages/tenacity/__init__.py", line 336, in wrapped_f
return copy(f, *args, **kw)
File "/usr/local/lib/python3.10/site-packages/tenacity/__init__.py", line 475, in __call__
do = self.iter(retry_state=retry_state)
File "/usr/local/lib/python3.10/site-packages/tenacity/__init__.py", line 376, in iter
result = action(retry_state)
File "/usr/local/lib/python3.10/site-packages/tenacity/__init__.py", line 419, in exc_check
raise retry_exc from fut.exception()
tenacity.RetryError: RetryError[<Future at 0x7f6cf2181840 state=finished raised APIConnectionError>]
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 538, in submit_msg
raise ValueError("Input is empty")
ValueError: Input is empty
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 538, in submit_msg
raise ValueError("Input is empty")
ValueError: Input is empty
Session reasoning type None
Session LLM groq
Reasoning class <class 'ktem.reasoning.simple.FullQAPipeline'>
Reasoning state {'app': {'regen': True}, 'pipeline': {}}
Thinking ...
Chosen rewrite pipeline RewriteQuestionPipeline(
(llm): ChatOpenAI(api_key=gsk_RF1EtJ02Vfh..., base_url=https://api.gro..., frequency_penalty=None, logit_bias=None, logprobs=None, max_retries=None, max_retries_=2, max_tokens=None, model=llama-3.1-8b-instant, n=1, organization=None, presence_penalty=None, stop=None, temperature=None, timeout=None, tool_choice=None, tools=None, top_logprobs=None, top_p=None)
)
Rewrite result Rephrased question: What information is contained in the document?
Expanded question:
1. What is the purpose of the document?
2. What type of information is it?
3. Is it a formal (e.g. legal, business) or informal document?
4. What format is the document in (e.g. text, image, video)?
5. Is there a version or date associated with the document?
This expansion helps to clarify the context of the question, "what is in the doc."
This is assuming the 'doc' refers to a document file format. If the 'doc' has other meanings, please clarify so I can give more accurate assistance.
Retrievers [DocumentRetrievalPipeline(DS=<kotaemon.storages.docstores.lancedb.LanceDBDocumentStore object at 0x7f6cf9eb4af0>, FSPath=PosixPath('/app/ktem_app_data/user_data/files/index_1'), Index=<class 'ktem.index.file.index.IndexTable'>, Source=<class 'ktem.index.file.index.Source'>, VS=<kotaemon.storages.vectorstores.chroma.ChromaVectorStore object at 0x7f6cf9eb4430>, get_extra_table=False, llm_scorer=LLMTrulensScoring(concurrent=True, normalize=10, prompt_template=<kotaemon.llms.prompts.template.PromptTemplate object at 0x7f6cf0d362c0>, system_prompt_template=<kotaemon.llms.prompts.template.PromptTemplate object at 0x7f6cf0d378b0>, top_k=3, user_prompt_template=<kotaemon.llms.prompts.template.PromptTemplate object at 0x7f6cf0d36230>), mmr=False, rerankers=[CohereReranking(cohere_api_key='', model_name='rerank-multilingual-v2.0')], retrieval_mode='hybrid', top_k=10, user_id=1), GraphRAGRetrieverPipeline(DS=<theflow.base.unset_ object at 0x7f6d2e45fee0>, FSPath=<theflow.base.unset_ object at 0x7f6d2e45fee0>, Index=<class 'ktem.index.file.index.IndexTable'>, Source=<theflow.base.unset_ object at 0x7f6d2e45fee0>, VS=<theflow.base.unset_ object at 0x7f6d2e45fee0>, file_ids=[], user_id=<theflow.base.unset_ object at 0x7f6d2e45fee0>)]
searching in doc_ids ['ad480cab-ae83-48dc-98a4-5f3cfa92884c']
retrieval_kwargs: dict_keys(['do_extend', 'scope', 'filters'])
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 575, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1520, in call_function
prediction = await utils.async_iteration(iterator)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 663, in async_iteration
return await iterator.__anext__()
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 656, in __anext__
return await anyio.to_thread.run_sync(
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 639, in run_sync_iterator_async
return next(iterator)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 801, in gen_wrapper
response = next(iterator)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 868, in regen_fn
yield from self.chat_fn(
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 804, in chat_fn
for response in pipeline.stream(chat_input, conversation_id, chat_history):
File "/app/libs/ktem/ktem/reasoning/simple.py", line 660, in stream
docs, infos = self.retrieve(message, history)
File "/app/libs/ktem/ktem/reasoning/simple.py", line 488, in retrieve
retriever_docs = retriever_node(text=query)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1097, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1088, in __call__
output = self.fl.exec(func, args, kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/backends/base.py", line 151, in exec
return run(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 144, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 141, in __call__
_output = self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 117, in __call__
return self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1017, in _runx
return self.run(*args, **kwargs)
File "/app/libs/ktem/ktem/index/file/pipelines.py", line 162, in run
docs = self.vector_retrieval(text=text, top_k=self.top_k, **retrieval_kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1261, in exec
return child(*args, **kwargs, __fl_runstates__=__fl_runstates__)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1097, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1088, in __call__
output = self.fl.exec(func, args, kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/backends/base.py", line 151, in exec
return run(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 144, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 141, in __call__
_output = self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 117, in __call__
return self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1017, in _runx
return self.run(*args, **kwargs)
File "/app/libs/kotaemon/kotaemon/indices/vectorindex.py", line 188, in run
emb = self.embedding(text)[0].embedding
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1261, in exec
return child(*args, **kwargs, __fl_runstates__=__fl_runstates__)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1675, in __call__
return self._create_callable(getattr(self.ff_original_obj, "__call__"))(
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1663, in wrapper
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1661, in wrapper
output = callable_obj(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 144, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 141, in __call__
_output = self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 117, in __call__
return self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1261, in exec
return child(*args, **kwargs, __fl_runstates__=__fl_runstates__)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1097, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1088, in __call__
output = self.fl.exec(func, args, kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/backends/base.py", line 151, in exec
return run(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 144, in __call__
raise e from None
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 141, in __call__
_output = self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/middleware.py", line 117, in __call__
return self.next_call(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/theflow/base.py", line 1017, in _runx
return self.run(*args, **kwargs)
File "/app/libs/kotaemon/kotaemon/embeddings/base.py", line 10, in run
return self.invoke(text, *args, **kwargs)
File "/app/libs/kotaemon/kotaemon/embeddings/openai.py", line 104, in invoke
resp = self.openai_response(client, input=input_, **kwargs).dict()
File "/usr/local/lib/python3.10/site-packages/tenacity/__init__.py", line 336, in wrapped_f
return copy(f, *args, **kw)
File "/usr/local/lib/python3.10/site-packages/tenacity/__init__.py", line 475, in __call__
do = self.iter(retry_state=retry_state)
File "/usr/local/lib/python3.10/site-packages/tenacity/__init__.py", line 376, in iter
result = action(retry_state)
File "/usr/local/lib/python3.10/site-packages/tenacity/__init__.py", line 419, in exc_check
raise retry_exc from fut.exception()
tenacity.RetryError: RetryError[<Future at 0x7f6cf0d4aa10 state=finished raised APIConnectionError>]
User-id: 1, can see public conversations: True
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 538, in submit_msg
raise ValueError("Input is empty")
ValueError: Input is empty
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/gradio/queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/route_utils.py", line 276, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1923, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/site-packages/gradio/blocks.py", line 1508, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "/usr/local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 818, in wrapper
response = f(*args, **kwargs)
File "/app/libs/ktem/ktem/pages/chat/__init__.py", line 704, in message_selected
return retrieval_history[index], plot_history[index]
IndexError: list index out of range
^CKeyboard interruption in main thread... clos
Thank for advice, @Niko-La . About the test connection features, I'm working to enhance it, here is the draft PR https://github.com/Cinnamon/kotaemon/pull/239/files, Please feel free to check and add your comments if any
Description
On Linux Ubuntu
to address the import error need to modify the import statement in the file where trying to use Milvus. The correct
import should be from the llama_index_vector_stores_milvus
package instead ofllama_index.vector_stores.milvus
Reproduction steps
Screenshots
Logs
No response
Browsers
No response
OS
No response
Additional information
No response