sis-tools 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# sis-tools (Node.js)
|
|
2
|
+
|
|
3
|
+
Semantic Integration System (SIS) is a tool-resolution layer that uses embeddings to select the most relevant tools for a query at runtime.
|
|
4
|
+
|
|
5
|
+
Instead of sending every tool schema to an LLM up front, you resolve the top-k tools for the user’s query and only inject the relevant schemas.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install sis-tools
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
SIS supports optional embedding providers. Install only what you use:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# OpenAI
|
|
17
|
+
npm install openai
|
|
18
|
+
|
|
19
|
+
# Google
|
|
20
|
+
npm install @google/generative-ai
|
|
21
|
+
|
|
22
|
+
# Cohere
|
|
23
|
+
npm install cohere-ai
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Quick start
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
import { SIS } from "sis-tools";
|
|
30
|
+
|
|
31
|
+
const sis = new SIS({
|
|
32
|
+
embeddingProvider: "openai",
|
|
33
|
+
providerOptions: {
|
|
34
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
35
|
+
},
|
|
36
|
+
defaultTopK: 5,
|
|
37
|
+
defaultThreshold: 0.3,
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
sis.register({
|
|
41
|
+
name: "web_search",
|
|
42
|
+
description: "Search the web for current information",
|
|
43
|
+
parameters: { query: { type: "string" } },
|
|
44
|
+
semanticHints: ["google", "lookup", "find online"],
|
|
45
|
+
handler: async ({ query }) => {
|
|
46
|
+
// your implementation
|
|
47
|
+
return String(query);
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
await sis.initialize();
|
|
52
|
+
|
|
53
|
+
const tools = await sis.resolve("search for latest news");
|
|
54
|
+
// tools: [{ name, schema, score, handler? }, ...]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Resolve formats
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
await sis.resolve("query", { format: "openai" });
|
|
61
|
+
await sis.resolve("query", { format: "anthropic" });
|
|
62
|
+
await sis.resolve("query", { format: "raw" });
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Links
|
|
66
|
+
|
|
67
|
+
- Homepage/Repo: see the repository root README.
|
|
68
|
+
- License: MIT
|