Description
Running this code:
print("query", query)
print("vector", vector)
print("alpha", alpha)
resp = artigo.query.hybrid(
query=query,
alpha=alpha,
vector=vector,
return_properties=return_properties,
query_properties=['article_number^10', 'law_title^5', 'law_number^5'],
return_metadata=wvc.query.MetadataQuery(score=True),
limit=75,
)
for i, obj in enumerate(resp.objects):
print(f"{i}: ", end='')
for prop in ['article_number', 'law_title', 'law_number']:
print(f'{prop}: {obj.properties[prop]}', end=', ')
print('\n')
Getting this output:
query CĂDIGO PENAL 152
vector None
alpha 0
0: article_number: 152, law_title: CĂDIGO DO DIREITO DE AUTOR E DOS DIREITOS CONEXOS, law_number: Decreto-Lei n.Âș 63/85 ,
1: article_number: 152, law_title: Orçamento do Estado para 2009, law_number: Lei n.Âș 64-A/2008 ,
2: article_number: 152, law_title: Regime jurĂdico das instituiçÔes de ensino superior, law_number: Lei n.Âș 62/2007 ,
3: article_number: 152, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
All the query args are printed above.
Letâs compare #1 with #3.
article_number both have 152. Itâs a tie!
Now #3 has CĂDIGO PENAL in the law_title. #1 doesnât have any other match.
If I remove the boosts and just do:
query_properties=['article_number', 'law_title', 'law_number'],
Then the correct article is not even in the top 10.
Top 10 here:
0: article_number: 61, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
1: article_number: 66, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
2: article_number: 32, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
3: article_number: 33, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
4: article_number: 8, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
5: article_number: 51, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
6: article_number: 55, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
7: article_number: 82, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
8: article_number: 11, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
9: article_number: 30, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
10: article_number: 89, law_title: CĂDIGO PENAL, law_number: Lei n.Âș 59/2007 ,
Server Setup Information
- Weaviate Server Version: Using weaviate cloud. Database version: 1.33.4
- Client Language and Version: Python 4.15.0