File size: 2,024 Bytes
287a0bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*

## Cohere

First run Chroma

```
git clone [email protected]:chroma-core/chroma.git
cd chroma
chroma run --path /chroma_db_path
```

Then install chroma and cohere
```
npm install chromadb
npm install cohere-ai
```

Then set your API KEY

### Basic Example

*/

// import chroma
const chroma = require("chromadb");
const cohere = require("cohere-ai");

const main = async () => {

  const COHERE_API_KEY = "COHERE_API_KEY";

  const client = new chroma.ChromaClient({ path: "http://localhost:8000" });
  await client.reset();

  const cohereAIEmbedder = new chroma.CohereEmbeddingFunction({ cohere_api_key: COHERE_API_KEY });

  const collection = await client.createCollection({
    name: "cohere_js",
    embeddingFunction: cohereAIEmbedder
  });

  await collection.add({
    ids: ["1", "2", "3"],
    documents: ["I like apples", "I like bananas", "I like oranges"],
    metadatas: [{ "fruit": "apple" }, { "fruit": "banana" }, { "fruit": "orange" }],
  });

  console.log(await collection.query({
    queryTexts: ["citrus"],
    nResults: 1
  }));

  // Multilingual Example

  const cohereAIMulitlingualEmbedder = new chroma.CohereEmbeddingFunction({ cohere_api_key: COHERE_API_KEY, model: "multilingual-22-12" });

  const collection_multilingual = await client.createCollection({
    name: "cohere_js_multilingual",
    embeddingFunction: cohereAIMulitlingualEmbedder
  });

  // # 나는 오렌지를 좋아한다 is "I like oranges" in Korean
  multilingual_texts = ['Hello from Cohere!', 'مرحبًا من كوهير!',
    'Hallo von Cohere!', 'Bonjour de Cohere!',
    '¡Hola desde Cohere!', 'Olá do Cohere!',
    'Ciao da Cohere!', '您好,来自 Cohere!',
    'कोहेरे से नमस्ते!', '나는 오렌지를 좋아한다']

  let ids = Array.from({ length: multilingual_texts.length }, (_, i) => String(i));

  await collection.add({
    ids: ids,
    documents: multilingual_texts
  })

  console.log(await collection.query({ queryTexts: ["citrus"], nResults: 1 }))

}

main();