|
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 |
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
question = "How can I reverse Diabetes?" |
|
|
|
|
|
retriever = vectordb.as_retriever( |
|
search_type="similarity", search_kwargs={"k": 2} |
|
) |
|
|
|
|
|
from langchain_core.prompts import ChatPromptTemplate |
|
|
|
from langchain.chains.combine_documents import create_stuff_documents_chain |
|
|
|
from langchain.chains import create_retrieval_chain |
|
|
|
|
|
|
|
|
|
from transformers import AutoModel |
|
lll_model = AutoModel.from_pretrained(""HuggingFaceH4/zephyr-7b-beta") |
|
|
|
#READER_MODEL = "HuggingFaceH4/zephyr-7b-beta" |
|
|
|
#qa = ConversationalRetrievalChain.from_llm(llm=READER_MODEL,retriever=retriever,memory=memory) |
|
#qa = RetrievalQA.from_chain_type(llm=READER_MODEL,retriever=retriever) |
|
|
|
#retrieval_qa_chat_prompt = hub.pull("langchain-ai/retrieval-qa-chat") |
|
from langchain_core.messages import SystemMessage |
|
from langchain_core.prompts import HumanMessagePromptTemplate |
|
|
|
qa_chat_prompt = ChatPromptTemplate.from_messages( |
|
[ |
|
SystemMessage( |
|
content=( |
|
"You are a Diabetes eductaor that provide advice to patients." |
|
) |
|
), |
|
HumanMessagePromptTemplate.from_template("{context}"), |
|
] |
|
) |
|
|
|
docs_chain = create_stuff_documents_chain( |
|
lll_model, qa_chat_prompt |
|
) |
|
retrieval_chain = create_retrieval_chain(retriever, docs_chain) |
|
response = retrieval_chain.invoke({"context": "how can I reverse diabetes?"}) |
|
print(response["answer"]) |
|
|
|
|
|
#result = qa(question) |
|
#import gradio as gr |
|
#gr.load("lll_model").launch() |
|
|
|
#result = ({"query": question}) |
|
#print("qa") |
|
|