Langchain-Chatchat
Langchain-Chatchat copied to clipboard
LLM正常,但知识库问答无反应
TypeError: string indices must be integers, not 'str'
2024-03-19 10:54:06,806 - faiss_cache.py[line:92] - INFO: loading vector store in 'yt/vector_store/bge-large-zh-v1.5' from disk.
INFO: 127.0.0.1:55010 - "POST /knowledge_base/search_docs HTTP/1.1" 500 Internal Server Error
2024-03-19 10:54:06,808 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:7861/knowledge_base/search_docs "HTTP/1.1 500 Internal Server Error"
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "D:\Anaconda\envs\langchain\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 408, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Anaconda\envs\langchain\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 69, in call
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Anaconda\envs\langchain\Lib\site-packages\fastapi\applications.py", line 1054, in call
await super().call(scope, receive, send)
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette\applications.py", line 119, in call
await self.middleware_stack(scope, receive, send)
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette\middleware\errors.py", line 186, in call
raise exc
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette\middleware\errors.py", line 164, in call
await self.app(scope, receive, _send)
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette\middleware\exceptions.py", line 62, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette_exception_handler.py", line 64, in wrapped_app
raise exc
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette\routing.py", line 762, in call
await self.middleware_stack(scope, receive, send)
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette\routing.py", line 782, in app
await route.handle(scope, receive, send)
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette\routing.py", line 297, in handle
await self.app(scope, receive, send)
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette\routing.py", line 77, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette_exception_handler.py", line 64, in wrapped_app
raise exc
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette\routing.py", line 72, in app
response = await func(request)
^^^^^^^^^^^^^^^^^^^
File "D:\Anaconda\envs\langchain\Lib\site-packages\fastapi\routing.py", line 299, in app
raise e
File "D:\Anaconda\envs\langchain\Lib\site-packages\fastapi\routing.py", line 294, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Anaconda\envs\langchain\Lib\site-packages\fastapi\routing.py", line 193, in run_endpoint_function
return await run_in_threadpool(dependant.call, **values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Anaconda\envs\langchain\Lib\site-packages\starlette\concurrency.py", line 40, in run_in_threadpool
return await anyio.to_thread.run_sync(func, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Anaconda\envs\langchain\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Anaconda\envs\langchain\Lib\site-packages\anyio_backends_asyncio.py", line 2144, in run_sync_in_worker_thread
return await future
^^^^^^^^^^^^
File "D:\Anaconda\envs\langchain\Lib\site-packages\anyio_backends_asyncio.py", line 851, in run
result = context.run(func, *args)
^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\Langchain-Chatchat-master\server\knowledge_base\kb_doc_api.py", line 41, in search_docs
data = kb.list_docs(file_name=file_name, metadata=metadata)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\Langchain-Chatchat-master\server\knowledge_base\kb_service\base.py", line 214, in list_docs
doc_info = self.get_doc_by_ids([x["id"]])[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\Langchain-Chatchat-master\server\knowledge_base\kb_service\faiss_kb_service.py", line 36, in get_doc_by_ids
with self.load_vector_store().acquire() as vs:
^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\Langchain-Chatchat-master\server\knowledge_base\kb_service\faiss_kb_service.py", line 28, in load_vector_store
return kb_faiss_pool.load_vector_store(kb_name=self.kb_name,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\Langchain-Chatchat-master\server\knowledge_base\kb_cache\faiss_cache.py", line 97, in load_vector_store
vector_store = FAISS.load_local(vs_path, embeddings, normalize_L2=True,distance_strategy="METRIC_INNER_PRODUCT")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Anaconda\envs\langchain\Lib\site-packages\langchain_community\vectorstores\faiss.py", line 1078, in load_local
raise ValueError(
ValueError: The de-serialization relies loading a pickle file. Pickle files can be modified to deliver a malicious payload that results in execution of arbitrary code on your machine.You will need to set allow_dangerous_deserialization
to True
to enable deserialization. If you do this, make sure that you trust the source of the data. For example, if you are loading a file that you created, and no that no one else has modified the file, then this is safe to do. Do not set this to True
if you are loading a file from an untrusted source (e.g., some random site on the internet.).
2024-03-19 10:54:06.810 Uncaught app exception
Traceback (most recent call last):
File "D:\Anaconda\envs\langchain\Lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 535, in _run_script
exec(code, module.dict)
File "E:\Langchain-Chatchat-master\webui.py", line 64, in
2024-03-19 11:00:51,490 - utils.py[line:95] - ERROR: ReadTimeout: error when post /knowledge_base/update_docs: timed out 2024-03-19 11:00:51,508 - utils.py[line:295] - INFO: UnstructuredFileLoader used for E:\Langchain-Chatchat-master\knowledge_base\yt\content\info1.txt D:\Anaconda\envs\langchain\Lib\site-packages\langchain\document_loaders_init_.py:36: LangChainDeprecationWarning: Importing document loaders from langchain is deprecated. Importing from langchain will no longer be supported as of langchain==0.2.0. Please import from langchain-community instead:
from langchain_community.document_loaders import UnstructuredFileLoader
.
To install langchain-community run pip install -U langchain-community
.
warnings.warn(
文档切分示例:page_content='北京燕钛云创科技有限公司是一家位于北京中关村环保科技园的高科技企业。公司成立伊始,便得到了天津大学、成都电子科技大学、北京化工大学等知名学府专家的大力支持。\n公司的YTG系列气体分析产品,采用了业界特有的单板计算与 长光程结合的技术,在超低量程组分的测量领域具有独特的优势。高速的计算芯片可以保证分析系统的超低延时,而基于琅勃比尔定律的长光程技术可以极大地提升产品在测量超低浓度气体时的灵敏度。\n公司的YTF系列流量计产品采用时差法超声波原理,适用于各类管道 内的液体流量测量。和传统流量计相比,外夹式超声波流量计具有不破坏现有液体管路,安装方便,快捷高效的特点,且不受测量介质腐蚀和冲刷影响,使用寿命长。\n公司目前还在积极布局机器视觉和大语言模型等人工智能领域的产品,逐步打造“多维感知”产品群。' metadata={'source': 'E:\Langchain-Chatchat-master\knowledge_base\yt\content\info1.txt'}
2024-03-19 11:00:57,621 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:20001/list_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55291 - "POST /llm_model/list_running_models HTTP/1.1" 200 OK
2024-03-19 11:00:57,623 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:7861/llm_model/list_running_models "HTTP/1.1 200 OK"
2024-03-19 11:00:57,752 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:20001/list_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55291 - "POST /llm_model/list_running_models HTTP/1.1" 200 OK
2024-03-19 11:00:57,754 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:7861/llm_model/list_running_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55291 - "POST /llm_model/list_config_models HTTP/1.1" 200 OK
2024-03-19 11:00:57,768 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:7861/llm_model/list_config_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55291 - "GET /knowledge_base/list_knowledge_bases HTTP/1.1" 200 OK
2024-03-19 11:00:57,772 - _client.py[line:1027] - INFO: HTTP Request: GET http://127.0.0.1:7861/knowledge_base/list_knowledge_bases "HTTP/1.1 200 OK"
2024-03-19 11:01:11,699 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:20001/list_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55296 - "POST /llm_model/list_running_models HTTP/1.1" 200 OK
2024-03-19 11:01:11,700 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:7861/llm_model/list_running_models "HTTP/1.1 200 OK"
2024-03-19 11:01:11,837 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:20001/list_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55296 - "POST /llm_model/list_running_models HTTP/1.1" 200 OK
2024-03-19 11:01:11,839 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:7861/llm_model/list_running_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55296 - "POST /llm_model/list_config_models HTTP/1.1" 200 OK
2024-03-19 11:01:11,856 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:7861/llm_model/list_config_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55296 - "GET /knowledge_base/list_knowledge_bases HTTP/1.1" 200 OK
2024-03-19 11:01:11,860 - _client.py[line:1027] - INFO: HTTP Request: GET http://127.0.0.1:7861/knowledge_base/list_knowledge_bases "HTTP/1.1 200 OK"
2024-03-19 11:01:24,571 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:20001/list_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55300 - "POST /llm_model/list_running_models HTTP/1.1" 200 OK
2024-03-19 11:01:24,573 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:7861/llm_model/list_running_models "HTTP/1.1 200 OK"
2024-03-19 11:01:24,697 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:20001/list_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55300 - "POST /llm_model/list_running_models HTTP/1.1" 200 OK
2024-03-19 11:01:24,698 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:7861/llm_model/list_running_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55300 - "POST /llm_model/list_config_models HTTP/1.1" 200 OK
2024-03-19 11:01:24,713 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:7861/llm_model/list_config_models "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55300 - "GET /knowledge_base/list_knowledge_bases HTTP/1.1" 200 OK
2024-03-19 11:01:24,718 - _client.py[line:1027] - INFO: HTTP Request: GET http://127.0.0.1:7861/knowledge_base/list_knowledge_bases "HTTP/1.1 200 OK"
INFO: 127.0.0.1:55300 - "POST /chat/knowledge_base_chat HTTP/1.1" 200 OK
2024-03-19 11:01:24,881 - _client.py[line:1027] - INFO: HTTP Request: POST http://127.0.0.1:7861/chat/knowledge_base_chat "HTTP/1.1 200 OK"
Batches: 100%|███████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 9.98it/s]