File size: 3,008 Bytes
341b0e8 db2d027 f437f2a 30b8a93 f437f2a 6085a4e fe4f2dd f437f2a 1d55d4a 73e234f f437f2a eb40503 f437f2a 30b8a93 f437f2a 6bf42b4 51c6493 f437f2a f40cccc d76d2e1 f40cccc 57eb6aa d76d2e1 57eb6aa d76d2e1 57eb6aa 1e0339f e69e635 48a5b37 c0b0ef7 57eb6aa 5f04ae4 d76d2e1 11a5cb0 57eb6aa afa4eb1 57eb6aa afa4eb1 11a5cb0 1b3dd55 a58bb60 d76d2e1 c283f58 d76d2e1 a58bb60 6642581 d76d2e1 aff4a30 e1a9a3c d76d2e1 7c866d5 5f04ae4 d76d2e1 57eb6aa aff4a30 57eb6aa 1b3dd55 5f04ae4 d76d2e1 b374ad5 46451bb d34b70c d76d2e1 4445973 b374ad5 d34b70c 5f04ae4 69b416b 5f04ae4 |
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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
from datasets import load_dataset
dataset = load_dataset("Namitg02/Test")
print(dataset)
from langchain.docstore.document import Document as LangchainDocument
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(chunk_size=100, chunk_overlap=15,separators=["\n\n", "\n", " ", ""])
docs = splitter.create_documents(str(dataset))
from langchain_community.embeddings import HuggingFaceEmbeddings
embedding_model = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
from langchain_community.vectorstores import Chroma
persist_directory = 'docs/chroma/'
vectordb = Chroma.from_documents(
documents=docs,
embedding=embedding_model,
persist_directory=persist_directory
)
retriever = vectordb.as_retriever(
search_type="similarity", search_kwargs={"k": 2}
)
from langchain.prompts import PromptTemplate
from langchain.chains import ConversationalRetrievalChain
from langchain.memory import ConversationBufferMemory
memory = ConversationBufferMemory(
memory_key="chat_history",
return_messages=True
)
from transformers import pipeline
from langchain_community.llms.huggingface_pipeline import HuggingFacePipeline
from langchain_core.messages import SystemMessage
from langchain_core.prompts import HumanMessagePromptTemplate
from langchain_core.prompts import ChatPromptTemplate
from langchain.prompts import PromptTemplate
print("check1")
question = "How can I reverse Diabetes?"
#template = """Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer. Use three sentences maximum. Keep the answer as concise as possible. Always say "thanks for asking!" at the end of the answer.
#{context}
#Question: {question}
#Helpful Answer:"""
#QA_CHAIN_PROMPT = PromptTemplate(input_variables=["context", "question"],template=template)
from transformers import AutoTokenizer
from transformers import AutoModelForCausalLM
llm_model = "microsoft/Phi-3-mini-4k-instruct"
tokenizer = AutoTokenizer.from_pretrained(llm_model,trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(llm_model,trust_remote_code=True)
pipe = pipeline(model = llm_model, tokenizer = tokenizer, task = "text-generation", temperature=0.2)
# "microsoft/Phi-3-mini-4k-instruct"
question = "How can I reverse diabetes?"
docs1 = retriever.get_relevant_documents(question)
print(docs1[0].page_content)
printdocs1[0]['generated_text'][-1]
print("check2")
#question = "How can I reverse diabetes?"
result = qa({"question": question})
print("result")
#result['answer']
#"question-answering", "conversational"
print("check3")
chain = pipe(question = question,context = "Use the following information to answer the question- docs1[0].page_content.")
print("check3A")
print(chain)[0]['generated_text'][-1]
print("check3B")
import gradio as gr
ragdemo = gr.Interface.from_pipeline(chain)
print("check4")
ragdemo.launch()
print("check5") |