similarity_search_querymatch.py 863 B

1234567891011121314151617181920212223242526272829303132
  1. from qwen_agent.schema import RefMaterial
  2. from qwen_agent.utils.util import get_key_word
  3. class SSQueryMatch:
  4. def __init__(self, llm=None, stream=False):
  5. self.llm = llm
  6. self.stream = stream
  7. def run(self, doc, query):
  8. """
  9. Input: lines
  10. Output: the relative text
  11. """
  12. wordlist = get_key_word(query)
  13. res = []
  14. for page in doc['raw']:
  15. # print(page)
  16. rel_text = self.filter_section(page, wordlist)
  17. if rel_text:
  18. res.append(rel_text)
  19. return RefMaterial(url=doc['url'], text=res).to_dict()
  20. def filter_section(self, page, wordlist):
  21. text = page['related_questions']
  22. res = ''
  23. for x in wordlist:
  24. if x in text:
  25. res = page['page_content']
  26. break
  27. return res