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,
|