Page 1 of 1

So erhalten Sie das Ziel, das abfragen wird, um einen Selbstgrenze-Retriever (Langchain) zu erzeugen

Posted: 20 Feb 2025, 22:57
by Anonymous
Ich implementiere einen Selbstqueriedretriever, der Langchain mit OpenSearch als Ziel Vectore Store verwendet. Bisher ist alles gut, aber wir müssen die generierte Abfrage in DSL erfassen Wie es geht, fand ich, wie man Thye StructuredQuery zurückgibt und wie man die Strukturquery- und OpenSearchtranslator verwendet, um der endgültigen Abfrage einen Schritt näher zu kommen. Es ist jedoch nicht das Abschließende Abfrage an OpenSearch gesendet. Frage ist, wie man die Frage bekommt? Dies ist mein aktueller Code (der etwas in der Nähe zurückgibt, aber nicht der endgültigen Version): < /p>

Code: Select all

opensearch_translator = OpenSearchTranslator()
def show_translated_query(query):
chain_structured_query = retriever.llm_chain.invoke(query)
print("langchain structured query:")
print(chain_structured_query)
os_structured_query = opensearch_translator.visit_structured_query(chain_structured_query)
print("OS query(semantic, filter):")
print(os_structured_query)

show_translated_query("a fire ocurring before 2023")
>>langchain structured query:
>>query='fire' filter=Comparison(comparator=, attribute='year', value=2023) limit=None
>>OS query(semantic, filter):
>>('fire', {'filter': {'range': {'metadata.year': {'lt': 2023}}}})