Add currentURL and setCurrentURL to useMessage hook

This commit is contained in:
n4ze3m 2024-03-09 19:58:48 +05:30
parent 7ce79bb134
commit b1017062bb
2 changed files with 24 additions and 5 deletions

View File

@ -107,7 +107,9 @@ export const useMessage = () => {
setIsEmbedding,
isEmbedding,
speechToTextLanguage,
setSpeechToTextLanguage
setSpeechToTextLanguage,
currentURL,
setCurrentURL
} = useStoreMessage()
const abortControllerRef = React.useRef<AbortController | null>(null)
@ -163,8 +165,17 @@ export const useMessage = () => {
const chatWithWebsiteMode = async (message: string) => {
try {
let isAlreadyExistEmbedding: MemoryVectorStore
let embedURL: string, embedHTML: string
if (messages.length === 0) {
const { html, url } = await getHtmlOfCurrentTab()
isAlreadyExistEmbedding = keepTrackOfEmbedding[url]
embedHTML = html
embedURL = url
setCurrentURL(url)
isAlreadyExistEmbedding = keepTrackOfEmbedding[currentURL]
} else {
isAlreadyExistEmbedding = keepTrackOfEmbedding[currentURL]
embedURL = currentURL
}
let newMessage: Message[] = [
...messages,
{
@ -201,7 +212,11 @@ export const useMessage = () => {
if (isAlreadyExistEmbedding) {
vectorstore = isAlreadyExistEmbedding
} else {
vectorstore = await memoryEmbedding(url, html, ollamaEmbedding)
vectorstore = await memoryEmbedding(
embedURL,
embedHTML,
ollamaEmbedding
)
}
const { ragPrompt: systemPrompt, ragQuestionPrompt: questionPrompt } =

View File

@ -37,6 +37,8 @@ type State = {
setIsEmbedding: (isEmbedding: boolean) => void
speechToTextLanguage: string
setSpeechToTextLanguage: (speechToTextLanguage: string) => void
currentURL: string
setCurrentURL: (currentURL: string) => void
}
export const useStoreMessage = create<State>((set) => ({
@ -63,5 +65,7 @@ export const useStoreMessage = create<State>((set) => ({
setIsEmbedding: (isEmbedding) => set({ isEmbedding }),
speechToTextLanguage: "en-US",
setSpeechToTextLanguage: (speechToTextLanguage) =>
set({ speechToTextLanguage })
set({ speechToTextLanguage }),
currentURL: "",
setCurrentURL: (currentURL) => set({ currentURL })
}))