@autorag/librarian 2.10.0 → 2.10.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.
Files changed (46) hide show
  1. package/LICENSE +195 -21
  2. package/NOTICE +17 -21
  3. package/README.md +335 -161
  4. package/dist/agent/agent.d.ts +67 -2
  5. package/dist/agent/context-token-guard.d.ts +23 -0
  6. package/dist/agent/jev-extension.d.ts +5 -4
  7. package/dist/agent/jikji-find-tool.d.ts +1 -0
  8. package/dist/agent/pi-session.d.ts +35 -2
  9. package/dist/agent/request-limits.d.ts +20 -0
  10. package/dist/agent/search-all-tool.d.ts +1 -0
  11. package/dist/agent/search-single-datasource-tool.d.ts +1 -0
  12. package/dist/cli/config.d.ts +13 -11
  13. package/dist/cli/index.js +2573 -800
  14. package/dist/cloud/config.d.ts +18 -0
  15. package/dist/cloud/jev-backend.d.ts +90 -0
  16. package/dist/core.js +2185 -418
  17. package/dist/datasource/crawler-skill.d.ts +17 -0
  18. package/dist/datasource/sidecar/config.d.ts +26 -0
  19. package/dist/datasource/sidecar/descriptors.d.ts +67 -0
  20. package/dist/datasource/sidecar/fusion.d.ts +25 -0
  21. package/dist/datasource/sidecar/index.d.ts +131 -0
  22. package/dist/datasource/sidecar/methods.d.ts +27 -0
  23. package/dist/datasource/types.d.ts +3 -1
  24. package/dist/embedding-runtime/index.d.ts +6 -6
  25. package/dist/embedding-runtime/manifest.d.ts +0 -12
  26. package/dist/embedding-runtime/types.d.ts +1 -1
  27. package/dist/index.js +2210 -439
  28. package/dist/mcp/index.js +2205 -438
  29. package/dist/minsync/client.d.ts +3 -3
  30. package/dist/minsync/installer.d.ts +1 -1
  31. package/dist/minsync/process.d.ts +1 -0
  32. package/dist/minsync/types.d.ts +1 -1
  33. package/dist/parser/defaults.d.ts +6 -4
  34. package/dist/parser/ocr-engines.d.ts +6 -0
  35. package/dist/retrieval/index.d.ts +1 -1
  36. package/dist/retrieval/rerank.d.ts +20 -3
  37. package/licenses/embedding-assets.json +0 -35
  38. package/package.json +24 -27
  39. package/skills/autorag/SKILL.md +1 -1
  40. package/skills/autorag-doctor/SKILL.md +1 -1
  41. package/skills/autorag-lite-setup/SKILL.md +2 -2
  42. package/skills/autorag-setup/SKILL.md +2 -2
  43. package/licenses/gemma-notice.txt +0 -24
  44. package/licenses/gemma-section-3.2-flow-down.txt +0 -9
  45. package/licenses/gemma-terms-of-use.html +0 -4750
  46. package/licenses/gemma-terms-of-use.txt +0 -158
@@ -1,6 +1,6 @@
1
1
  import type { EnsuredRuntime } from "../embedding-runtime/index.js";
2
2
  import type { MinSyncEmbedderConfig, MinSyncQueryHit, MinSyncSyncResult } from "./types.js";
