Merge pull request #827 from FlowiseAI/feature/Vectara

update langchain version for vectara source
This commit is contained in:
Henry Heng 2023-08-25 13:07:17 +01:00 committed by GitHub
commit 1d2357dab9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 3 deletions

View File

@ -26,9 +26,9 @@
"@qdrant/js-client-rest": "^1.2.2", "@qdrant/js-client-rest": "^1.2.2",
"@supabase/supabase-js": "^2.29.0", "@supabase/supabase-js": "^2.29.0",
"@types/js-yaml": "^4.0.5", "@types/js-yaml": "^4.0.5",
"apify-client": "^2.7.1",
"@types/jsdom": "^21.1.1", "@types/jsdom": "^21.1.1",
"@zilliz/milvus2-sdk-node": "^2.2.24", "@zilliz/milvus2-sdk-node": "^2.2.24",
"apify-client": "^2.7.1",
"axios": "^0.27.2", "axios": "^0.27.2",
"cheerio": "^1.0.0-rc.12", "cheerio": "^1.0.0-rc.12",
"chromadb": "^1.5.3", "chromadb": "^1.5.3",
@ -41,7 +41,7 @@
"google-auth-library": "^9.0.0", "google-auth-library": "^9.0.0",
"graphql": "^16.6.0", "graphql": "^16.6.0",
"html-to-text": "^9.0.5", "html-to-text": "^9.0.5",
"langchain": "^0.0.128", "langchain": "^0.0.133",
"linkifyjs": "^4.1.1", "linkifyjs": "^4.1.1",
"mammoth": "^1.5.1", "mammoth": "^1.5.1",
"moment": "^2.29.3", "moment": "^2.29.3",

View File

@ -64,9 +64,27 @@ export const ChatMessage = ({ open, chatflowid, isDialog }) => {
window.open(data, '_blank') window.open(data, '_blank')
} }
const handleVectaraMetadata = (message) => {
if (message.sourceDocuments && message.sourceDocuments[0].metadata.length)
message.sourceDocuments = message.sourceDocuments.map((docs) => {
const newMetadata = docs.metadata.reduce((newMetadata, metadata) => {
newMetadata[metadata.name] = metadata.value
return newMetadata
}, {})
return {
pageContent: docs.pageContent,
metadata: newMetadata
}
})
return message
}
const removeDuplicateURL = (message) => { const removeDuplicateURL = (message) => {
const visitedURLs = [] const visitedURLs = []
const newSourceDocuments = [] const newSourceDocuments = []
message = handleVectaraMetadata(message)
message.sourceDocuments.forEach((source) => { message.sourceDocuments.forEach((source) => {
if (isValidURL(source.metadata.source) && !visitedURLs.includes(source.metadata.source)) { if (isValidURL(source.metadata.source) && !visitedURLs.includes(source.metadata.source)) {
visitedURLs.push(source.metadata.source) visitedURLs.push(source.metadata.source)
@ -154,7 +172,10 @@ export const ChatMessage = ({ open, chatflowid, isDialog }) => {
const response = await predictionApi.sendMessageAndGetPrediction(chatflowid, params) const response = await predictionApi.sendMessageAndGetPrediction(chatflowid, params)
if (response.data) { if (response.data) {
const data = response.data let data = response.data
data = handleVectaraMetadata(data)
if (typeof data === 'object' && data.text && data.sourceDocuments) { if (typeof data === 'object' && data.text && data.sourceDocuments) {
if (!isChatFlowAvailableToStream) { if (!isChatFlowAvailableToStream) {
setMessages((prevMessages) => [ setMessages((prevMessages) => [