|
import sys |
|
|
|
def check_gpt4all_accessibility(model_name="/Users/yagoairm2/Library/Application Support/nomic.ai/GPT4All/Meta-Llama-3-8B-Instruct.Q4_0.gguf"): |
|
""" |
|
Checks if the gpt4all library is installed and can load a model. |
|
""" |
|
print("--- GPT4All Accessibility Check ---") |
|
try: |
|
print("Step 1: Attempting to import GPT4All...") |
|
from gpt4all import GPT4All |
|
print("SUCCESS: GPT4All library imported successfully.\n") |
|
except ImportError: |
|
print("ERROR: GPT4All library not found.") |
|
print("Please install it by running: pip install gpt4all") |
|
print("-----------------------------------") |
|
return False |
|
except Exception as e: |
|
print(f"ERROR: An unexpected error occurred during import: {e}") |
|
print("-----------------------------------") |
|
return False |
|
|
|
try: |
|
print(f"Step 2: Attempting to initialize GPT4All model: '{model_name}'...") |
|
print("This might take a moment if the model needs to be downloaded.") |
|
|
|
|
|
model = GPT4All(model_name, allow_download=True) |
|
print(f"SUCCESS: GPT4All model '{model_name}' initialized successfully.") |
|
print("Model object:", model) |
|
|
|
|
|
print("\nStep 3: Performing a quick generation test...") |
|
try: |
|
|
|
|
|
|
|
if hasattr(model, 'generate'): |
|
|
|
with model.chat_session(): |
|
response = model.generate("Hello, world!", max_tokens=10, temp=0.7) |
|
print(f"Test generation successful. Response (first few tokens): {response[:50]}...") |
|
else: |
|
print("Model does not have a direct 'generate' method in this context. Skipping generation test.") |
|
print("SUCCESS: GPT4All seems to be working correctly.") |
|
print("-----------------------------------") |
|
return True |
|
except Exception as e: |
|
print(f"ERROR: Failed during test generation with model '{model_name}': {e}") |
|
print("This could be due to model compatibility or an issue with the generation process.") |
|
print("-----------------------------------") |
|
return False |
|
|
|
except Exception as e: |
|
print(f"ERROR: Failed to initialize GPT4All model '{model_name}': {e}") |
|
print("This could be due to various reasons:") |
|
print(" - The model name is incorrect or not available for download.") |
|
print(" - You don't have an internet connection to download the model.") |
|
print(" - Issues with model file integrity if previously downloaded.") |
|
print(" - Insufficient disk space or permissions.") |
|
print(" - Underlying C++ library issues (check gpt4all installation).") |
|
print("Please check the model name and your internet connection.") |
|
print("You can find available models at https://gpt4all.io/index.html") |
|
print("-----------------------------------") |
|
return False |
|
|
|
if __name__ == "__main__": |
|
if check_gpt4all_accessibility(): |
|
print("\nGPT4All is accessible and a model was loaded successfully.") |
|
else: |
|
print("\nGPT4All accessibility check failed. Please review the error messages above.") |