vector-ai / vectorai Goto Github PK
View Code? Open in Web Editor NEWVector AI — A platform for building vector based applications. Encode, query and analyse data using vectors.
Home Page: https://relevance.ai/vectors
License: Apache License 2.0
Vector AI — A platform for building vector based applications. Encode, query and analyse data using vectors.
Home Page: https://relevance.ai/vectors
License: Apache License 2.0
Add support for functools partial when inserting
This should go into the analytics notebook given.
Hi Vector AI Team!
I'm trying to access the Discord invite link mentioned in the readme: https://discord.gg/CbwUxyD
But getting an "invalid invite link".
I'm writing a new blog post covering the many neural search frameworks, in spirit of my blog post on Vector DBs: https://towardsdatascience.com/milvus-pinecone-vespa-weaviate-vald-gsi-what-unites-these-buzz-words-and-what-makes-each-9c65a3bd0696
If that's okay, I'd like to ask a couple of questions on the inner workings of the framework and some of its features.
Thanks,
Dmitry
Hey what is your main website to find blog posts etc? Please include on readme!!
Create JSON Decode Error Handling. If a JSON Decode Error is encountered, then need to add message to alert the maintainer.
Include better explanation for advanced search query.
Mention that the following is an alias and does not link to the document. Instead this alias can be used for experimenting with equations.
advanced_search_query = {
'text': {'vector': enc.encode("public policy"), 'fields': ['chunk_1_vector_']},
}
Using the unsplash-images
collection: https://playground.getvectorai.com/collections/?collection=unsplash-images
result for:
vi_client.search_image('unsplash-images', image_url, ['image_url_vector_'])
with image_url
as:
https://www.rover.com/blog/wp-content/uploads/2020/06/siberian-husky-4735878_1920.jpg
https://davidkerrphotography.co.nz/wp-content/uploads/2016/10/Slide01.jpg
identical result for both:
{'count': 17506,
'results': [{'_clusters_': {},
'_id': 'tLUgvVaCQnY',
'_search_score': 0.6311334,
'dictionary_label_1': 'wineglasses',
'dictionary_label_2': 'delftware',
'image_url': 'https://images.unsplash.com/photo-1540735242080-bc0ad0cdcd1e?w=300&q=80',
'insert_date_': '2021-02-25T03:38:08.205446',
'likes': 150005},
{'_clusters_': {},
'_id': 'wVMuNOSt5KY',
'_search_score': 0.6278121000000001,
'dictionary_label_2': 'bootstrapping',
'image_url': 'https://images.unsplash.com/photo-1556912743-90a361c19b16?w=300&q=80',
'insert_date_': '2021-02-25T03:38:08.018132',
'likes': 173693},
{'_clusters_': {},
'_id': 'kkBXGVE9k-8',
'_search_score': 0.626989,
'dictionary_label_1': 'occupant',
'dictionary_label_2': 'catabolized',
'image_url': 'https://images.unsplash.com/photo-1526529516337-f40ddc5532e2?w=300&q=80',
'insert_date_': '2021-02-25T03:38:08.129598',
'likes': 627490},
{'_clusters_': {},
'_id': 'pLshzlb5yOA',
'_search_score': 0.6268415,
'dictionary_label_2': 'wood',
'image_url': 'https://images.unsplash.com/photo-1582459208380-f99d357adf33?w=300&q=80',
'insert_date_': '2021-02-25T03:38:08.096761',
'likes': 173756},
{'_clusters_': {},
'_id': 'sHmW616civc',
'_search_score': 0.6268100999999999,
'dictionary_label_2': 'trail',
'image_url': 'https://images.unsplash.com/photo-1556674524-65bf99573bef?w=300&q=80',
'insert_date_': '2021-02-25T03:38:08.000302',
'likes': 682592},
{'_clusters_': {},
'_id': 'VoTqMJLLSI8',
'_search_score': 0.6235797000000001,
'dictionary_label_1': 'trays',
'dictionary_label_2': 'dishware',
'image_url': 'https://images.unsplash.com/photo-1569272559969-2a9275513966?w=300&q=80',
'insert_date_': '2021-02-25T03:38:08.202763',
'likes': 172006},
{'_clusters_': {},
'_id': 'XcWKh-GF69M',
'_search_score': 0.6210401999999999,
'dictionary_label_2': 'obliging',
'image_url': 'https://images.unsplash.com/photo-1581280227715-56d3062138a9?w=300&q=80',
'insert_date_': '2021-02-25T03:38:20.517206',
'likes': 678324},
{'_clusters_': {},
'_id': 'b2_pVdk4lGI',
'_search_score': 0.6187004,
'dictionary_label_2': 'jukebox',
'image_url': 'https://images.unsplash.com/photo-1568967906094-1d0acfbf0676?w=300&q=80',
'insert_date_': '2021-02-25T03:38:20.509971',
'likes': 138088},
{'_clusters_': {},
'_id': '22HltbHJbPI',
'_search_score': 0.6182232000000001,
'dictionary_label_1': 'shoreline',
'dictionary_label_2': 'buckeens',
'image_url': 'https://images.unsplash.com/photo-1541514467948-60ec8a24e84f?w=300&q=80',
'insert_date_': '2021-02-25T09:44:25.156647',
'likes': 758805},
{'_clusters_': {},
'_id': 'uM3pEsEkPHA',
'_search_score': 0.6179558,
'dictionary_label_2': 'dewclaw',
'image_url': 'https://images.unsplash.com/photo-1572725364984-c2a074c6740c?w=300&q=80',
'insert_date_': '2021-02-25T03:38:08.111128',
'likes': 655907}]}
With Python's type-safety is difficult but it can be implemented through smart use of Python decorators.
An interesting example can be seen below:
import itertools as it
@parametrized
def types(f, *types):
def rep(*args):
for a, t, n in zip(args, types, it.count()):
if type(a) is not t:
raise TypeError('Value %d has not type %s. %s instead' %
(n, t, type(a))
)
return f(*args)
return rep
@types(str, int) # arg1 is str, arg2 is int
def string_multiply(text, times):
return text * times
print(string_multiply('hello', 3)) # Prints hellohellohello
print(string_multiply(3, 3)) # Fails miserably with TypeError
# From: https://stackoverflow.com/questions/5929107/decorators-with-parameters
Show_results is difficult to compare with images at scale. This can be improved by showing results as a grid instead.
New function for compare_table has been added into analytics. These should be included now in the analytics documentation with an example on how to use.
There is too much redundancy in the the testing code. We need to introduce a temporary collection contextmanager to ensure collections are deleted even if the tests failed.
Remove Shared y axis when comparing different vectors.
Find a robust way for automatic image/audio detection in show_json.
When chunking, we need to add support for get_field and set_field using the following schema:
get_field('doc.0.product_id') -> should return the first chunk whereas get_field('doc.1.product_id') should return the second chunk.
('doc.product_id') if exists within a chunk should return a list of values from the chunks.
The documentation on using advanced search is lacking when it comes to filtering.
Better documentation for filtering can be found here:
https://api.vctr.ai/documentation#operation/filters_collection_filters_post
This will need to be better documented to provide clarity with its use in the Python SDK.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.