3
- export declare const MINSYNC_OLLAMA_MIGRATION_MESSAGE = "This workspace uses the legacy 768-dimensional Ollama/TEI embedding path. Reindex explicitly, or pin an explicit profile config before using the new default runtime.";
3
+ export declare const MINSYNC_OLLAMA_MIGRATION_MESSAGE = "This workspace uses the legacy 768-dimensional Ollama/TEI embedding path. Reindex explicitly, or pin an explicit Ollama/TEI embedder config before using the new default runtime.";
4
4
  export interface MinSyncRuntime {
5
5
  ensureRuntime(options?: {
6
6
  readonly profileId?: MinSyncEmbedderConfig["profile"];
@@ -14,7 +14,7 @@ export interface MinSyncClientOptions {
14
14
  readonly maxChunkSize?: number;
15
15
  readonly runtime?: MinSyncRuntime;
16
16
  }
17
- /** MinSync v0.4.6 supports native vector, BM25, and hybrid query modes. */
17
+ /** MinSync's native query modes: vector, BM25, and hybrid. */
18
18
  export type MinSyncQueryMode = "vector" | "bm25" | "hybrid";
19
19
  export declare class MinSyncQueryError extends Error {
20
20
  readonly code: number | null;
@@ -38,6 +38,6 @@ export declare class MinSyncClient {
38
38
  private writeIdentity;
39
39
  private identityMismatch;
40
40
  sync(force?: boolean): Promise<MinSyncSyncResult>;
41
- query(text: string, topK: number, mode?: MinSyncQueryMode): Promise<readonly MinSyncQueryHit[]>;
41
+ query(text: string, topK: number, mode?: MinSyncQueryMode, signal?: AbortSignal): Promise<readonly MinSyncQueryHit[]>;
42
42
  private spawn;
43
43
  }
@@ -1,4 +1,4 @@
1
- export declare const MINSYNC_VERSION = "0.4.6";
1
+ export declare const MINSYNC_VERSION = "0.4.7";
2
2
  export declare const MINSYNC_CARGO_INSTALL_TIMEOUT_MS: number;
3
3
  export interface MinSyncReleaseAsset {
4
4
  readonly name: string;
@@ -7,4 +7,5 @@ export interface ProcessResult {
7
7
  }
8
8
  export declare function spawnProcess(command: string, args: readonly string[], cwd: string, options?: {
9
9
  readonly timeoutMs?: number;
10
+ readonly signal?: AbortSignal;
10
11
  }): Promise<ProcessResult>;
@@ -1,7 +1,7 @@
1
1
  /** Embedder configuration for MinSync vector indexing. Shared by config and method layers. */
2
2
  export interface MinSyncEmbedderConfig {
3
3
  /** Select an AutoRAG-owned embedding runtime profile. */
4
- readonly profile?: "qwen3-embedding-0.6b" | "embeddinggemma-300m";
4
+ readonly profile?: "qwen3-embedding-0.6b";
5
5
  readonly id?: string;
6
6
  readonly baseUrl?: string;
7
7
  /** Environment variable name whose value holds the embedder API key. /^[A-Za-z_][A-Za-z0-9_]*$/ */
@@ -19,9 +19,11 @@ export declare function tesseractCachePathFor(workspacePath: string): string;
19
19
  export declare function resolveParserOptions(parserOptions: DefaultParserRegistryOptions | undefined, languages: readonly LanguageTag[], workspacePath?: string): DefaultParserRegistryOptions;
20
20
  /**
21
21
  * `ocr.enabled` is the single opt-in. Off: image files are not parsed and
22
- * scanned pages are left unrecognized. On: kordoc owns both, and the
23
- * configured languages pick the engine. kordoc's built-in PP-OCRv5 model is
24
- * used only when every language is one it reads reliably; otherwise Tesseract
25
- * is injected as kordoc's OCR provider. An explicit `kordoc.ocr` always wins.
22
+ * scanned pages are left unrecognized; kordoc gets an explicit `ocr: false`,
23
+ * because omitting it lets kordoc auto-OCR whenever its built-in model is
24
+ * already cached. On: kordoc owns both, and the configured languages pick the
25
+ * engine. kordoc's built-in PP-OCRv5 model is used only when every language is
26
+ * one it reads reliably; otherwise Tesseract is injected as kordoc's OCR
27
+ * provider. An explicit `kordoc.ocr` always wins.
26
28
  */
27
29
  export declare function createDefaultParserRegistry(options?: DefaultParserRegistryOptions): ParserRegistry;
@@ -29,3 +29,9 @@ export interface TesseractOcrProviderOptions {
29
29
  export declare function tesseractLanguageListFor(tags: readonly LanguageTag[]): string[];
30
30
  export declare function tesseractLanguageFor(tags: readonly LanguageTag[]): string;
31
31
  export declare function createTesseractOcrProvider(options: TesseractOcrProviderOptions): OcrProvider;
32
+ /**
33
+ * PNG, JPEG, or WebP whose header decodes both sides and either side is below
34
+ * leptonica's minimum. Undefined when the header is truncated, unrecognized,
35
+ * or both sides are at least 3 pixels.
36
+ */
37
+ export declare function ocrImageTooSmallMessage(bytes: Uint8Array): string | undefined;
@@ -3,7 +3,7 @@ export { RetrievalEngine, type RetrievalEngineOptions } from "./engine.js";
3
3
  export type { MergeOptions } from "./merger.js";
4
4
  export { ParallelRetriever, ResultMerger } from "./merger.js";
5
5
  export { RetrievalMethodRegistry } from "./registry.js";
6
- export { type CreateRerankerOptions, createReranker, DEFAULT_RERANK_API_KEY_ENV, DEFAULT_RERANK_MODEL, DEFAULT_RERANK_PROVIDER, DEFAULT_RERANK_TOP_N, OpenRouterReranker, type OpenRouterRerankerOptions, type Reranker, type RerankerDescriptor, type RerankOptions, SUPPORTED_RERANK_PROVIDERS, } from "./rerank.js";
6
+ export { type CreateRerankerOptions, createReranker, DEFAULT_AUTORAG_RERANK_API_KEY_ENV, DEFAULT_AUTORAG_RERANK_MODEL, DEFAULT_RERANK_API_KEY_ENV, DEFAULT_RERANK_MODEL, DEFAULT_RERANK_PROVIDER, DEFAULT_RERANK_TOP_N, defaultRerankApiKeyEnv, defaultRerankModel, OpenRouterReranker, type OpenRouterRerankerOptions, type Reranker, type RerankerDescriptor, type RerankOptions, SUPPORTED_RERANK_PROVIDERS, } from "./rerank.js";
7
7
  export { matchesVirtualPathScope, normalizeVirtualPath, normalizeVirtualPathScope, virtualPathScopeToRegExp, } from "./scope.js";
8
8
  export { type DatasourceCatalogEntry, derivedDatasourceIds, type RetrievalSelection, RetrievalSelectionError, type RetrievalSelectionErrorCode, resolveSelectedMethods, } from "./selection.js";
9
9
  export { describeRetrievalError, groupUnsearchedSurfaces, MINSYNC_SURFACE, type RetrievalSkip, retrievalSurfaceFor, } from "./skip.js";
@@ -18,10 +18,22 @@ export declare const DEFAULT_RERANK_MODEL = "voyageai/rerank-3-lite";
18
18
  export declare const DEFAULT_RERANK_PROVIDER = "openrouter";
19
19
  /** Default environment variable holding the OpenRouter API key. */
20
20
  export declare const DEFAULT_RERANK_API_KEY_ENV = "OPENROUTER_API_KEY";
21
+ /**
22
+ * Default rerank model for the hosted AutoRAG (Dazzi) provider — the id the
23
+ * server lists under `GET <root>/v1/models?operation=rerank`. Rerankers are not
24
+ * chat LLMs, so the project's 2026+ model rule does not cover them.
25
+ */
26
+ export declare const DEFAULT_AUTORAG_RERANK_MODEL = "qwen/qwen3-reranker-8b";
27
+ /** Environment variable holding the AutoRAG account key for the `autorag` rerank provider. */
28
+ export declare const DEFAULT_AUTORAG_RERANK_API_KEY_ENV = "AUTORAG_API_KEY";
21
29
  /** Default number of merged chunks kept after reranking. */
22
30
  export declare const DEFAULT_RERANK_TOP_N = 25;
23
31
  /** Rerank providers {@link createReranker} can build. */
24
32
  export declare const SUPPORTED_RERANK_PROVIDERS: readonly string[];
33
+ /** Default wire model for a rerank provider. */
34
+ export declare function defaultRerankModel(provider: string): string;
35
+ /** Default API-key environment variable for a rerank provider. */
36
+ export declare function defaultRerankApiKeyEnv(provider: string): string;
25
37
  /** Static description of a reranker, used for diagnostics and inspection. */
26
38
  export interface RerankerDescriptor {
27
39
  /** Stable label (e.g. `openrouter`). */
@@ -76,6 +88,8 @@ export interface RerankResponse {
76
88
  }
77
89
  /** Options for {@link OpenRouterReranker}. */
78
90
  export interface OpenRouterRerankerOptions {
91
+ /** Provider id reported by `describe()` and stamped on metadata. @default DEFAULT_RERANK_PROVIDER */
92
+ readonly provider?: string;
79
93
  /** Wire model id. @default DEFAULT_RERANK_MODEL */
80
94
  readonly model?: string;
81
95
  /** API key. When omitted, read from `apiKeyEnv` in the environment. */
@@ -103,10 +117,13 @@ export interface CreateRerankerOptions extends OpenRouterRerankerOptions {
103
117
  */
104
118
  export declare function createReranker(config: CreateRerankerOptions | false | undefined): Reranker | undefined;
105
119
  /**
106
- * Reranker backed by OpenRouter's rerank router.
120
+ * Reranker backed by an OpenRouter-compatible rerank router.
107
121
  *
108
- * Documents are sent as their `content`; the original `RetrievalResult` for each
109
- * returned index is preserved and re-scored with the provider's relevance score.
122
+ * OpenRouter is the default provider; the hosted AutoRAG (Dazzi) plan serves the
123
+ * same wire shape at `<root>/v1/rerank`, so {@link createReranker} reuses this
124
+ * client with that base URL and key env. Documents are sent as their `content`;
125
+ * the original `RetrievalResult` for each returned index is preserved and
126
+ * re-scored with the provider's relevance score.
110
127
  */
111
128
  export declare class OpenRouterReranker implements Reranker {
112
129
  private readonly model;
@@ -21,26 +21,6 @@
21
21
  "unsuitableUse": "Chat or generation, remote embedding of corpus text, shipping weights in the npm package, any GGUF other than the pinned SHA-256.",
22
22
  "upstreamCardUrl": "https://huggingface.co/Qwen/Qwen3-Embedding-0.6B",
23
23
  "modelCard": "docs/model-cards/qwen3-embedding-0.6b.md"
24
- },
25
- {
26
- "profileId": "embeddinggemma-300m",
27
- "provider": "google",
28
- "model": "embeddinggemma-300M-Q8_0.gguf",
29
- "dimension": 768,
30
- "queryPrefix": "task: search result | query: ",
31
- "passagePrefix": "title: none | text: ",
32
- "runtimeBuild": "b10951",
33
- "modelRevision": "0f741b5a6585bd53aeb15cd1372c56f2a0f65e12",
34
- "artifactSha256": "b5ce9d77a3fc4b3b39ccb5643c36777911cc4eb46a66962eadfa3f5f60490d63",
35
- "backend": "auto",
36
- "modelAssetId": "embeddinggemma-300m",
37
- "licenseId": "Gemma Terms of Use",
38
- "noticeFile": "licenses/gemma-notice.txt",
39
- "noticeReference": "Google EmbeddingGemma model card and Gemma Terms of Use",
40
- "intendedUse": "Local loopback embedding for AutoRAG MinSync and native-datasource semantic retrieval. Not a generative model.",
41
- "unsuitableUse": "Chat or generation, remote embedding of corpus text, shipping weights in the npm package, any GGUF other than the pinned SHA-256, uses restricted by the Gemma Prohibited Use Policy.",
42
- "upstreamCardUrl": "https://ai.google.dev/gemma/docs/embeddinggemma/model_card",
43
- "modelCard": "docs/model-cards/embeddinggemma-300m.md"
44
24
  }
45
25
  ],
46
26
  "assets": [
@@ -59,21 +39,6 @@
59
39
  "upstreamCardUrl": "https://huggingface.co/Qwen/Qwen3-Embedding-0.6B",
60
40
  "modelCard": "docs/model-cards/qwen3-embedding-0.6b.md"
61
41
  },
62
- {
63
- "kind": "model",
64
- "id": "embeddinggemma-300m",
65
- "filename": "embeddinggemma-300M-Q8_0.gguf",
66
- "url": "https://huggingface.co/ggml-org/embeddinggemma-300M-GGUF/resolve/0f741b5a6585bd53aeb15cd1372c56f2a0f65e12/embeddinggemma-300M-Q8_0.gguf",
67
- "revision": "0f741b5a6585bd53aeb15cd1372c56f2a0f65e12",
68
- "sha256": "b5ce9d77a3fc4b3b39ccb5643c36777911cc4eb46a66962eadfa3f5f60490d63",
69
- "licenseId": "Gemma Terms of Use",
70
- "noticeFile": "licenses/gemma-notice.txt",
71
- "noticeReference": "Google EmbeddingGemma model card and Gemma Terms of Use",
72
- "intendedUse": "Local loopback embedding for AutoRAG MinSync and native-datasource semantic retrieval. Not a generative model.",
73
- "unsuitableUse": "Chat or generation, remote embedding of corpus text, shipping weights in the npm package, any GGUF other than the pinned SHA-256, uses restricted by the Gemma Prohibited Use Policy.",
74
- "upstreamCardUrl": "https://ai.google.dev/gemma/docs/embeddinggemma/model_card",
75
- "modelCard": "docs/model-cards/embeddinggemma-300m.md"
76
- },
77
42
  {
78
43
  "kind": "runtime",
79
44
  "id": "llama-macos-arm64",
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@autorag/librarian",
3
- "version": "2.10.0",
3
+ "version": "2.10.1",
4
4
  "description": "Self-evolving librarian agent on Pi framework with pluggable retrieval methods",
5
- "license": "MIT",
5
+ "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/Marker-Inc-Korea/AutoRAG.git"
@@ -51,38 +51,35 @@
51
51
  "node": ">=24.0.0"
52
52
  },
53
53
  "dependencies": {
54
- "@earendil-works/pi-agent-core": "^1.1.0",
55
- "@earendil-works/pi-ai": "^1.1.0",
56
- "@earendil-works/pi-coding-agent": "1.1.0",
57
- "@earendil-works/pi-tui": "1.1.0",
58
- "@modelcontextprotocol/server": "^2.3.0",
59
- "@openrouter/sdk": "^1.4.21",
54
+ "@earendil-works/pi-agent-core": "^1.2.0",
55
+ "@earendil-works/pi-ai": "^1.2.0",
56
+ "@earendil-works/pi-coding-agent": "1.2.0",
57
+ "@earendil-works/pi-tui": "1.2.0",
58
+ "@modelcontextprotocol/server": "^2.3.1",
59
+ "@openrouter/sdk": "^1.4.25",
60
60
  "chardet": "^2.2.0",
61
- "fast-xml-parser": "^5.11.1",
61
+ "fast-xml-parser": "^5.11.2",
62
62
  "iconv-lite": "^0.7.3",
63
63
  "jev-use": "^0.8.0",
64
- "jszip": "^3.10.1",
65
- "kordoc": "^4.15.7",
66
- "mailparser": "^3.9.20",
67
- "pdfjs-dist": "^6.3.289",
68
- "puppeteer-core": "^25.11.0",
69
- "slides-grab": "^1.5.1",
70
- "smol-toml": "1.8.0",
64
+ "jszip": "^3.10.2",
65
+ "kordoc": "^4.21.30",
66
+ "mailparser": "^3.9.38",
67
+ "pdfjs-dist": "^6.4.299",
68
+ "puppeteer-core": "^25.13.0",
69
+ "slides-grab": "^1.5.2",
70
+ "smol-toml": "1.9.1",
71
71
  "tesseract.js": "^7.0.0",
72
- "typebox": "^1.3.25",
73
- "yaml": "^2.9.0"
72
+ "typebox": "^1.3.37",
73
+ "yaml": "^2.9.1"
74
74
  },
75
75
  "devDependencies": {
76
- "@biomejs/biome": "2.5.14",
77
- "@modelcontextprotocol/client": "^2.3.0",
78
- "@types/mailparser": "^3.4.6",
79
- "@types/node": "^26.4.1",
80
- "@types/ws": "^8.18.1",
76
+ "@biomejs/biome": "2.5.15",
77
+ "@modelcontextprotocol/client": "^2.3.1",
78
+ "@types/mailparser": "^3.9.0",
79
+ "@types/node": "^26.6.5",
80
+ "@types/ws": "^8.18.2",
81
81
  "typescript": "^7.0.2",
82
- "vitest": "^5.0.0",
82
+ "vitest": "^5.0.4",
83
83
  "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
84
- },
85
- "overrides": {
86
- "zod": "3.25.76"
87
84
  }
88
85
  }
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: autorag
3
3
  description: Search, summarize, compare, and answer questions from an already configured AutoRAG librarian over local documents and configured datasources. Use when the user asks AutoRAG to search PDFs, wikis, notes, or a knowledge base. Use autorag-setup for install, model, roots, indexing, or datasource changes.
4
- license: MIT
4
+ license: Apache-2.0
5
5
  ---
6
6
 
7
7
  # AutoRAG Librarian Skill
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: autorag-doctor
3
3
  description: Diagnose and repair a broken or half-working AutoRAG install so every configured source is both indexed and searchable. Checks AutoRAG, MinSync, Jikji, the embedding gateway, and every CLI-backed datasource (lazykatok, discrawl, slacrawl, wacrawl, telecrawl, notcrawl, qmd, mailcrawl, rclone, Spotlight), then fixes orphan locks, orphan processes, embedding dimension or identity mismatches, stale indexes, and missing setup. Use when search returns nothing or too little, refresh hangs or fails, a datasource disappeared from results, indexes look stale, the gateway will not start, or the user asks to check, diagnose, verify, or repair AutoRAG.
4
- license: MIT
4
+ license: Apache-2.0
5
5
  ---
6
6
 
7
7
  # AutoRAG doctor
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: autorag-lite-setup
3
3
  description: Install and register the model-free AutoRAG Lite MCP server, configure approved roots and datasources, build indexes, and verify MCP discovery and search. Use when autorag-mcp is missing, MCP connection fails, indexes are stale, or the user wants document search without configuring a search model.
4
- license: MIT
4
+ license: Apache-2.0
5
5
  ---
6
6
 
7
7
  # AutoRAG Lite setup
@@ -169,7 +169,7 @@ AUTORAG_CONFIG=/absolute/path/to/.autorag/config.json autorag lite refresh --jso
169
169
  are missing or broken, run a full refresh or return to setup rather than
170
170
  silently degrading to lexical-only search.
171
171
  - MinSync's default embedder is in-process native Qwen3 embeddings
172
- (`native:Qwen/Qwen3-Embedding-0.6B`, 1024 dimensions, MinSync 0.4.6): no
172
+ (`native:Qwen/Qwen3-Embedding-0.6B`, 1024 dimensions, MinSync 0.4.7): no
173
173
  embedder flags, no API key, and no external daemon (such as Ollama) are
174
174
  needed, and no corpus text leaves the machine. For gateway-profiled
175
175
  embeddings, prefetch with `autorag models prefetch --profile qwen3-embedding-0.6b`.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: autorag-setup
3
3
  description: Install and configure AutoRAG, register its Lite MCP server for external agents, or repair its single search model, approved roots, indexes, datasources, and health checks without exposing credentials. Use when AutoRAG or MCP is missing, init/refresh/health fails, indexes are stale, or the user wants to add folders or datasources.
4
- license: MIT
4
+ license: Apache-2.0
5
5
  ---
6
6
 
7
7
  # AutoRAG setup
@@ -184,7 +184,7 @@ told duplicate exclusion is off. Set `"excludeExactDuplicates": false` to
184
184
  index every copy.
185
185
 
186
186
  MinSync's default embedder is in-process native Qwen3 embeddings
187
- (`native:Qwen/Qwen3-Embedding-0.6B`, 1024 dimensions, MinSync 0.4.6). The
187
+ (`native:Qwen/Qwen3-Embedding-0.6B`, 1024 dimensions, MinSync 0.4.7). The
188
188
  default needs no embedder flags, no API key, and no external daemon (such as
189
189
  Ollama) — all embeddings run in-process locally and privately. For workspaces
190
190
  using the loopback llama-server gateway, prefetch the verified model with
@@ -1,24 +0,0 @@
1
- EmbeddingGemma profile notice
2
-
3
- Gemma is provided under and subject to the Gemma Terms of Use found at ai.google.dev/gemma/terms
4
-
5
- Section 3.1 distribution flow-down (verbatim)
6
-
7
- You must include the use restrictions referenced in Section 3.2 as an enforceable provision in any agreement (e.g., license agreement, terms of use, etc.) governing the use and/or distribution of Gemma or Model Derivatives and you must provide notice to subsequent users you Distribute to that Gemma or Model Derivatives are subject to the use restrictions in Section 3.2.
8
-
9
- You must provide all third party recipients of Gemma or Model Derivatives a copy of this Agreement.
10
-
11
- All Distributions (other than through a Hosted Service) must be accompanied by a "Notice" text file that contains the following notice:
12
- "Gemma is provided under and subject to the Gemma Terms of Use found at ai.google.dev/gemma/terms".
13
-
14
- Section 3.2 Use Restrictions (verbatim)
15
-
16
- You must not use any of the Gemma Services:
17
-
18
- for the restricted uses set forth in the Gemma Prohibited Use Policy at ai.google.dev/gemma/prohibited_use_policy ("Prohibited Use Policy"), which is hereby incorporated by reference into this Agreement; or
19
-
20
- in violation of applicable laws and regulations.
21
-
22
- To the maximum extent permitted by law, Google reserves the right to restrict (remotely or otherwise) usage of any of the Gemma Services that Google reasonably believes are in violation of this Agreement.
23
-
24
- The complete Gemma Terms of Use supplied with this notice are in gemma-terms-of-use.html (the fetched source page) and gemma-terms-of-use.txt (a readable text rendering). The source page is https://ai.google.dev/gemma/terms.
@@ -1,9 +0,0 @@
1
- Section 3.2 Use Restrictions
2
-
3
- You must not use any of the Gemma Services:
4
-
5
- for the restricted uses set forth in the Gemma Prohibited Use Policy at ai.google.dev/gemma/prohibited_use_policy ("Prohibited Use Policy"), which is hereby incorporated by reference into this Agreement; or
6
-
7
- in violation of applicable laws and regulations.
8
-
9
- To the maximum extent permitted by law, Google reserves the right to restrict (remotely or otherwise) usage of any of the Gemma Services that Google reasonably believes are in violation of this Agreement.