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.
@@ -166,29 +166,13 @@ class aiContainer extends HTMLElement
166
166
  Qdrant 필터 JSON:
167
167
  `;
168
168
 
169
-
170
- //try {
171
- const response = await this.#model.invoke([
172
- new SystemMessage(systemMessage),
173
- new HumanMessage(prompt),
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);
@@ -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">
@@ -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
- //try {
54372
- const response = await this.#model.invoke([
54373
- new messages.SystemMessage(systemMessage),
54374
- new messages.HumanMessage(prompt),
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
- const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
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);
@@ -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
- //try {
54370
- const response = await this.#model.invoke([
54371
- new SystemMessage(systemMessage),
54372
- new HumanMessage(prompt),
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
- const elSettings = this.shadowRoot.querySelector("nx-ai-settings");
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ninegrid2",
3
3
  "type": "module",
4
- "version": "6.549.0",
4
+ "version": "6.551.0",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
7
7
  "import": "./dist/index.js",
@@ -166,29 +166,13 @@ class aiContainer extends HTMLElement
166
166
  Qdrant 필터 JSON:
167
167
  `;
168
168
 
169
-
170
- //try {
171
- const response = await this.#model.invoke([
172
- new SystemMessage(systemMessage),
173
- new HumanMessage(prompt),
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);
@@ -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">