ninegrid2 6.549.0 → 6.551.0
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/dist/ai/aiContainer.js +10 -56
- package/dist/ai/aiSettings.js +2 -2
- package/dist/bundle.cjs.js +11 -36
- package/dist/bundle.esm.js +11 -36
- package/package.json +1 -1
- package/src/ai/aiContainer.js +10 -56
- package/src/ai/aiSettings.js +2 -2
package/dist/ai/aiContainer.js
CHANGED
|
@@ -166,29 +166,13 @@ class aiContainer extends HTMLElement
|
|
|
166
166
|
Qdrant 필터 JSON:
|
|
167
167
|
`;
|
|
168
168
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
//console.log(response);
|
|
177
|
-
|
|
178
|
-
/**
|
|
179
|
-
const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
|
|
180
|
-
if (elSettings) {
|
|
181
|
-
switch (elSettings.server) {
|
|
182
|
-
case "ollama":
|
|
183
|
-
this.#model = new Ollama({
|
|
184
|
-
model: elSettings.model,
|
|
185
|
-
host: elSettings.ollamaUrl,
|
|
186
|
-
});
|
|
187
|
-
break;
|
|
188
|
-
}
|
|
189
|
-
} */
|
|
190
|
-
|
|
191
|
-
const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
|
|
169
|
+
|
|
170
|
+
const response = await this.#model.invoke([
|
|
171
|
+
new SystemMessage(systemMessage),
|
|
172
|
+
new HumanMessage(prompt),
|
|
173
|
+
]);
|
|
174
|
+
|
|
175
|
+
const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
|
|
192
176
|
if (!elSettings) throw new Error("nx-ai-settings missing !!!");
|
|
193
177
|
|
|
194
178
|
console.log(response);
|
|
@@ -208,41 +192,9 @@ class aiContainer extends HTMLElement
|
|
|
208
192
|
break;
|
|
209
193
|
}
|
|
210
194
|
|
|
211
|
-
console.log(filterString);
|
|
195
|
+
//console.log(filterString);
|
|
212
196
|
|
|
213
197
|
return JSON.parse(filterString);
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
//let filterString = response.content.trim();
|
|
219
|
-
if (filterString.startsWith("```json")) {
|
|
220
|
-
filterString = filterString.replace("```json", "");
|
|
221
|
-
const idx = filterString.indexOf("```");
|
|
222
|
-
if (idx > 0) {
|
|
223
|
-
filterString = filterString.substring(0, idx);
|
|
224
|
-
//console.log(filterString.substring(idx+3));
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
//filterString = filterString.replaceAll('"value"', '"text"')
|
|
228
|
-
console.log("Generated Filter String:", filterString);
|
|
229
|
-
|
|
230
|
-
// Gemini가 JSON 모드나 Structured Output을 지원하지 않는 경우, 직접 파싱 시도
|
|
231
|
-
// 안정적인 JSON 파싱을 위해 'JSON Mode' 또는 Function Calling 사용을 강력히 권장
|
|
232
|
-
// LangChain의 SelfQueryRetriever를 사용하면 이 부분을 자동화할 수 있습니다.
|
|
233
|
-
//try {
|
|
234
|
-
return JSON.parse(filterString);
|
|
235
|
-
//} catch (parseError) {
|
|
236
|
-
// console.error("Failed to parse filter string as JSON:", parseError);
|
|
237
|
-
// console.error("String that failed to parse:", filterString);
|
|
238
|
-
// return null; // 파싱 실패 시 null 반환 또는 적절한 에러 처리
|
|
239
|
-
//}
|
|
240
|
-
|
|
241
|
-
//} catch (error) {
|
|
242
|
-
|
|
243
|
-
// console.error("Error generating Qdrant filter with Gemini:", error);
|
|
244
|
-
// return null;
|
|
245
|
-
//}
|
|
246
198
|
}
|
|
247
199
|
|
|
248
200
|
#searchWithQdrantFilter = async (filter) => {
|
|
@@ -289,6 +241,7 @@ class aiContainer extends HTMLElement
|
|
|
289
241
|
|
|
290
242
|
#q1 = async () => {
|
|
291
243
|
const filter = await this.#generateQdrantFilter();
|
|
244
|
+
console.log(filter);
|
|
292
245
|
const searchResults = ninegrid.filter(this.#getData(), filter);
|
|
293
246
|
|
|
294
247
|
await this.#answer(searchResults);
|
|
@@ -296,6 +249,7 @@ class aiContainer extends HTMLElement
|
|
|
296
249
|
|
|
297
250
|
#q2 = async () => {
|
|
298
251
|
const filter = await this.#generateQdrantFilter();
|
|
252
|
+
console.log(filter);
|
|
299
253
|
const searchResults = await this.#searchWithQdrantFilter(filter);
|
|
300
254
|
|
|
301
255
|
await this.#answer(searchResults);
|
package/dist/ai/aiSettings.js
CHANGED
|
@@ -102,10 +102,10 @@ class aiSettings extends HTMLElement
|
|
|
102
102
|
<label><input name="server" type="radio" value="openai">Open AI</label>
|
|
103
103
|
<label><input name="server" type="radio" value="ollama">Ollama</label>
|
|
104
104
|
</div>
|
|
105
|
-
<div class="line gemini">
|
|
105
|
+
<div class="line gemini-bak" style="display:none;">
|
|
106
106
|
<label>API Key: <input id="geminiApiKey" value="${this.geminiApiKey}"/></label>
|
|
107
107
|
</div>
|
|
108
|
-
<div class="line openai">
|
|
108
|
+
<div class="line openai-bak" style="display:none;">
|
|
109
109
|
<label>API Key: <input id="openaiApiKey" value="${this.openaiApiKey}"/></label>
|
|
110
110
|
</div>
|
|
111
111
|
<div class="line ollama">
|
package/dist/bundle.cjs.js
CHANGED
|
@@ -27620,10 +27620,10 @@ class aiSettings extends HTMLElement
|
|
|
27620
27620
|
<label><input name="server" type="radio" value="openai">Open AI</label>
|
|
27621
27621
|
<label><input name="server" type="radio" value="ollama">Ollama</label>
|
|
27622
27622
|
</div>
|
|
27623
|
-
<div class="line gemini">
|
|
27623
|
+
<div class="line gemini-bak" style="display:none;">
|
|
27624
27624
|
<label>API Key: <input id="geminiApiKey" value="${this.geminiApiKey}"/></label>
|
|
27625
27625
|
</div>
|
|
27626
|
-
<div class="line openai">
|
|
27626
|
+
<div class="line openai-bak" style="display:none;">
|
|
27627
27627
|
<label>API Key: <input id="openaiApiKey" value="${this.openaiApiKey}"/></label>
|
|
27628
27628
|
</div>
|
|
27629
27629
|
<div class="line ollama">
|
|
@@ -54367,29 +54367,13 @@ class aiContainer extends HTMLElement
|
|
|
54367
54367
|
Qdrant 필터 JSON:
|
|
54368
54368
|
`;
|
|
54369
54369
|
|
|
54370
|
-
|
|
54371
|
-
|
|
54372
|
-
|
|
54373
|
-
|
|
54374
|
-
|
|
54375
|
-
]);
|
|
54376
|
-
|
|
54377
|
-
//console.log(response);
|
|
54378
|
-
|
|
54379
|
-
/**
|
|
54380
|
-
const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
|
|
54381
|
-
if (elSettings) {
|
|
54382
|
-
switch (elSettings.server) {
|
|
54383
|
-
case "ollama":
|
|
54384
|
-
this.#model = new Ollama({
|
|
54385
|
-
model: elSettings.model,
|
|
54386
|
-
host: elSettings.ollamaUrl,
|
|
54387
|
-
});
|
|
54388
|
-
break;
|
|
54389
|
-
}
|
|
54390
|
-
} */
|
|
54370
|
+
|
|
54371
|
+
const response = await this.#model.invoke([
|
|
54372
|
+
new messages.SystemMessage(systemMessage),
|
|
54373
|
+
new messages.HumanMessage(prompt),
|
|
54374
|
+
]);
|
|
54391
54375
|
|
|
54392
|
-
|
|
54376
|
+
const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
|
|
54393
54377
|
if (!elSettings) throw new Error("nx-ai-settings missing !!!");
|
|
54394
54378
|
|
|
54395
54379
|
console.log(response);
|
|
@@ -54407,20 +54391,9 @@ class aiContainer extends HTMLElement
|
|
|
54407
54391
|
break;
|
|
54408
54392
|
}
|
|
54409
54393
|
|
|
54410
|
-
console.log(filterString);
|
|
54394
|
+
//console.log(filterString);
|
|
54411
54395
|
|
|
54412
54396
|
return JSON.parse(filterString);
|
|
54413
|
-
//} catch (parseError) {
|
|
54414
|
-
// console.error("Failed to parse filter string as JSON:", parseError);
|
|
54415
|
-
// console.error("String that failed to parse:", filterString);
|
|
54416
|
-
// return null; // 파싱 실패 시 null 반환 또는 적절한 에러 처리
|
|
54417
|
-
//}
|
|
54418
|
-
|
|
54419
|
-
//} catch (error) {
|
|
54420
|
-
|
|
54421
|
-
// console.error("Error generating Qdrant filter with Gemini:", error);
|
|
54422
|
-
// return null;
|
|
54423
|
-
//}
|
|
54424
54397
|
}
|
|
54425
54398
|
|
|
54426
54399
|
#searchWithQdrantFilter = async (filter) => {
|
|
@@ -54463,6 +54436,7 @@ class aiContainer extends HTMLElement
|
|
|
54463
54436
|
|
|
54464
54437
|
#q1 = async () => {
|
|
54465
54438
|
const filter = await this.#generateQdrantFilter();
|
|
54439
|
+
console.log(filter);
|
|
54466
54440
|
const searchResults = ninegrid.filter(this.#getData(), filter);
|
|
54467
54441
|
|
|
54468
54442
|
await this.#answer(searchResults);
|
|
@@ -54470,6 +54444,7 @@ class aiContainer extends HTMLElement
|
|
|
54470
54444
|
|
|
54471
54445
|
#q2 = async () => {
|
|
54472
54446
|
const filter = await this.#generateQdrantFilter();
|
|
54447
|
+
console.log(filter);
|
|
54473
54448
|
const searchResults = await this.#searchWithQdrantFilter(filter);
|
|
54474
54449
|
|
|
54475
54450
|
await this.#answer(searchResults);
|
package/dist/bundle.esm.js
CHANGED
|
@@ -27618,10 +27618,10 @@ class aiSettings extends HTMLElement
|
|
|
27618
27618
|
<label><input name="server" type="radio" value="openai">Open AI</label>
|
|
27619
27619
|
<label><input name="server" type="radio" value="ollama">Ollama</label>
|
|
27620
27620
|
</div>
|
|
27621
|
-
<div class="line gemini">
|
|
27621
|
+
<div class="line gemini-bak" style="display:none;">
|
|
27622
27622
|
<label>API Key: <input id="geminiApiKey" value="${this.geminiApiKey}"/></label>
|
|
27623
27623
|
</div>
|
|
27624
|
-
<div class="line openai">
|
|
27624
|
+
<div class="line openai-bak" style="display:none;">
|
|
27625
27625
|
<label>API Key: <input id="openaiApiKey" value="${this.openaiApiKey}"/></label>
|
|
27626
27626
|
</div>
|
|
27627
27627
|
<div class="line ollama">
|
|
@@ -54365,29 +54365,13 @@ class aiContainer extends HTMLElement
|
|
|
54365
54365
|
Qdrant 필터 JSON:
|
|
54366
54366
|
`;
|
|
54367
54367
|
|
|
54368
|
-
|
|
54369
|
-
|
|
54370
|
-
|
|
54371
|
-
|
|
54372
|
-
|
|
54373
|
-
]);
|
|
54374
|
-
|
|
54375
|
-
//console.log(response);
|
|
54376
|
-
|
|
54377
|
-
/**
|
|
54378
|
-
const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
|
|
54379
|
-
if (elSettings) {
|
|
54380
|
-
switch (elSettings.server) {
|
|
54381
|
-
case "ollama":
|
|
54382
|
-
this.#model = new Ollama({
|
|
54383
|
-
model: elSettings.model,
|
|
54384
|
-
host: elSettings.ollamaUrl,
|
|
54385
|
-
});
|
|
54386
|
-
break;
|
|
54387
|
-
}
|
|
54388
|
-
} */
|
|
54368
|
+
|
|
54369
|
+
const response = await this.#model.invoke([
|
|
54370
|
+
new SystemMessage(systemMessage),
|
|
54371
|
+
new HumanMessage(prompt),
|
|
54372
|
+
]);
|
|
54389
54373
|
|
|
54390
|
-
|
|
54374
|
+
const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
|
|
54391
54375
|
if (!elSettings) throw new Error("nx-ai-settings missing !!!");
|
|
54392
54376
|
|
|
54393
54377
|
console.log(response);
|
|
@@ -54405,20 +54389,9 @@ class aiContainer extends HTMLElement
|
|
|
54405
54389
|
break;
|
|
54406
54390
|
}
|
|
54407
54391
|
|
|
54408
|
-
console.log(filterString);
|
|
54392
|
+
//console.log(filterString);
|
|
54409
54393
|
|
|
54410
54394
|
return JSON.parse(filterString);
|
|
54411
|
-
//} catch (parseError) {
|
|
54412
|
-
// console.error("Failed to parse filter string as JSON:", parseError);
|
|
54413
|
-
// console.error("String that failed to parse:", filterString);
|
|
54414
|
-
// return null; // 파싱 실패 시 null 반환 또는 적절한 에러 처리
|
|
54415
|
-
//}
|
|
54416
|
-
|
|
54417
|
-
//} catch (error) {
|
|
54418
|
-
|
|
54419
|
-
// console.error("Error generating Qdrant filter with Gemini:", error);
|
|
54420
|
-
// return null;
|
|
54421
|
-
//}
|
|
54422
54395
|
}
|
|
54423
54396
|
|
|
54424
54397
|
#searchWithQdrantFilter = async (filter) => {
|
|
@@ -54461,6 +54434,7 @@ class aiContainer extends HTMLElement
|
|
|
54461
54434
|
|
|
54462
54435
|
#q1 = async () => {
|
|
54463
54436
|
const filter = await this.#generateQdrantFilter();
|
|
54437
|
+
console.log(filter);
|
|
54464
54438
|
const searchResults = ninegrid.filter(this.#getData(), filter);
|
|
54465
54439
|
|
|
54466
54440
|
await this.#answer(searchResults);
|
|
@@ -54468,6 +54442,7 @@ class aiContainer extends HTMLElement
|
|
|
54468
54442
|
|
|
54469
54443
|
#q2 = async () => {
|
|
54470
54444
|
const filter = await this.#generateQdrantFilter();
|
|
54445
|
+
console.log(filter);
|
|
54471
54446
|
const searchResults = await this.#searchWithQdrantFilter(filter);
|
|
54472
54447
|
|
|
54473
54448
|
await this.#answer(searchResults);
|
package/package.json
CHANGED
package/src/ai/aiContainer.js
CHANGED
|
@@ -166,29 +166,13 @@ class aiContainer extends HTMLElement
|
|
|
166
166
|
Qdrant 필터 JSON:
|
|
167
167
|
`;
|
|
168
168
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
//console.log(response);
|
|
177
|
-
|
|
178
|
-
/**
|
|
179
|
-
const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
|
|
180
|
-
if (elSettings) {
|
|
181
|
-
switch (elSettings.server) {
|
|
182
|
-
case "ollama":
|
|
183
|
-
this.#model = new Ollama({
|
|
184
|
-
model: elSettings.model,
|
|
185
|
-
host: elSettings.ollamaUrl,
|
|
186
|
-
});
|
|
187
|
-
break;
|
|
188
|
-
}
|
|
189
|
-
} */
|
|
190
|
-
|
|
191
|
-
const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
|
|
169
|
+
|
|
170
|
+
const response = await this.#model.invoke([
|
|
171
|
+
new SystemMessage(systemMessage),
|
|
172
|
+
new HumanMessage(prompt),
|
|
173
|
+
]);
|
|
174
|
+
|
|
175
|
+
const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
|
|
192
176
|
if (!elSettings) throw new Error("nx-ai-settings missing !!!");
|
|
193
177
|
|
|
194
178
|
console.log(response);
|
|
@@ -208,41 +192,9 @@ class aiContainer extends HTMLElement
|
|
|
208
192
|
break;
|
|
209
193
|
}
|
|
210
194
|
|
|
211
|
-
console.log(filterString);
|
|
195
|
+
//console.log(filterString);
|
|
212
196
|
|
|
213
197
|
return JSON.parse(filterString);
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
//let filterString = response.content.trim();
|
|
219
|
-
if (filterString.startsWith("```json")) {
|
|
220
|
-
filterString = filterString.replace("```json", "");
|
|
221
|
-
const idx = filterString.indexOf("```");
|
|
222
|
-
if (idx > 0) {
|
|
223
|
-
filterString = filterString.substring(0, idx);
|
|
224
|
-
//console.log(filterString.substring(idx+3));
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
//filterString = filterString.replaceAll('"value"', '"text"')
|
|
228
|
-
console.log("Generated Filter String:", filterString);
|
|
229
|
-
|
|
230
|
-
// Gemini가 JSON 모드나 Structured Output을 지원하지 않는 경우, 직접 파싱 시도
|
|
231
|
-
// 안정적인 JSON 파싱을 위해 'JSON Mode' 또는 Function Calling 사용을 강력히 권장
|
|
232
|
-
// LangChain의 SelfQueryRetriever를 사용하면 이 부분을 자동화할 수 있습니다.
|
|
233
|
-
//try {
|
|
234
|
-
return JSON.parse(filterString);
|
|
235
|
-
//} catch (parseError) {
|
|
236
|
-
// console.error("Failed to parse filter string as JSON:", parseError);
|
|
237
|
-
// console.error("String that failed to parse:", filterString);
|
|
238
|
-
// return null; // 파싱 실패 시 null 반환 또는 적절한 에러 처리
|
|
239
|
-
//}
|
|
240
|
-
|
|
241
|
-
//} catch (error) {
|
|
242
|
-
|
|
243
|
-
// console.error("Error generating Qdrant filter with Gemini:", error);
|
|
244
|
-
// return null;
|
|
245
|
-
//}
|
|
246
198
|
}
|
|
247
199
|
|
|
248
200
|
#searchWithQdrantFilter = async (filter) => {
|
|
@@ -289,6 +241,7 @@ class aiContainer extends HTMLElement
|
|
|
289
241
|
|
|
290
242
|
#q1 = async () => {
|
|
291
243
|
const filter = await this.#generateQdrantFilter();
|
|
244
|
+
console.log(filter);
|
|
292
245
|
const searchResults = ninegrid.filter(this.#getData(), filter);
|
|
293
246
|
|
|
294
247
|
await this.#answer(searchResults);
|
|
@@ -296,6 +249,7 @@ class aiContainer extends HTMLElement
|
|
|
296
249
|
|
|
297
250
|
#q2 = async () => {
|
|
298
251
|
const filter = await this.#generateQdrantFilter();
|
|
252
|
+
console.log(filter);
|
|
299
253
|
const searchResults = await this.#searchWithQdrantFilter(filter);
|
|
300
254
|
|
|
301
255
|
await this.#answer(searchResults);
|
package/src/ai/aiSettings.js
CHANGED
|
@@ -102,10 +102,10 @@ class aiSettings extends HTMLElement
|
|
|
102
102
|
<label><input name="server" type="radio" value="openai">Open AI</label>
|
|
103
103
|
<label><input name="server" type="radio" value="ollama">Ollama</label>
|
|
104
104
|
</div>
|
|
105
|
-
<div class="line gemini">
|
|
105
|
+
<div class="line gemini-bak" style="display:none;">
|
|
106
106
|
<label>API Key: <input id="geminiApiKey" value="${this.geminiApiKey}"/></label>
|
|
107
107
|
</div>
|
|
108
|
-
<div class="line openai">
|
|
108
|
+
<div class="line openai-bak" style="display:none;">
|
|
109
109
|
<label>API Key: <input id="openaiApiKey" value="${this.openaiApiKey}"/></label>
|
|
110
110
|
</div>
|
|
111
111
|
<div class="line ollama">
|