dinhquangson commited on
Commit
1b9551a
·
verified ·
1 Parent(s): 86e21e1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -4
app.py CHANGED
@@ -163,13 +163,27 @@ def search(prompt: str):
163
  from haystack.components.rankers import TransformersSimilarityRanker
164
  from haystack.components.joiners import DocumentJoiner
165
  from haystack.components.generators import OpenAIGenerator
166
- from haystack.utils import Secret
 
167
 
168
  start_time = time.time()
169
 
170
  # Querying
171
 
172
-
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  generator = OpenAIGenerator(
174
  api_key=Secret.from_env_var("OCTOAI_TOKEN"),
175
  api_base_url="https://text.octoai.run/v1",
@@ -183,19 +197,22 @@ def search(prompt: str):
183
  )
184
  querying.add_component("retriever", QdrantHybridRetriever(document_store=document_store))
185
  querying.add_component("document_joiner", DocumentJoiner())
186
- querying.add_component("ranker", TransformersSimilarityRanker(model="BAAI/bge-m3"))
 
187
  querying.add_component("llm", generator)
188
 
189
  querying.connect("sparse_text_embedder.sparse_embedding", "retriever.query_sparse_embedding")
190
  querying.connect("dense_text_embedder.embedding", "retriever.query_embedding")
191
  querying.connect("retriever", "document_joiner")
192
  querying.connect("document_joiner", "ranker")
193
- querying.connect("ranker", "llm")
 
194
 
195
  results = querying.run(
196
  {"dense_text_embedder": {"text": prompt},
197
  "sparse_text_embedder": {"text": prompt},
198
  "ranker": {"query": prompt},
 
199
  "llm": {"query": prompt},
200
  }
201
  )
 
163
  from haystack.components.rankers import TransformersSimilarityRanker
164
  from haystack.components.joiners import DocumentJoiner
165
  from haystack.components.generators import OpenAIGenerator
166
+ from haystack.utils import Secret
167
+ from haystack.components.builders import PromptBuilder
168
 
169
  start_time = time.time()
170
 
171
  # Querying
172
 
173
+
174
+ template = """
175
+ Given the following information, answer the question.
176
+
177
+ Context:
178
+ {% for document in documents %}
179
+ {{ document.content }}
180
+ {% endfor %}
181
+
182
+ Question: {{question}}
183
+ Answer:
184
+ """
185
+
186
+ prompt_builder = PromptBuilder(template=template)
187
  generator = OpenAIGenerator(
188
  api_key=Secret.from_env_var("OCTOAI_TOKEN"),
189
  api_base_url="https://text.octoai.run/v1",
 
197
  )
198
  querying.add_component("retriever", QdrantHybridRetriever(document_store=document_store))
199
  querying.add_component("document_joiner", DocumentJoiner())
200
+ querying.add_component("ranker", TransformersSimilarityRanker(model="BAAI/bge-m3"))
201
+ querying.add_component("prompt_builder", prompt_builder)
202
  querying.add_component("llm", generator)
203
 
204
  querying.connect("sparse_text_embedder.sparse_embedding", "retriever.query_sparse_embedding")
205
  querying.connect("dense_text_embedder.embedding", "retriever.query_embedding")
206
  querying.connect("retriever", "document_joiner")
207
  querying.connect("document_joiner", "ranker")
208
+ querying.connect("ranker", "prompt_builder")
209
+ querying.connect("prompt_builder", "llm")
210
 
211
  results = querying.run(
212
  {"dense_text_embedder": {"text": prompt},
213
  "sparse_text_embedder": {"text": prompt},
214
  "ranker": {"query": prompt},
215
+ "prompt_builder": {"query": prompt},
216
  "llm": {"query": prompt},
217
  }
218
  )