private-gpt icon indicating copy to clipboard operation
private-gpt copied to clipboard

Getting syntax error when running

Open chuckwilliams10 opened this issue 1 year ago • 1 comments

See error here: File "privateGPT.py", line 26 match model_type: ^ SyntaxError: invalid syntax

Code is below:

import os

load_dotenv()

llama_embeddings_model = os.environ.get("LLAMA_EMBEDDINGS_MODEL") persist_directory = os.environ.get('PERSIST_DIRECTORY')

model_type = os.environ.get('MODEL_TYPE') model_path = os.environ.get('MODEL_PATH') model_n_ctx = os.environ.get('MODEL_N_CTX')

from constants import CHROMA_SETTINGS

def main(): llama = LlamaCppEmbeddings(model_path=llama_embeddings_model, n_ctx=model_n_ctx) db = Chroma(persist_directory=persist_directory, embedding_function=llama, client_settings=CHROMA_SETTINGS) retriever = db.as_retriever() # Prepare the LLM callbacks = [StreamingStdOutCallbackHandler()] match model_type: case "LlamaCpp": llm = LlamaCpp(model_path=model_path, n_ctx=model_n_ctx, callbacks=callbacks, verbose=False) case "GPT4All": llm = GPT4All(model=model_path, n_ctx=model_n_ctx, backend='gptj', callbacks=callbacks, verbose=False) case _default: print(f"Model {model_type} not supported!") exit; qa = RetrievalQA.from_chain_type(llm=llm, chain_type="stuff", retriever=retriever, return_source_documents=True) # Interactive questions and answers while True: query = input("\nEnter a query: ") if query == "exit": break

    # Get the answer from the chain
    res = qa(query)    
    answer, docs = res['result'], res['source_documents']

    # Print the result
    print("\n\n> Question:")
    print(query)
    print("\n> Answer:")
    print(answer)
    
    # Print the relevant sources used for the answer
    for document in docs:
        print("\n> " + document.metadata["source"] + ":")
        print(document.page_content)

if name == "main": main()

chuckwilliams10 avatar May 16 '23 17:05 chuckwilliams10

and in the .env file is this: PERSIST_DIRECTORY=db LLAMA_EMBEDDINGS_MODEL=models/ggml-model-q4_0.bin MODEL_TYPE=GPT4All MODEL_PATH=models/ggml-gpt4all-j-v1.3-groovy.bin MODEL_N_CTX=1000

chuckwilliams10 avatar May 16 '23 17:05 chuckwilliams10

As stated in the Readme file:

To use this software, you must have Python 3.10 or later installed

match was introduced in Python 3.10

imartinez avatar May 16 '23 18:05 imartinez