cicboy commited on
Commit
1596fb6
·
1 Parent(s): d49e2bf

update hybrid_retriever_tool file

Browse files
Files changed (1) hide show
  1. tools/hybrid_retriever_tool.py +6 -6
tools/hybrid_retriever_tool.py CHANGED
@@ -23,9 +23,9 @@ class HybridRetrieverTool(RagTool):
23
  self._tavily = TavilyClient(api_key=os.getenv("TAVILY_API_KEY"))
24
  self._client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
25
 
26
- def _build_corpus(self, topic):
27
  """Fetch up-to-date search results."""
28
- results = self.tavily.search(query=topic, max_results=30)
29
  corpus = [r.get("content", "").strip() for r in results.get("results", []) if r.get("content")]
30
  return corpus
31
 
@@ -42,8 +42,8 @@ class HybridRetrieverTool(RagTool):
42
  bm25_scores = np.array(bm25.get_scores(query.split()))
43
 
44
  # semantic relevance
45
- emb_corpus = self.embedder.encode(corpus, convert_to_numpy=True, normalize_embeddings=True)
46
- emb_query = self.embedder.encode(query, convert_to_numpy=True, normalize_embeddings=True)
47
  sem_scores = np.dot(emb_corpus, emb_query)
48
 
49
  # Normalize scores
@@ -57,12 +57,12 @@ class HybridRetrieverTool(RagTool):
57
  top_passages = [corpus[i] for i in top_indices]
58
  return "\n\n".join(top_passages)
59
 
60
- def summarize_passages(self, topic, passages):
61
  if isinstance(passages, str):
62
  passages = [passages]
63
  text_block = "\n".join(passages)
64
  try:
65
- response = self.client.chat.completions.create(
66
  model="gpt-4o-mini",
67
  messages=[
68
  {"role": "system", "content": "You are an expert summarizer."},
 
23
  self._tavily = TavilyClient(api_key=os.getenv("TAVILY_API_KEY"))
24
  self._client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
25
 
26
+ def _build_corpus(self, topic: str):
27
  """Fetch up-to-date search results."""
28
+ results = self._tavily.search(query=topic, max_results=30)
29
  corpus = [r.get("content", "").strip() for r in results.get("results", []) if r.get("content")]
30
  return corpus
31
 
 
42
  bm25_scores = np.array(bm25.get_scores(query.split()))
43
 
44
  # semantic relevance
45
+ emb_corpus = self._embedder.encode(corpus, convert_to_numpy=True, normalize_embeddings=True)
46
+ emb_query = self._embedder.encode(query, convert_to_numpy=True, normalize_embeddings=True)
47
  sem_scores = np.dot(emb_corpus, emb_query)
48
 
49
  # Normalize scores
 
57
  top_passages = [corpus[i] for i in top_indices]
58
  return "\n\n".join(top_passages)
59
 
60
+ def summarize_passages(self, topic: str, passages):
61
  if isinstance(passages, str):
62
  passages = [passages]
63
  text_block = "\n".join(passages)
64
  try:
65
+ response = self._client.chat.completions.create(
66
  model="gpt-4o-mini",
67
  messages=[
68
  {"role": "system", "content": "You are an expert summarizer."},