Haste171 / llamaindex-retrieval-api

API to load and query documents using RAG
MIT License
15 stars 3 forks source link

Add an HTTPException for when the engine fails in query.p #39

Open Haste171 opened 5 months ago

Haste171 commented 5 months ago

Add an HTTPException for when the engine fails in query.p

Haste171 commented 5 months ago

1. ๐Ÿ“ Indexing

I'm indexing the files within your repository.

2. ๐Ÿ”Ž Searching

I'm searching for relevant snippets in your repository.

I found the following snippets in your repository.

View Snippets https://github.com/Haste171/llamaindex-retrieval-api/blob/9cd5c37e745e52e3b1eba66d885992d34be0be64/routers/loaders/pdf.py#L0-L24 https://github.com/Haste171/llamaindex-retrieval-api/blob/9cd5c37e745e52e3b1eba66d885992d34be0be64/LICENSE#L0-L15 https://github.com/Haste171/llamaindex-retrieval-api/blob/9cd5c37e745e52e3b1eba66d885992d34be0be64/LICENSE#L15-L30 https://github.com/Haste171/llamaindex-retrieval-api/blob/9cd5c37e745e52e3b1eba66d885992d34be0be64/routers/loaders/ipynb.py#L0-L25 https://github.com/Haste171/llamaindex-retrieval-api/blob/9cd5c37e745e52e3b1eba66d885992d34be0be64/.gitignore#L0-L15

3. ๐ŸŒ Initiate Planning๐Ÿ’ฌ Discussion

I'm creating a plan for the discussion and coding steps.

I have created the following workflow as a basis for how the discussion and coding will be derived.

๐Ÿ’ก Steps

Import HTTPException

*View Info* Action: modify File: `routers/retrievers/query.py` Start Line: `1` End Line: 1 **Instructions:** *At the top of the file, import HTTPException from fastapi.exceptions by adding the line 'from fastapi.exceptions import HTTPException'.* Dependencies: []

Add HTTPException

*View Info* Action: modify File: `routers/retrievers/query.py` Start Line: `10` End Line: 20 **Instructions:** *Identify the section of the code where the engine is called. Surround this section with a try-except block. In the except block, raise an HTTPException with a status code of 500 and a detail message indicating that the engine has failed. The code should look something like this: 'try: [engine call] except: raise HTTPException(status_code=500, detail='Engine has failed')'.* Dependencies: ['Step 1']

Write tests

*View Info* Action: create File: `tests/test_query.py` Start Line: `1` End Line: 50 **Instructions:** *Create a new file in the tests directory called test_query.py. In this file, write tests to ensure that the HTTPException is raised when the engine fails. This will involve creating a mock engine that always fails, and then calling the query function with this mock engine. Assert that the HTTPException is raised with the correct status code and detail message.* Dependencies: ['Step 2']
Haste171 commented 5 months ago

{"tag": "INITIAL_PLANNING", "workflow": {"tasks": [{"step": "Step 1", "name": "Import HTTPException", "action": "modify", "file": "routers/retrievers/query.py", "start_line": 1, "end_line": 1, "instructions": "At the top of the file, import HTTPException from fastapi.exceptions by adding the line 'from fastapi.exceptions import HTTPException'.", "async_score": 2, "assigned_agent": "AI or User", "dependencies": []}, {"step": "Step 2", "name": "Add HTTPException", "action": "modify", "file": "routers/retrievers/query.py", "start_line": 10, "end_line": 20, "instructions": "Identify the section of the code where the engine is called. Surround this section with a try-except block. In the except block, raise an HTTPException with a status code of 500 and a detail message indicating that the engine has failed. The code should look something like this: 'try: [engine call] except: raise HTTPException(status_code=500, detail='Engine has failed')'.", "async_score": 8, "assigned_agent": "AI or User", "dependencies": ["Step 1"]}, {"step": "Step 3", "name": "Write tests", "action": "create", "file": "tests/test_query.py", "start_line": 1, "end_line": 50, "instructions": "Create a new file in the tests directory called test_query.py. In this file, write tests to ensure that the HTTPException is raised when the engine fails. This will involve creating a mock engine that always fails, and then calling the query function with this mock engine. Assert that the HTTPException is raised with the correct status code and detail message.", "async_score": 10, "assigned_agent": "AI or User", "dependencies": ["Step 2"]}], "snippets": []}}

Step 1: Import HTTPException
    Action: modify
    File: routers/retrievers/query.py
    Start Line: 1
    End Line: 1
    Instructions: At the top of the file, import HTTPException from fastapi.exceptions by adding the line 'from fastapi.exceptions import HTTPException'.
    Async Score: 2
    Assigned Agent: AI or User
    Dependencies: []
Step 2: Add HTTPException
    Action: modify
    File: routers/retrievers/query.py
    Start Line: 10
    End Line: 20
    Instructions: Identify the section of the code where the engine is called. Surround this section with a try-except block. In the except block, raise an HTTPException with a status code of 500 and a detail message indicating that the engine has failed. The code should look something like this: 'try: [engine call] except: raise HTTPException(status_code=500, detail='Engine has failed')'.
    Async Score: 8
    Assigned Agent: AI or User
    Dependencies: ['Step 1']
Step 3: Write tests
    Action: create
    File: tests/test_query.py
    Start Line: 1
    End Line: 50
    Instructions: Create a new file in the tests directory called test_query.py. In this file, write tests to ensure that the HTTPException is raised when the engine fails. This will involve creating a mock engine that always fails, and then calling the query function with this mock engine. Assert that the HTTPException is raised with the correct status code and detail message.
    Async Score: 10
    Assigned Agent: AI or User
    Dependencies: ['Step 2']