Future-House / paper-qa

High accuracy RAG for answering questions from scientific documents with citations
Apache License 2.0
6.23k stars 586 forks source link

Literal translation: "Prompt missing file"? #601

Open appleinmusic opened 4 days ago

appleinmusic commented 4 days ago

Problem:

I'm encountering a ModuleNotFoundError: No module named 'paperqa.version' error when attempting to run the PaperQA project. Upon investigation, I've determined that the paperqa/version.py file is missing from the project directory.

Steps Taken:

Installed the project locally using GitHub Desktop. Tried running the project within a virtual environment (named myenv). Used the find command (and subsequently gfind due to a zsh terminal issue) to search for the missing paperqa/version.py file but found none. Reviewed the project's README.md for any guidance on this specific issue or the missing file, but found no relevant information. Checked the paperqa/init.py file, which includes an import statement from paperqa.version import version, confirming that the version.py file should exist but is absent. Environment:

macOS 12 zsh terminal myenv virtual environment Python version: 3.12 (Please confirm) Request:

I would be grateful if you could provide assistance with this issue. The missing paperqa/version.py file seems to be preventing the project from running correctly.

Additional Notes:

The project was installed using GitHub Desktop. I've tried running the project within a virtual environment. Please provide the following information:

Is the missing paperqa/version.py file a known issue? Are there any specific steps I can take to resolve this error? Is there a workaround or alternative solution that I could try? I've attached the following for your reference:

[Attach any relevant logs or screenshots here] Thank you for your time and assistance.

dosubot[bot] commented 4 days ago

Hey @appleinmusic, I'm here to help you with your PaperQA project issue! I'm a bot that can assist in solving bugs, answering questions, and becoming a contributor. Let's tackle this together! 🤖

The ModuleNotFoundError: No module named 'paperqa.version' error you're encountering is likely due to the dynamic versioning system used by the PaperQA project. The paperqa/version.py file is supposed to be generated dynamically by setuptools_scm, which is specified in the pyproject.toml file of the project [1].

Here are some steps you can take to resolve this issue:

  1. Ensure setuptools_scm is Installed: Make sure that setuptools_scm is installed in your virtual environment. You can install it using pip:

    pip install setuptools_scm
  2. Check for Git Tags: setuptools_scm relies on Git tags to determine the version. Ensure that your local repository has the necessary Git tags. You can fetch all tags from the remote repository using:

    git fetch --tags
  3. Reinstall the Project: After ensuring setuptools_scm is installed and the tags are fetched, try reinstalling the project:

    pip install .
  4. Verify the Version File: After installation, check if the paperqa/version.py file is generated. If not, there might be an issue with the setup configuration or the absence of tags.

If these steps do not resolve the issue, you might want to manually create a version.py file as a temporary workaround, but this should be a last resort as it bypasses the intended dynamic versioning system.

To continue talking to Dosu, mention @dosu.

appleinmusic commented 4 days ago

The following is a summary of the current issue: Problem description When using the PaperQA project and attempting to use the non-OpenAI language model glm-4, the configuration and API key for glm-4 have been set in /Users/lgmoon/Documents/GitHub/paper-qa/ask_questions.py. However, when running /Users/lgmoon/Documents/GitHub/paper-qa/add_papers.py, the following error occurs: openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable This indicates that although the use of the glm-4 model has been clearly set, during the process of adding papers, there seems to be some code that accidentally attempts to call OpenAI's service and does not correctly set the API key. Steps taken In ask_questions.py, the Settings have been set to specify the use of the glm-4 model and the corresponding API key has been set. Ensure that the python3 command in the system points to the correct Python 3 version and attempt to run the script using python3. Checked if there are obvious direct calls to OpenAI in the code, but no such calls were found in add_papers.py. Expected help Hope the developer can point out the possible causes of this issue and provide a solution to ensure that there are no accidental calls to OpenAI's service when using a non-OpenAI model, so that the project can run normally. At the same time, confirm whether there are specific configuration steps or code modifications needed to ensure the correct use of the specified glm-4 model.

dosubot[bot] commented 4 days ago

The error you're encountering suggests that there might be a fallback or default setting in the add_papers.py script that attempts to use OpenAI's services if the configuration for the glm-4 model isn't fully recognized or applied. Here are some steps you can take to address this issue:

  1. Check Configuration Settings: Ensure that the configuration for the glm-4 model is correctly set in both ask_questions.py and add_papers.py. There might be a need to explicitly specify the model and API key in both scripts if they are not sharing configuration settings.

  2. Environment Variables: Double-check that there are no environment variables or default settings that might override your configuration. The OPENAI_API_KEY environment variable should not be set if you are not using OpenAI's services.

  3. Review Code for Default Calls: Look for any conditional logic or default settings in add_papers.py that might default to using OpenAI's services. This could be in the form of a fallback mechanism if the glm-4 configuration is not detected.

  4. Modify Code if Necessary: If you find any code that defaults to OpenAI, you may need to modify it to ensure it uses the glm-4 model instead. This might involve changing how the model is initialized or how API keys are handled.

  5. Consult Documentation: If available, consult any documentation or comments in the codebase that might provide guidance on configuring non-OpenAI models like glm-4.

Unfortunately, I couldn't find specific details in the repository about configuring non-OpenAI models, so these steps are based on general troubleshooting practices. If the issue persists, you might need to delve deeper into the code to identify any hardcoded dependencies on OpenAI's services.

To continue talking to Dosu, mention @dosu.

appleinmusic commented 4 days ago

