Giter Club home page Giter Club logo

Comments (1)

dosubot avatar dosubot commented on June 26, 2024 2

To emit similarity scores along with the retrieved results using the VectorIndexRetriever, you need to ensure that the _retrieve method returns a list of NodeWithScore objects, which include both the nodes and their corresponding similarity scores.

Here's how you can modify the _retrieve method:

def _retrieve(
    self,
    query_bundle: QueryBundle,
) -> List[NodeWithScore]:
    query_result = self._index.query(
        query_str=query_bundle.query_str,
        top_k=self._similarity_top_k,
        **self._kwargs,
    )
    
    # Assuming query_result is a VectorStoreQueryResult object
    nodes_with_scores = self._build_node_list_from_query_result(query_result)
    
    return nodes_with_scores

In this modification, it is assumed that the self._index.query method returns a VectorStoreQueryResult object, which contains the nodes and their similarity scores. The nodes_with_scores list is then created using the _build_node_list_from_query_result method, which processes the VectorStoreQueryResult to include the similarity scores.

The VectorStoreQueryResult object typically contains the following attributes:

  • nodes: A list of nodes.
  • ids: A list of node IDs.
  • similarities: A list of similarity scores corresponding to the nodes or node IDs.

The _build_node_list_from_query_result method processes these attributes to build a list of NodeWithScore objects, which include both the nodes and their similarity scores [1][2].

This approach ensures that the retrieved results include the similarity scores.

To continue talking to Dosu, mention @dosu.

from llama_index.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.