You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: citatio/README.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,19 +13,19 @@ Configuration and runtime
13
13
The citatio REST API takes 2 configuration options:
14
14
15
15
- The model to be used for embedding (currently, only `NetherlandsForensicInstitute/ARM64BERT-embedding` is supported);
16
-
- The database to store both assembly and embeddings in (currently, only SQLite is implemented).
16
+
- The database to store both assembly and embeddings in, either SQLite+sqlitevec or PostgreSQL+pgvector.
17
17
18
-
Both of these can be configured through environment variables:
18
+
These can be configured through environment variables:
19
19
20
20
-`CITATIO_MODEL`: a local path or huggingface model name (though again, currently on the `ARM64BERT-embedding` model is supported);
21
-
-`CITATIO_SQLITE_DATABASE`: either `:memory:` or a local path to a SQLite database (will be created if it doesn't currently exist).
21
+
- when using SQLite: `CITATIO_DATABASE_SQLITE`: either `:memory:` or a local path to a SQLite database (will be created if it doesn't currently exist).
22
+
- when using PostgreSQL: either `CITATIO_DATABASE_HOST`, `..._PORT`, `..._USER`, `..._PASSWORD`, `..._DATABASE` to connect to the database in question,
23
+
or `CITATIO_DATABASE_DSN` with the full connection url to connect to that same database.
22
24
23
-
The defaults for these values are `NetherlandsForensicInstitute/ARM64BERT-embedding` and `:memory:`,
24
-
resulting in a functioning but non-persistent service.
25
+
The database configuration is required, the default model to be loaded is `NetherlandsForensicInstitute/ARM64BERT-embedding`.
25
26
26
27
> [!NOTE]
27
-
> After observing concurrency issues with SQLite and `sqlite-vec`, the REST API is currently served fully serialized and is consequently fairly slow.
28
-
> We're expecting to be able to solve this by using PostgreSQL and `pgvector`.
28
+
> After observing concurrency issues with SQLite and `sqlite-vec`, the REST API is currently served fully serialized when using SQLite and is consequently fairly slow.
29
29
30
30
Running the REST API service follows the default FastAPI command line setup,
31
31
where the application is available from the `citatio` module:
@@ -44,7 +44,7 @@ though end users are encouraged to use the [ready-made Ghidra plugin (sententia)
44
44
Prerequisites
45
45
-------------
46
46
47
-
Python 3.12 or newer with SQLite version 3.35.0 or newer.
47
+
Python 3.13 or newer with SQLite version 3.35.0 or newer.
0 commit comments