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

View File

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