Upgraded embedding model to voyage-3.5, updated README.md
This commit is contained in:
@@ -8,11 +8,15 @@ In kongruity, the artifacts become "sticky notes." A board full of them looks ch
|
||||
|
||||
With a click, they are semantically evaluated, grouped into thematic clusters with descriptive headers, rankable and exportable to project planning and execution tools.
|
||||
|
||||
## Voyage AI voyage-3.5
|
||||
|
||||

|
||||
|
||||
## Clustering and evaluation: methodology
|
||||
|
||||
Two models run in parallel, and neither sees the other's work. Anthropic's `claude-sonnet-5` (`backend/services/clustering.service.js`) reads the raw text of every note and groups them into labeled thematic clusters.
|
||||
|
||||
At the same time, Voyage AI's voyage-3 model (`backend/services/embedding.service.js`) converts each note's text into a numeric representation of its semantic meaning aka vector.
|
||||
At the same time, Voyage AI's voyage-3.5 model (`backend/services/embedding.service.js`) converts each note's text into a numeric representation of its semantic meaning aka vector.
|
||||
|
||||
Once the LLM returns, kongruity scores that grouping (`backend/services/validation.service.js`) using an established silhouette coefficient, with cosine distance rather than Euclidean as the proximity metric.
|
||||
|
||||
|
||||
BIN
Voyage.jpg
Normal file
BIN
Voyage.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 114 KiB |
@@ -27,7 +27,7 @@ export const embedNotes = async (notes) => {
|
||||
for await (const chunk of batches) {
|
||||
const response = await client.embed({
|
||||
input: chunk.map((n) => n.text),
|
||||
model: "voyage-3",
|
||||
model: "voyage-3.5",
|
||||
});
|
||||
|
||||
response.data.forEach((item, i) => {
|
||||
|
||||
Reference in New Issue
Block a user