Spaces:
Runtime error
Runtime error
Update ragchain.py
Browse files- ragchain.py +27 -27
ragchain.py
CHANGED
|
@@ -72,12 +72,11 @@ class RAGChain:
|
|
| 72 |
|
| 73 |
return doc_contexts, code_contexts
|
| 74 |
|
| 75 |
-
def
|
| 76 |
"""
|
| 77 |
Format the retrieved document and code contexts.
|
| 78 |
"""
|
| 79 |
-
|
| 80 |
-
code_context = _format_kadi_apy_library_context(code_contexts)
|
| 81 |
|
| 82 |
return doc_context, code_context
|
| 83 |
|
|
@@ -113,29 +112,30 @@ class RAGChain:
|
|
| 113 |
|
| 114 |
|
| 115 |
|
| 116 |
-
def
|
| 117 |
-
|
| 118 |
|
| 119 |
-
for doc in docs:
|
| 120 |
-
#
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 128 |
|
| 129 |
-
return
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
def _format_kadi_api_doc_context(docs):
|
| 133 |
-
doc_context = []
|
| 134 |
-
|
| 135 |
-
for doc in docs:
|
| 136 |
-
source_info = doc.metadata.get("source", "Unknown Type")
|
| 137 |
-
print(":}\n\n", doc.page_content)
|
| 138 |
-
formatted_doc = f"# source: {source_info}\n{doc.page_content}\n\n\n"
|
| 139 |
-
doc_context.append(formatted_doc)
|
| 140 |
-
|
| 141 |
-
return doc_context
|
|
|
|
| 72 |
|
| 73 |
return doc_contexts, code_contexts
|
| 74 |
|
| 75 |
+
def format_documents(self, documents):
|
| 76 |
"""
|
| 77 |
Format the retrieved document and code contexts.
|
| 78 |
"""
|
| 79 |
+
formatted_docs = _format_documents(documents)
|
|
|
|
| 80 |
|
| 81 |
return doc_context, code_context
|
| 82 |
|
|
|
|
| 112 |
|
| 113 |
|
| 114 |
|
| 115 |
+
def _format_documents(docs):
|
| 116 |
+
formatted_docs = []
|
| 117 |
|
| 118 |
+
for i, doc in enumerate(docs, start=1):
|
| 119 |
+
# Add "Snippet + count of doc" e.g., Snippet 1:
|
| 120 |
+
formatted_docs.append(f"Snippet {i}: \n")
|
| 121 |
+
|
| 122 |
+
# Add one line break
|
| 123 |
+
formatted_docs.append("\n")
|
| 124 |
+
|
| 125 |
+
# Process metadata and add to context
|
| 126 |
+
all_metadata = doc.metadata
|
| 127 |
+
metadata_str = ", ".join(f"{key}: {value}" for key, value in all_metadata.items())
|
| 128 |
+
formatted_docs.append(metadata_str)
|
| 129 |
+
|
| 130 |
+
# Add one line break
|
| 131 |
+
formatted_docs.append("\n")
|
| 132 |
+
|
| 133 |
+
# Append page content
|
| 134 |
+
formatted_docs.append(doc.page_content)
|
| 135 |
+
|
| 136 |
+
# Add two line breaks
|
| 137 |
+
formatted_docs.append("\n\n")
|
| 138 |
|
| 139 |
+
return formatted_docs
|
| 140 |
+
|
| 141 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|