Spaces:
Sleeping
Sleeping
from fastapi import APIRouter | |
from app.utils.utils import extract_urls | |
from app.utils import logger | |
from app.vector_store import initialize_chroma_db | |
from app.utils.utils import ( | |
generate_uuid | |
) | |
from langchain_community.vectorstores import Chroma | |
router = APIRouter() | |
async def add_document(conversation): | |
db = initialize_chroma_db() | |
all_sources = conversation.sources | |
documents = conversation.documents | |
message = conversation.query | |
sources = extract_urls(all_sources) | |
src_list = '\n'.join(sources) | |
current_id = generate_uuid() | |
db.add( | |
ids=[current_id], | |
documents=documents, | |
metadatas=[ | |
{ | |
"human_message":message, | |
"sources": 'Internal Knowledge Base From: \n\n' + src_list | |
} | |
] | |
) | |
return {"message": "Document added successfully", "ids": current_id} |