PR-Pilot-AI / pr-pilot

An AI agent for your development workflow that can search and manipulate the code base, browse the internet and interact with Github issues and pull requests
https://www.pr-pilot.ai
GNU General Public License v3.0
148 stars 15 forks source link

🐛 IndexError in scrape_website function #198

Closed pr-pilot-ai[bot] closed 2 months ago

pr-pilot-ai[bot] commented 2 months ago

Description

An IndexError: list index out of range occurred in the scrape_website function. This error was observed in the server logs on 2024-06-27.

Stacktrace

[2024-06-27 04:36:38,727] ERROR Failed to run task
Traceback (most recent call last):
  File "/usr/src/app/engine/task_engine.py", line 182, in run
    executor_result = self.executor.invoke(
                      ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/langchain/chains/base.py", line 163, in invoke
    raise e
  File "/usr/local/lib/python3.11/site-packages/langchain/chains/base.py", line 153, in invoke
    self._call(inputs, run_manager=run_manager)
  File "/usr/local/lib/python3.11/site-packages/langchain/agents/agent.py", line 1432, in _call
    next_step_output = self._take_next_step(
                       ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/langchain/agents/agent.py", line 1138, in _take_next_step
    [
  File "/usr/local/lib/python3.11/site-packages/langchain/agents/agent.py", line 1138, in <listcomp>
    [
  File "/usr/local/lib/python3.11/site-packages/langchain/agents/agent.py", line 1223, in _iter_next_step
    yield self._perform_agent_action(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/langchain/agents/agent.py", line 1245, in _perform_agent_action
    observation = tool.run(
                  ^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/langchain_core/tools.py", line 452, in run
    raise e
  File "/usr/local/lib/python3.11/site-packages/langchain_core/tools.py", line 409, in run
    context.run(
  File "/usr/local/lib/python3.11/site-packages/langchain_core/tools.py", line 750, in _run
    else self.func(*args, **kwargs)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/app/engine/agents/web_search_agent.py", line 55, in scrape_website
    return docs_transformed[0].page_content[0:700]
           ~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range

Steps to Reproduce

  1. Trigger the scrape_website function with a website URL.
  2. Observe the error in the logs.

Expected Behavior

The function should handle cases where docs_transformed is an empty list and not raise an IndexError.

Suggested Fix

Add a check to ensure docs_transformed is not empty before attempting to access its elements.

Additional Information

Labels