I am facing an issue while trying to use the DeepSeek model in my project. Here are the details: I have set up the DeepSeek API key and made the necessary code changes in the '/Users/lgmoon/Documents/GitHub/paper-qa/ask_questions.py' file. However, when I run the script, I get a 'ModuleNotFoundError: No module named 'pydantic_settings'' error. I have tried the following steps to resolve this issue: Checked the output of 'pip freeze' to ensure 'pydantic_settings' is installed in the virtual environment. It shows that 'pydantic_settings' version 2.6.0 is installed along with other required dependencies. Purged the pip cache, uninstalled 'pydantic_settings', and then reinstalled it. But the problem persists. Confirmed that the virtual environment is correctly activated by checking the path of the Python interpreter with 'which python'. Checked the project structure and paths to rule out any accidental modifications or naming conflicts that could cause module import errors. The error occurs when trying to import 'ask' from the 'paperqa' module. Specifically, in the '/Users/lgmoon/Documents/GitHub/paper-qa/paperqa/agents/init.py' file, it attempts to import 'CliSettingsSource' from 'pydantic_settings'. I am unable to successfully use the DeepSeek model due to this issue. Any help would be greatly appreciated.

dosubot[bot] commented 4 days ago

The error you're encountering, ModuleNotFoundError: No module named 'pydantic_settings', despite having pydantic_settings version 2.6.0 installed, suggests there might be an issue with how the module is being imported or recognized in your environment.

Here are some steps to troubleshoot and resolve the issue:

  1. Verify Import Statement: Ensure that the import statement in paperqa/agents/__init__.py is correct. The import statement should be:

    from pydantic_settings import CliSettingsSource

    This import is straightforward and should work if pydantic_settings is installed correctly [1].

  2. Check Python Path: Double-check that your virtual environment is activated and that the Python interpreter is pointing to the correct environment. You can verify this by running:

    which python

    Ensure it points to the Python executable within your virtual environment.

  3. Reinstall the Package: Sometimes, reinstalling the package can resolve issues. Try uninstalling and reinstalling pydantic_settings:

    pip uninstall pydantic_settings
    pip install pydantic_settings
  4. Check for Conflicts: Ensure there are no other packages or files in your project that might conflict with pydantic_settings. Look for any files or directories named pydantic_settings that might shadow the installed package.

  5. Python Version Compatibility: Ensure that your Python version is compatible with pydantic_settings. The pyproject.toml file specifies a requirement for Python 3.11 or higher, so make sure your environment meets this requirement [2].

If these steps do not resolve the issue, consider checking for any updates or known issues with pydantic_settings version 2.6.0 that might affect its import or usage.

To continue talking to Dosu, mention @dosu.

appleinmusic commented 4 days ago

While working on the project located at '/Users/lgmoon/Documents/GitHub/paper - qa', an error "ModuleNotFoundError: No module named 'pydantic_settings'" was encountered despite the module being installed. The following is a detailed report on the steps taken to troubleshoot the issue and the current situation. Troubleshooting Steps and Findings: Import Statement Verification: The import statement from pydantic_settings import CliSettingsSource in paperqa/agents/init.py was checked and found to be correct. Python Path Check: The virtual environment is believed to be activated as the command prompt shows the virtual environment name (myenv). However, running which python shows that it is aliased to /usr/local/bin/python3, which may not be the Python interpreter within the virtual environment. Despite multiple attempts to re - activate the virtual environment, the path issue persists. The environment variables and command - line aliases were checked, but no obvious misconfigurations were found that could explain the incorrect Python interpreter path. Conflict Check: A thorough search was conducted within the project directory to check for any files or directories named pydantic_settings that might conflict with the installed package. No such conflicting files or directories were identified. Additionally, the project structure was verified to ensure there were no naming conflicts with other modules that could potentially interfere with the import of pydantic_settings. Python Version Compatibility Check: The pyproject.toml file was examined, and it was confirmed that the required Python version is 3.11 or higher. The current Python version was checked using python --version, and it meets the specified requirement. Additional Considerations: Cache Issues: The pycache directories within the project were considered as a possible source of the issue. As a result, an attempt was made to delete all pycache directories using the command find. - name 'pycache' - type d - exec rm - r {} +. However, this did not resolve the problem. The development environment's cache was also suspected. The development environment was closed and reopened, but the error still occurred. Project Structure and Naming Conflicts: The project structure was re - verified to ensure that all modules related to paperqa are in their correct locations and there are no duplicate module names or naming conflicts. No issues were found in this regard. A comprehensive check was made for any custom modules or files that might have a naming conflict with pydantic_settings or its dependencies, but no conflicts were identified. Dependency Version Compatibility: Although pydantic_settings is installed, there may be version compatibility issues with other dependencies. However, without a clear indication, it is difficult to determine which dependencies might be causing the problem. There are no obvious signs of other libraries related to configuration management or data validation that could conflict with pydantic_settings. Environment Variables and System Configuration: The system's environment variables were inspected, but no settings were found that could directly affect the import of the pydantic_settings module. The configuration of the development tool (e.g., IDE) was also checked, and no settings were identified that could be causing the module import error. Conclusion: Despite following the common troubleshooting steps, the issue remains unresolved. Further analysis is required to determine the root cause of the "ModuleNotFoundError: No module named 'pydantic_settings'" error. Additional debugging techniques or a more in - depth examination of the project's configuration and dependencies may be necessary to identify and fix the problem. It is recommended to explore more advanced debugging methods, such as using a debugger to step through the code during the import process or checking the system's library paths to ensure that the pydantic_settings module is accessible when the application is running. Additionally, looking into any recent changes to the project, including updates to other dependencies or modifications to the project structure, might provide valuable clues to solve this mystery.