Spaces:
Sleeping
Sleeping
Refactor code to include document formatting in ChatGroq
Browse files
app.py
CHANGED
@@ -130,7 +130,9 @@ prompt = PromptTemplate.from_template(
|
|
130 |
5. 질문에 대한 답변이 문서에 부분적으로만 포함되어 있는 경우, 가능한 한 많은 정보를 종합하여 답변해 주세요. 또한, 추가적인 연구나 참고자료가 필요할 수 있음을 언급해 주세요.
|
131 |
|
132 |
#참고문서:
|
|
|
133 |
{context}
|
|
|
134 |
|
135 |
#질문:
|
136 |
{question}
|
@@ -158,8 +160,18 @@ llm = ChatGroq(
|
|
158 |
),
|
159 |
)
|
160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
rag_chain = (
|
162 |
-
{"context": compression_retriever, "question": RunnablePassthrough()}
|
163 |
| prompt
|
164 |
| llm
|
165 |
| StrOutputParser()
|
|
|
130 |
5. 질문에 대한 답변이 문서에 부분적으로만 포함되어 있는 경우, 가능한 한 많은 정보를 종합하여 답변해 주세요. 또한, 추가적인 연구나 참고자료가 필요할 수 있음을 언급해 주세요.
|
131 |
|
132 |
#참고문서:
|
133 |
+
\"\"\"
|
134 |
{context}
|
135 |
+
\"\"\"
|
136 |
|
137 |
#질문:
|
138 |
{question}
|
|
|
160 |
),
|
161 |
)
|
162 |
|
163 |
+
def format_docs(docs):
|
164 |
+
formatted_docs = []
|
165 |
+
for doc in docs:
|
166 |
+
formatted_doc = f"Page Content:\n{doc.page_content}\n"
|
167 |
+
if doc.metadata.get("source"):
|
168 |
+
formatted_doc += f"Source: {doc.metadata['source']}\n"
|
169 |
+
formatted_docs.append(formatted_doc)
|
170 |
+
return "\n---\n".join(formatted_docs)
|
171 |
+
|
172 |
+
|
173 |
rag_chain = (
|
174 |
+
{"context": compression_retriever | format_docs, "question": RunnablePassthrough()}
|
175 |
| prompt
|
176 |
| llm
|
177 |
| StrOutputParser()
|