diff --git a/src/components/Sidepanel/Chat/empty.tsx b/src/components/Sidepanel/Chat/empty.tsx
index 7573cad..6f7b2b2 100644
--- a/src/components/Sidepanel/Chat/empty.tsx
+++ b/src/components/Sidepanel/Chat/empty.tsx
@@ -36,7 +36,8 @@ export const EmptySidePanel = () => {
}
}, [ollamaInfo])
- const { setSelectedModel, selectedModel } = useMessage()
+ const { setSelectedModel, selectedModel, chatMode, setChatMode } =
+ useMessage()
return (
@@ -107,6 +108,43 @@ export const EmptySidePanel = () => {
))}
+
+
+
+
+
+
+
)}
diff --git a/src/hooks/useMessage.tsx b/src/hooks/useMessage.tsx
index 380bf73..beb76cc 100644
--- a/src/hooks/useMessage.tsx
+++ b/src/hooks/useMessage.tsx
@@ -72,7 +72,9 @@ export const useMessage = () => {
isProcessing,
setIsProcessing,
selectedModel,
- setSelectedModel
+ setSelectedModel,
+ chatMode,
+ setChatMode
} = useStoreMessage()
const abortControllerRef = React.useRef(null)
@@ -89,7 +91,7 @@ export const useMessage = () => {
setIsFirstMessage(true)
}
- const voyEmbedding = async (
+ const memoryEmbedding = async (
url: string,
html: string,
ollamaEmbedding: OllamaEmbeddings
@@ -155,7 +157,7 @@ export const useMessage = () => {
if (isAlreadyExistEmbedding) {
vectorstore = isAlreadyExistEmbedding
} else {
- vectorstore = await voyEmbedding(url, html, ollamaEmbedding)
+ vectorstore = await memoryEmbedding(url, html, ollamaEmbedding)
}
const questionPrompt =
@@ -173,8 +175,6 @@ export const useMessage = () => {
retriever: vectorstore.asRetriever()
})
-
-
try {
const chunks = await chain.stream({
question: sanitizedQuestion
@@ -336,7 +336,11 @@ export const useMessage = () => {
}
const onSubmit = async (message: string) => {
- await chatWithWebsiteMode(message)
+ if (chatMode === "normal") {
+ await normalChatMode(message)
+ } else {
+ await chatWithWebsiteMode(message)
+ }
}
const stopStreamingRequest = () => {
@@ -362,6 +366,8 @@ export const useMessage = () => {
stopStreamingRequest,
clearChat,
selectedModel,
- setSelectedModel
+ setSelectedModel,
+ chatMode,
+ setChatMode
}
}
diff --git a/src/libs/get-html.ts b/src/libs/get-html.ts
index 699352a..4ced3ff 100644
--- a/src/libs/get-html.ts
+++ b/src/libs/get-html.ts
@@ -1,7 +1,12 @@
const _getHtml = () => {
- const url = window.location.href
- const html = document.documentElement.outerHTML
- return { url, html }
+ const url = window.location.href
+ const html = Array.from(document.querySelectorAll("script")).reduce(
+ (acc, script) => {
+ return acc.replace(script.outerHTML, "")
+ },
+ document.documentElement.outerHTML
+ )
+ return { url, html }
}
export const getHtmlOfCurrentTab = async () => {
diff --git a/src/store/index.tsx b/src/store/index.tsx
index f0596e9..4569357 100644
--- a/src/store/index.tsx
+++ b/src/store/index.tsx
@@ -29,6 +29,8 @@ type State = {
setIsProcessing: (isProcessing: boolean) => void
selectedModel: string | null
setSelectedModel: (selectedModel: string) => void
+ chatMode: "normal" | "rag"
+ setChatMode: (chatMode: "normal" | "rag") => void
}
export const useStoreMessage = create((set) => ({
@@ -48,5 +50,7 @@ export const useStoreMessage = create((set) => ({
setIsProcessing: (isProcessing) => set({ isProcessing }),
defaultSpeechToTextLanguage: "en-US",
selectedModel: null,
- setSelectedModel: (selectedModel) => set({ selectedModel })
+ setSelectedModel: (selectedModel) => set({ selectedModel }),
+ chatMode: "normal",
+ setChatMode: (chatMode) => set({ chatMode }),
}))