CdC-SI / eak-copilot

The official repository of the EAK-Copilot project as part of the Innovation Fellowship 2024.
https://cdc-si.github.io/eak-copilot/
GNU General Public License v3.0
3 stars 0 forks source link

refactor logic in get_semantic_similarity_match() #208

Closed K-Schubert closed 4 weeks ago

K-Schubert commented 1 month ago

Description

Simplify sql query (l.132-144):

    if max_results == -1:
        matches = await conn.fetch(f"""
            SELECT question, answer, url,  1 - (embedding {similarity_metric_symbol} '{question_embedding}') AS {similarity_metric}
            FROM faq_embeddings
            ORDER BY {similarity_metric} desc
        """)
    else:
        matches = await conn.fetch(f"""
            SELECT question, answer, url,  1 - (embedding {similarity_metric_symbol} '{question_embedding}') AS {similarity_metric}
            FROM faq_embeddings
            ORDER BY {similarity_metric} desc
            LIMIT $1
        """, max_results)

Instead of setting "no limit" to "-1", simply refactor logic to accept any limit and specify acceptable values in documentation.