Added documentation regarding probMethods

This commit is contained in:
2025-06-22 03:18:10 +02:00
parent 3813c5aaba
commit bd82b63141

View File

@@ -38,16 +38,17 @@ If you just installed the server and want to configure it:
[ // This is a list; you can have as many "workers" as you want [ // This is a list; you can have as many "workers" as you want
{ {
"Name": "example", "Name": "example",
"Searchdomains": [
"example"
],
"Script": "Scripts/example.py", "Script": "Scripts/example.py",
"Calls": [ // This is also a list. You can have as many different calls as you need. "Calls": [ // This is also a list. A worker may have multiple different calls.
{ {
"Type": "interval", // See: Call types "Type": "interval", // See: Call types
"Interval": 60000 "Interval": 60000
} }
] ]
},
{
"Name": "secondWorker",
/* ... */
} }
] ]
} }
@@ -64,6 +65,24 @@ If you just installed the server and want to configure it:
- What does it do: The script gets called whenever a file is updated in the specified subdirectory - What does it do: The script gets called whenever a file is updated in the specified subdirectory
- Parameters: (WIP) - Parameters: (WIP)
# Scripting # Scripting
## General
## probMethods
Probmethods are used to join the multiple similarity results from multiple models, and multiple datapoints into one single value.
The probMethod is given a list where each element consists of a string and a floating point value (0-1).
### `probmethod_embedding` (also referred to as `probmethod_datapoint`)
Takes list where each element contains:
- model name (e.g. "bge-m3")
- Result of the similarity calculation between query embeddings and the embeddings for this datapoint (per model)
Returns a single floating point value that represents the resulting similarity for this datapoint.
### `probmethod` (also referred to as `probmethod_entity`)
Takes list where each element contains:
- datapoint name (e.g. "title", "text", "filename")
- Result from `probmethod_embedding`
Returns a single floating point value that represents the resulting similarity for this Entity.
## Python ## Python
To ease scripting, tools.py contains all definitions of the .NET objects passed to the script. This includes attributes and methods. To ease scripting, tools.py contains all definitions of the .NET objects passed to the script. This includes attributes and methods.
@@ -79,7 +98,7 @@ def init(toolset: Toolset): # defining an init() function with 1 parameter is re
# This function prevents the application from initializing and maintains exclusive control over the GIL # This function prevents the application from initializing and maintains exclusive control over the GIL
def update(toolset: Toolset): # defining an update() function with 1 parameter is required. def update(toolset: Toolset): # defining an update() function with 1 parameter is required.
pass # Your code would go here. pass # Your code - including possibly a main loop - would go here.
``` ```
### Using the toolset passed by the .NET CLR ### Using the toolset passed by the .NET CLR
The use of the toolset is laid out in good example by `src/Indexer/Scripts/example.py`. The use of the toolset is laid out in good example by `src/Indexer/Scripts/example.py`.