Spaces:
Running
Running
Clement Vachet
commited on
Commit
·
58453b6
1
Parent(s):
c8e3c55
Add system prompt for llm chain
Browse files
app.py
CHANGED
@@ -9,6 +9,7 @@ from langchain_huggingface import HuggingFaceEmbeddings
|
|
9 |
from langchain.chains import ConversationChain
|
10 |
from langchain.memory import ConversationBufferMemory
|
11 |
from langchain_huggingface import HuggingFaceEndpoint
|
|
|
12 |
|
13 |
from pathlib import Path
|
14 |
import chromadb
|
@@ -29,6 +30,16 @@ _ = load_dotenv()
|
|
29 |
huggingfacehub_api_token = os.environ.get("HUGGINGFACE_API_KEY")
|
30 |
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
# default_persist_directory = './chroma_HF/'
|
33 |
list_llm = ["mistralai/Mistral-7B-Instruct-v0.3", "microsoft/Phi-3.5-mini-instruct", \
|
34 |
"meta-llama/Llama-3.2-3B-Instruct", "meta-llama/Llama-3.2-1B-Instruct", "meta-llama/Meta-Llama-3-8B-Instruct", \
|
@@ -106,12 +117,13 @@ def initialize_llmchain(llm_model, temperature, max_tokens, top_k, vector_db, pr
|
|
106 |
# retriever=vector_db.as_retriever(search_type="similarity", search_kwargs={'k': 3})
|
107 |
retriever=vector_db.as_retriever()
|
108 |
progress(0.8, desc="Defining retrieval chain...")
|
|
|
109 |
qa_chain = ConversationalRetrievalChain.from_llm(
|
110 |
llm,
|
111 |
retriever=retriever,
|
112 |
chain_type="stuff",
|
113 |
memory=memory,
|
114 |
-
|
115 |
return_source_documents=True,
|
116 |
#return_generated_question=False,
|
117 |
verbose=False,
|
|
|
9 |
from langchain.chains import ConversationChain
|
10 |
from langchain.memory import ConversationBufferMemory
|
11 |
from langchain_huggingface import HuggingFaceEndpoint
|
12 |
+
from langchain_core.prompts import PromptTemplate
|
13 |
|
14 |
from pathlib import Path
|
15 |
import chromadb
|
|
|
30 |
huggingfacehub_api_token = os.environ.get("HUGGINGFACE_API_KEY")
|
31 |
|
32 |
|
33 |
+
# Add system template for RAG application
|
34 |
+
prompt_template = """
|
35 |
+
You are an assistant for question-answering tasks. Use the following pieces of context to answer the question at the end.
|
36 |
+
If you don't know the answer, just say that you don't know, don't try to make up an answer. Keep the answer concise.
|
37 |
+
Question: {question}
|
38 |
+
Context: {context}
|
39 |
+
Helpful Answer:
|
40 |
+
"""
|
41 |
+
|
42 |
+
|
43 |
# default_persist_directory = './chroma_HF/'
|
44 |
list_llm = ["mistralai/Mistral-7B-Instruct-v0.3", "microsoft/Phi-3.5-mini-instruct", \
|
45 |
"meta-llama/Llama-3.2-3B-Instruct", "meta-llama/Llama-3.2-1B-Instruct", "meta-llama/Meta-Llama-3-8B-Instruct", \
|
|
|
117 |
# retriever=vector_db.as_retriever(search_type="similarity", search_kwargs={'k': 3})
|
118 |
retriever=vector_db.as_retriever()
|
119 |
progress(0.8, desc="Defining retrieval chain...")
|
120 |
+
rag_prompt = PromptTemplate(template=prompt_template, input_variables=["context", "question"])
|
121 |
qa_chain = ConversationalRetrievalChain.from_llm(
|
122 |
llm,
|
123 |
retriever=retriever,
|
124 |
chain_type="stuff",
|
125 |
memory=memory,
|
126 |
+
combine_docs_chain_kwargs={"prompt": rag_prompt},
|
127 |
return_source_documents=True,
|
128 |
#return_generated_question=False,
|
129 |
verbose=False,
|