Spaces:
Runtime error
Runtime error
File size: 2,657 Bytes
45b3faf e10f2ca 45b3faf dbdab0e 2d22846 b38c398 5796622 5beac7d 5796622 dbdab0e 45b3faf e10f2ca 45b3faf e10f2ca cd7d83d e10f2ca b38c398 e10f2ca 77364e4 d344e14 77364e4 b38c398 45b3faf e10f2ca eb418fc e10f2ca 45b3faf b38c398 45b3faf e10f2ca |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import logging
import sys
import streamlit as st
from llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext
from llama_index.llms import LlamaCPP
from llama_index.llms.llama_utils import messages_to_prompt, completion_to_prompt
from langchain.embeddings.huggingface import HuggingFaceEmbeddings
from langchain.embeddings.huggingface import HuggingFaceEmbeddings
from llama_index.embeddings import LangchainEmbedding
from langchain.embeddings import SentenceTransformerEmbeddings
from langchain.vectorstores import FAISS
from langchain.document_loaders import PyPDFLoader
# Set up logging
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
def configure_llama_model():
model_url = 'https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.1-GGUF/resolve/main/mistral-7b-instruct-v0.1.Q4_K_M.gguf'
llm = LlamaCPP(
model_url=model_url,
temperature=0.1,
max_new_tokens=256,
context_window=3900,
model_kwargs={"n_gpu_layers": -1},
messages_to_prompt=messages_to_prompt,
completion_to_prompt=completion_to_prompt,
verbose=True,
)
return llm
def configure_embeddings():
embed_model = HuggingFaceEmbeddings(model_name="ggrn/e5-small-v2")
return embed_model
def configure_service_context(llm, embed_model):
return ServiceContext.from_defaults(chunk_size=256, llm=llm, embed_model=embed_model)
def initialize_vector_store_index(data_path, service_context):
documents = SimpleDirectoryReader(data_path).load_data()
import pickle
loader = PyPDFLoader("./Cloudflare.pdf")
pages = loader.load_and_split()
# Load the index from a file
with open('./index_file.pkl', 'rb') as f:
index = pickle.load(f)
#index = VectorStoreIndex.from_documents(documents, service_context=service_context)
embeddings_2 = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2")
index2 = FAISS.from_documents(pages, embeddings_2)
return index2
def main():
st.title("Cloudflare RAG")
# Configure and initialize components
llm = configure_llama_model()
embed_model = configure_embeddings()
service_context = configure_service_context(llm, embed_model)
index = initialize_vector_store_index("./", service_context)
# User input
user_input = st.text_input("Enter your message:")
if user_input:
# Generate response
docs = index2.similarity_search(user_input)
# Display response
st.text_area("ChatGPT Response:", response, height=100)
if __name__ == "__main__":
main()
|