Spaces:
Build error
Build error
| from langchain.chains import RetrievalQA | |
| from langchain_openai import OpenAI | |
| from langchain_chroma import Chroma | |
| def create_chatbot(vector_store): | |
| """ | |
| Creates a chatbot for querying the Chroma vector store. | |
| Args: | |
| vector_store (Chroma): The vector store to use. | |
| Returns: | |
| RetrievalQA: The QA chatbot object. | |
| """ | |
| llm = OpenAI(temperature=0.5) | |
| retriever = vector_store.as_retriever(search_type="mmr", k=5) | |
| qa = RetrievalQA.from_chain_type( | |
| llm=llm, | |
| chain_type="stuff", | |
| retriever=retriever, | |
| return_source_documents=True | |
| ) | |
| return qa | |
| def ask_question(qa, query): | |
| """ | |
| Asks a question to the chatbot and returns the response. | |
| Args: | |
| qa (RetrievalQA): The QA chatbot object. | |
| query (str): The question to ask. | |
| Returns: | |
| str: The answer from the chatbot. | |
| """ | |
| try: | |
| response = qa.invoke({"query": query}) | |
| answer = response.get('result', 'No answer found.') | |
| return f"{answer}\n" | |
| except Exception as e: | |
| return f"Error: {e}" |