ninegrid2 6.517.0 → 6.519.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ninegrid2",
3
3
  "type": "module",
4
- "version": "6.517.0",
4
+ "version": "6.519.0",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
7
7
  "import": "./dist/index.js",
@@ -4,12 +4,14 @@ import { Ollama } from "@langchain/ollama";
4
4
  import { ChatOpenAI } from '@langchain/openai';
5
5
  import { HumanMessage, SystemMessage } from '@langchain/core/messages';
6
6
  import { OllamaEmbeddings } from "@langchain/ollama";
7
+ import { QdrantClient } from "@qdrant/js-client-rest";
7
8
 
8
9
  class aiContainer extends HTMLElement
9
10
  {
10
11
  #target;
11
12
  #ing = false;
12
13
  #model;
14
+ #qdrantClient;
13
15
  //#elChat;
14
16
 
15
17
  #geminiApiKey = "";
@@ -83,6 +85,8 @@ class aiContainer extends HTMLElement
83
85
  this.#model = new Ollama({ model: elSettings.model });
84
86
  break;
85
87
  }
88
+
89
+ this.#qdrantClient = new QdrantClient({ url: elSettings.qdrantUrl });
86
90
  };
87
91
 
88
92
  #getColumnInfo = () => {
@@ -100,7 +104,9 @@ class aiContainer extends HTMLElement
100
104
  };
101
105
 
102
106
 
103
- #generateQdrantFilter = async (userInput) => {
107
+ #generateQdrantFilter = async () => {
108
+
109
+ const userInput = this.shadowRoot.querySelector("textarea").value.trim();
104
110
 
105
111
  const systemMessage = "You are a helpful assistant.";
106
112
  // Qdrant 필터로 변환하기 위한 프롬프트 엔지니어링
@@ -134,6 +140,7 @@ class aiContainer extends HTMLElement
134
140
  Qdrant 필터 JSON:
135
141
  `;
136
142
 
143
+
137
144
  //try {
138
145
  const response = await this.#model.invoke([
139
146
  new SystemMessage(systemMessage),
@@ -204,7 +211,7 @@ class aiContainer extends HTMLElement
204
211
 
205
212
  //console.log("Qdrant Search Params:", JSON.stringify(searchParams, null, 2));
206
213
 
207
- return await qdrantClient.search(collectionName, searchParams);
214
+ return await this.#qdrantClient.search(collectionName, searchParams);
208
215
 
209
216
  //} catch (error) {
210
217
  // console.error("Error during Qdrant search:", error);
@@ -266,6 +273,7 @@ class aiContainer extends HTMLElement
266
273
 
267
274
  const elAiChat = this.shadowRoot.querySelector("nx-ai-chat");
268
275
 
276
+
269
277
  elAiChat.add("me", question);
270
278
  elAiChat.add("ing", question);
271
279
 
@@ -2,6 +2,8 @@
2
2
 
3
3
  class aiSettings extends HTMLElement
4
4
  {
5
+ #qdrantUrl;
6
+
5
7
  EVENT = {
6
8
  MODEL_CHANGE : "model_change",
7
9
  };
@@ -45,6 +47,9 @@ class aiSettings extends HTMLElement
45
47
  })); */
46
48
  };
47
49
 
50
+ get qdrantUrl() { return this.#qdrantUrl || "http://localhost:6333"; };
51
+ set qdrantUrl(v) { this.shadowRoot.querySelector("#qdrantUrl").value = this.#qdrantUrl = v; };
52
+
48
53
 
49
54
 
50
55
  connectedCallback() {
@@ -131,6 +136,9 @@ class aiSettings extends HTMLElement
131
136
  </select>
132
137
  </label>
133
138
  </div>
139
+ <div class="line qdrant">
140
+ <label>Url: <input id="qdrantUrl" value="${this.qdrantUrl}"/></label>
141
+ </div>
134
142
  `;
135
143
 
136
144
  this.#init();