Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -110,8 +110,10 @@ def main():
|
|
| 110 |
)
|
| 111 |
|
| 112 |
retriever = create_retriever_from_chroma(vectorstore_path="docs/chroma/", search_type=search_type, k=k, chunk_size=550, chunk_overlap=40)
|
| 113 |
-
|
| 114 |
-
|
|
|
|
|
|
|
| 115 |
|
| 116 |
|
| 117 |
# Graph
|
|
@@ -120,7 +122,7 @@ def main():
|
|
| 120 |
# Define the nodes
|
| 121 |
workflow.add_node("ask_question", lambda state: ask_question(state, retriever))
|
| 122 |
workflow.add_node("retrieve", lambda state: retrieve(state, retriever))
|
| 123 |
-
workflow.add_node("grade_documents", grade_documents) # grade documents
|
| 124 |
workflow.add_node("generate", generate) # generatae
|
| 125 |
workflow.add_node("web_search", web_search) # web search
|
| 126 |
workflow.add_node("transform_query", transform_query)
|
|
@@ -130,7 +132,7 @@ def main():
|
|
| 130 |
workflow.set_entry_point("ask_question")
|
| 131 |
workflow.add_conditional_edges(
|
| 132 |
"ask_question",
|
| 133 |
-
lambda state: grade_question_toxicity(state),
|
| 134 |
|
| 135 |
{
|
| 136 |
"good": "retrieve",
|
|
@@ -142,7 +144,7 @@ def main():
|
|
| 142 |
workflow.add_edge("retrieve", "grade_documents")
|
| 143 |
workflow.add_conditional_edges(
|
| 144 |
"grade_documents",
|
| 145 |
-
|
| 146 |
{
|
| 147 |
"search": "web_search",
|
| 148 |
"generate": "generate",
|
|
@@ -152,7 +154,7 @@ def main():
|
|
| 152 |
workflow.add_edge("web_search", "generate")
|
| 153 |
workflow.add_conditional_edges(
|
| 154 |
"generate",
|
| 155 |
-
lambda state: grade_generation_v_documents_and_question(state),
|
| 156 |
{
|
| 157 |
"not supported": "generate",
|
| 158 |
"useful": END,
|
|
|
|
| 110 |
)
|
| 111 |
|
| 112 |
retriever = create_retriever_from_chroma(vectorstore_path="docs/chroma/", search_type=search_type, k=k, chunk_size=550, chunk_overlap=40)
|
| 113 |
+
retrieval_grader = retrieval_grader()
|
| 114 |
+
toxicity_grader = toxicity_grader()
|
| 115 |
+
hallucination_grader = hallucination_grader()
|
| 116 |
+
answer_grader = answer_grader()
|
| 117 |
|
| 118 |
|
| 119 |
# Graph
|
|
|
|
| 122 |
# Define the nodes
|
| 123 |
workflow.add_node("ask_question", lambda state: ask_question(state, retriever))
|
| 124 |
workflow.add_node("retrieve", lambda state: retrieve(state, retriever))
|
| 125 |
+
workflow.add_node("grade_documents", lambda state: grade_documents(state, retrieval_grader )) # grade documents
|
| 126 |
workflow.add_node("generate", generate) # generatae
|
| 127 |
workflow.add_node("web_search", web_search) # web search
|
| 128 |
workflow.add_node("transform_query", transform_query)
|
|
|
|
| 132 |
workflow.set_entry_point("ask_question")
|
| 133 |
workflow.add_conditional_edges(
|
| 134 |
"ask_question",
|
| 135 |
+
lambda state: grade_question_toxicity(state, toxicity_grader),
|
| 136 |
|
| 137 |
{
|
| 138 |
"good": "retrieve",
|
|
|
|
| 144 |
workflow.add_edge("retrieve", "grade_documents")
|
| 145 |
workflow.add_conditional_edges(
|
| 146 |
"grade_documents",
|
| 147 |
+
decide_to_generate,
|
| 148 |
{
|
| 149 |
"search": "web_search",
|
| 150 |
"generate": "generate",
|
|
|
|
| 154 |
workflow.add_edge("web_search", "generate")
|
| 155 |
workflow.add_conditional_edges(
|
| 156 |
"generate",
|
| 157 |
+
lambda state: grade_generation_v_documents_and_question(state, hallucination_grader, answer_grader),
|
| 158 |
{
|
| 159 |
"not supported": "generate",
|
| 160 |
"useful": END,
|