-
Couldn't load subscription status.
- Fork 5.3k
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Description
PGSearchTool does not work providing a db_uri.
Steps to Reproduce
Instantiate the PGSearchTool class providing a db_uri.
Expected behavior
It should not trigger an error on db_uri as it is being passed to the init method
Screenshots/Code snippets
Operating System
Ubuntu 22.04
Python Version
3.12
crewAI Version
0.201.1
crewAI Tools Version
0.75.0
Virtual Environment
Venv
Evidence
Error trace:
File "/home/alexis/github/crewai-test-pcai/backend/v1/crew.py", line 127, in consultant
pg_sql = PGSearchTool(
db_uri=os.environ.get("PG_URI"),
...<5 lines>...
},
)
File "/home/alexis/github/crewai-test-pcai/backend/.venv/lib/python3.13/site-packages/crewai_tools/tools/pg_search_tool/pg_search_tool.py", line 36, in __init__
self.add(table_name, data_type=DataType.POSTGRES, metadata={"db_uri": self.db_uri})
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/alexis/github/crewai-test-pcai/backend/.venv/lib/python3.13/site-packages/crewai_tools/tools/pg_search_tool/pg_search_tool.py", line 45, in add
super().add(f"SELECT * FROM {table_name};", **kwargs)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/alexis/github/crewai-test-pcai/backend/.venv/lib/python3.13/site-packages/crewai_tools/tools/rag/rag_tool.py", line 192, in add
self.adapter.add(*args, **kwargs)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/alexis/github/crewai-test-pcai/backend/.venv/lib/python3.13/site-packages/crewai_tools/adapters/crewai_rag_adapter.py", line 188, in add
loader_result: LoaderResult = loader.load(source_content)
~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/home/alexis/github/crewai-test-pcai/backend/.venv/lib/python3.13/site-packages/crewai_tools/rag/loaders/postgres_loader.py", line 30, in load
raise ValueError("Database URI is required for PostgreSQL loader")
ValueError: Database URI is required for PostgreSQL loaderPossible Solution
The following script was modified to assess the issue crewai_tools/rag/loaders/postgres_loader.py. Concretely on line 188.
Adding metadata variable to parameters of the function LoaderResult.load() resolved the issue:
loader_result: LoaderResult = loader.load(source_content, metadata=metadata)Additional context
No more context
venke87
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working