Skip to content

Commit d2296bf

Browse files
Merge pull request #8 from seanpedrick-case/dev
Changed embedding model to mixed bread xsmall, optimised related functions in general. Updated Gemini model references.
2 parents ae0ac42 + d3a9db3 commit d2296bf

19 files changed

+433
-629
lines changed

.dockerignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ dist/*
1111
test/*
1212
config/*
1313
output/*
14-
input/*
14+
input/*
15+
borough_plan/*

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ dist/*
1111
test/*
1212
config/*
1313
output/*
14-
input/*
14+
input/*
15+
borough_plan/*

app.py

Lines changed: 12 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
import os
22
from typing import Type
3-
from langchain_huggingface.embeddings import HuggingFaceEmbeddings
3+
#from langchain_huggingface.embeddings import HuggingFaceEmbeddings
44
from langchain_community.vectorstores import FAISS
55
import gradio as gr
66
import pandas as pd
77
from torch import float16, float32
88
from llama_cpp import Llama
99
from huggingface_hub import hf_hub_download
1010
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, AutoModelForCausalLM
11-
import zipfile
1211

13-
from chatfuncs.ingest import embed_faiss_save_to_zip
14-
15-
from chatfuncs.helper_functions import get_connection_params, reveal_feedback_buttons, wipe_logs
16-
from chatfuncs.aws_functions import upload_file_to_s3
17-
from chatfuncs.auth import authenticate_user
18-
from chatfuncs.config import FEEDBACK_LOGS_FOLDER, ACCESS_LOGS_FOLDER, USAGE_LOGS_FOLDER, HOST_NAME, COGNITO_AUTH, INPUT_FOLDER, OUTPUT_FOLDER, MAX_QUEUE_SIZE, DEFAULT_CONCURRENCY_LIMIT, MAX_FILE_SIZE, GRADIO_SERVER_PORT, ROOT_PATH, DEFAULT_EMBEDDINGS_LOCATION, EMBEDDINGS_MODEL_NAME, DEFAULT_DATA_SOURCE, HF_TOKEN, LARGE_MODEL_REPO_ID, LARGE_MODEL_GGUF_FILE, LARGE_MODEL_NAME, SMALL_MODEL_NAME, SMALL_MODEL_REPO_ID, DEFAULT_DATA_SOURCE_NAME, DEFAULT_EXAMPLES, DEFAULT_MODEL_CHOICES, RUN_GEMINI_MODELS, LOAD_LARGE_MODEL
19-
from chatfuncs.model_load import torch_device, gpu_config, cpu_config, context_length
20-
import chatfuncs.chatfuncs as chatf
21-
import chatfuncs.ingest as ing
12+
from tools.ingest import embed_faiss_save_to_zip, load_embeddings_model, get_faiss_store
13+
from tools.helper_functions import get_connection_params, reveal_feedback_buttons, wipe_logs
14+
from tools.aws_functions import upload_file_to_s3
15+
from tools.auth import authenticate_user
16+
from tools.config import FEEDBACK_LOGS_FOLDER, ACCESS_LOGS_FOLDER, USAGE_LOGS_FOLDER, HOST_NAME, COGNITO_AUTH, INPUT_FOLDER, OUTPUT_FOLDER, MAX_QUEUE_SIZE, DEFAULT_CONCURRENCY_LIMIT, MAX_FILE_SIZE, GRADIO_SERVER_PORT, ROOT_PATH, DEFAULT_EMBEDDINGS_LOCATION, EMBEDDINGS_MODEL_NAME, DEFAULT_DATA_SOURCE, HF_TOKEN, LARGE_MODEL_REPO_ID, LARGE_MODEL_GGUF_FILE, LARGE_MODEL_NAME, SMALL_MODEL_NAME, SMALL_MODEL_REPO_ID, DEFAULT_DATA_SOURCE_NAME, DEFAULT_EXAMPLES, DEFAULT_MODEL_CHOICES, RUN_GEMINI_MODELS, LOAD_LARGE_MODEL
17+
from tools.model_load import torch_device, gpu_config, cpu_config, context_length
18+
import tools.chatfuncs as chatf
19+
import tools.ingest as ing
2220

2321
PandasDataFrame = Type[pd.DataFrame]
2422

@@ -34,41 +32,14 @@
3432
if isinstance(DEFAULT_MODEL_CHOICES, str): default_model_choices = eval(DEFAULT_MODEL_CHOICES)
3533

3634
# Disable cuda devices if necessary
37-
#os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
38-
35+
#os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
3936

4037
###
4138
# Load preset embeddings, vectorstore, and model
4239
###
43-
44-
def load_embeddings_model(embeddings_model = EMBEDDINGS_MODEL_NAME):
45-
46-
embeddings_func = HuggingFaceEmbeddings(model_name=embeddings_model)
47-
48-
#global embeddings
49-
50-
#embeddings = embeddings_func
51-
52-
return embeddings_func
53-
54-
def get_faiss_store(faiss_vstore_folder:str, embeddings_model:object):
55-
56-
with zipfile.ZipFile(faiss_vstore_folder + '/' + faiss_vstore_folder + '.zip', 'r') as zip_ref:
57-
zip_ref.extractall(faiss_vstore_folder)
58-
59-
faiss_vstore = FAISS.load_local(folder_path=faiss_vstore_folder, embeddings=embeddings_model, allow_dangerous_deserialization=True)
60-
os.remove(faiss_vstore_folder + "/index.faiss")
61-
os.remove(faiss_vstore_folder + "/index.pkl")
62-
63-
#global vectorstore
64-
65-
#vectorstore = faiss_vstore
66-
67-
return faiss_vstore #vectorstore
68-
6940
# Load in default embeddings and embeddings model name
7041
embeddings_model = load_embeddings_model(EMBEDDINGS_MODEL_NAME)
71-
vectorstore = get_faiss_store(faiss_vstore_folder=DEFAULT_EMBEDDINGS_LOCATION,embeddings_model=embeddings_model)#globals()["embeddings"])
42+
vectorstore = get_faiss_store(zip_file_path=DEFAULT_EMBEDDINGS_LOCATION,embeddings_model=embeddings_model)#globals()["embeddings"])
7243

7344
chatf.embeddings = embeddings_model
7445
chatf.vectorstore = vectorstore
@@ -87,7 +58,6 @@ def docs_to_faiss_save(docs_out:PandasDataFrame, embeddings_model=embeddings_mod
8758

8859
return out_message, vectorstore_func
8960

90-
9161
def create_hf_model(model_name:str, hf_token=HF_TOKEN):
9262
if torch_device == "cuda":
9363
if "flan" in model_name:
@@ -167,12 +137,11 @@ def load_model(model_type:str, gpu_layers:int, gpu_config:dict=gpu_config, cpu_c
167137

168138
return model_type, load_confirmation, model_type#model, tokenizer, model_type
169139

170-
171140
###
172141
# RUN UI
173142
###
174143

175-
app = gr.Blocks(theme = gr.themes.Base(), fill_width=True)#css=".gradio-container {background-color: black}")
144+
app = gr.Blocks(theme = gr.themes.Default(primary_hue="blue"), fill_width=True)#css=".gradio-container {background-color: black}")
176145

177146
with app:
178147
model_type = SMALL_MODEL_NAME

0 commit comments

Comments
 (0)