indoclimategpt / app.py
oriza's picture
Update app.py
1bec683 verified
raw
history blame contribute delete
997 Bytes
#Complete code for rag.py
from langchain.llms import LlamaCpp
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.vectorstores.chroma import Chroma
from langchain.prompts import ChatPromptTemplate
from langchain.schema.runnable import RunnablePassthrough
llm = LlamaCpp(
model_path="llama-2-7b-chat.Q5_K_M.gguf",
temperature=0.75,
max_tokens=2000,
top_p=1,
verbose=True,
)
embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
vectorstore = Chroma(
persist_directory="data",
embedding_function=embeddings
)
retriever = vectorstore.as_retriever(search_kwargs={"k": 1})
template = """Answer the question based only on the following context
{context}
Question:{question}
Answer:
"""
prompt = ChatPromptTemplate.from_template(template)
chain = (
{"context": retriever, "question": RunnablePassthrough()}
| prompt
| llm
)
for chunk in chain.stream("What is a chat model?"):
print(chunk, end="", flush=True)