File size: 3,605 Bytes
0284dce
 
b519a78
0284dce
 
 
 
 
 
 
0af6653
0284dce
 
 
 
1f0f99b
e4e9d1f
70eeb6d
 
0284dce
70eeb6d
81bd948
0284dce
 
81bd948
0284dce
9be46f8
0284dce
 
 
f007dc7
0284dce
 
 
c4fe1a5
0284dce
 
f007dc7
 
 
 
 
 
0284dce
9be46f8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0284dce
81bd948
fd9a94a
423a4cb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
---
inference: false
language: sv
license:
- cc-by-sa-3.0
- gfdl
library_name: txtai
tags:
- sentence-similarity
datasets:
- burgerbee/wikipedia-sv-20240220
---

# Wikipedia txtai embeddings index

This is a [txtai](https://github.com/neuml/txtai) embeddings index for the [Swedish edition of Wikipedia](https://sv.wikipedia.org/).

Embeddings is the engine that delivers semantic search. Data is transformed into embeddings vectors where similar concepts will produce similar vectors.
An embeddings index generated by txtai is a fully encapsulated index format. It DOESN'T require a database server.

This index is built from the [Wikipedia Februari 2024 dataset](https://huggingface.co/datasets/burgerbee/wikipedia-sv-20240220).
Only the first two paragraph from each article is included. The Wikipedia index works well as a fact-based context source for retrieval augmented generation (RAG). It also uses [Wikipedia Page Views](https://dumps.wikimedia.org/other/pageviews/readme.html) data to add a `percentile` field. The `percentile` field can be used
to only match commonly visited pages.

txtai must be (pip) [installed](https://neuml.github.io/txtai/install/) to use this model.

## Example code

```python
from txtai.embeddings import Embeddings
import json

# Load the index from the HF Hub
embeddings = Embeddings()
embeddings.load(provider="huggingface-hub", container="burgerbee/txtai-sv-wikipedia")

# Run a search
for x in embeddings.search("I vilken stad ligger Liseberg?", 1):
  print(json.dumps(x, indent=2))

# Run a search and filter on popular results (page views).
for x in embeddings.search("SELECT id, text, score, percentile FROM txtai WHERE similar('I vilken stad ligger Liseberg?') AND percentile >= 0.99", 1):
  print(json.dumps(x, indent=2))
```
## Example output

```json
{
  "id": "Kowary",
  "text": "Kowary , tyska: Schmiedeberg im Riesengebirge, \u00e4r en stad i sydv\u00e4stra Polen och den st\u00f6rsta staden i distriktet Powiat jeleniog\u00f3rski i s\u00f6dra delen av Nedre Schlesiens vojvodskap. Staden ligger vid foten av Karkonoszebergen intill gr\u00e4nsen mot Tjeckien och utg\u00f6r administrativt en stadskommun, med 11\u00a0479 inv\u00e5nare i juni 2014.\n\nGeografi \nStaden ligger vid floden Jedlica, vid den norra foten av bergskedjan Karkonosze (Riesengebirge), nord\u00f6st om bergskedjans h\u00f6gsta berg \u015anie\u017cka. Stadskommunen gr\u00e4nsar i s\u00f6der direkt till Tjeckien.",
  "score": 0.8754444122314453
}
{
  "id": "Liseberg",
  "text": "Liseberg \u00e4r en n\u00f6jespark bel\u00e4gen i stadsdelen Heden i G\u00f6teborg. N\u00f6jesparken med tillh\u00f6rande evenemangsarenor och boendeanl\u00e4ggningar drivs som ett aktiebolag och \u00e4r hel\u00e4gt av G\u00f6teborgs stad. Liseberg invigdes inf\u00f6r Jubileumsutst\u00e4llningen i G\u00f6teborg 8 maj 1923 och \u00e4r \u00f6ppet st\u00f6rre delen av \u00e5ret, uppdelat p\u00e5 tre s\u00e4songer. Sommars\u00e4songen str\u00e4cker sig fr\u00e5n slutet av april till slutet av september. Halloween p\u00e5 Liseberg p\u00e5g\u00e5r fr\u00e5n b\u00f6rjan av oktober till och med h\u00f6stlovet i b\u00f6rjan av november. Jul p\u00e5 Liseberg p\u00e5g\u00e5r fr\u00e5n mitten av november fram till ny\u00e5r. Liseberg \u00e4r ett av Sveriges popul\u00e4raste resm\u00e5l med uppemot tre miljoner bes\u00f6kare \u00e5rligen.\n\nHistoria",
  "score": 0.8657851815223694,
  "percentile": 0.9997892517182254
}
```

# Data source

https://dumps.wikimedia.org/svwiki/ + https://dumps.wikimedia.org/other/pageview_complete/ = https://huggingface.co/datasets/burgerbee/wikipedia-sv-20240220