-
Notifications
You must be signed in to change notification settings - Fork 5
make args its own object #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
patricktrainer
added a commit
that referenced
this issue
Oct 30, 2024
Fixes #2 Refactor code to use `EmbeddingKey` class for embedding operations. * **Introduce `EmbeddingKey` class:** - Add `EmbeddingKey` class to encapsulate `text` and `model` in `src/operations.py`. - Update functions in `src/operations.py` to use `EmbeddingKey` instead of tuples for keys. - Refactor `write_embedding_to_table`, `is_key_in_table`, `list_keys_in_table`, and `get_embedding_from_table` to use `EmbeddingKey`. * **Refactor embedding operations:** - Create `EmbeddingOperations` class in `src/embedding_operations.py` to encapsulate embedding-related operations. - Move functions `pickle_embeddings`, `duckdb_embeddings`, and `get_similarity` into `EmbeddingOperations` class. - Add methods for loading and saving embeddings, checking if an embedding exists, and calculating similarity. * **Update embedding functions:** - Refactor `pickle_embeddings` and `duckdb_embeddings` functions in `src/embedding.py` to use `EmbeddingKey`. * **Add error handling:** - Handle potential exceptions when creating embeddings and provide meaningful error messages in `src/openai_client.py`. - Add error handling for database operations to manage connection issues or query failures in `src/connection.py`. * **Add configuration file:** - Add `config.yaml` with database name, model name, paths to files, OpenAI API key, and number of top documents. * **Add tests:** - Create unit tests for `EmbeddingOperations` class in `tests/test_embedding_operations.py`. - Write tests for loading and saving embeddings, checking if an embedding exists, and calculating similarity. - Write tests to verify that the application correctly reads and applies settings from the `config.yaml` file in `tests/test_config.py`.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
here we call as individual args
duckdb-embedding-search/src/operations.py
Line 139 in fcf19ac
and elsewhere we call as one
duckdb-embedding-search/src/operations.py
Line 47 in fcf19ac
the "key" is used as the primary key for the
embeddings
table. It should probably be immutable.duckdb-embedding-search/src/operations.py
Line 155 in fcf19ac
The text was updated successfully, but these errors were encountered: