import gradio as gr from gradio_client import Client, handle_file import os # Define your Hugging Face token (make sure to set it as an environment variable) HF_TOKEN = os.getenv("HF_TOKEN") # Replace with your actual token if not using an environment variable # Initialize the Gradio Client for the specified API #client = Client("on1onmangoes/CNIHUB10724v10", hf_token=HF_TOKEN) client = Client("on1onmangoes/CNIHUB101324v10", hf_token=HF_TOKEN) # on1onmangoes/CNIHUB101324v10 # Here's how you can fix it: # Update the conversation history within the function. # Return the updated history along with any other required outputs. @spaces.GPU() def stream_chat_with_rag( message: str, history: list, client_name: str, system_prompt: str, num_retrieved_docs: int = 10, num_docs_final: int = 9, temperature: float = 0, max_new_tokens: int = 1024, top_p: float = 1.0, top_k: int = 20, penalty: float = 1.2, ): print(f"Message: {message}") print(f"History: {history}") # OG CODE DELETE # # Add the knowledge Index or VectorStore, RERANKER, # knowledge_index = vectorstore # reranker = RERANKER # Build the conversation prompt including system prompt and history conversation = system_prompt + "\n\n" + "For Client:" + client_name for user_input, assistant_response in history: conversation += f"User: {user_input}\nAssistant: {assistant_response}\n" conversation += f"User: {message}\nAssistant:" # Optionally, if your `answer_with_rag` function or LLM supports context, you can include the conversation # Since you prefer not to modify `answer_with_rag`, we'll proceed with the message as is # OG CODE DELETE # # Call `answer_with_rag` to get the final answer # answer, relevant_docs = answer_with_rag( # question=message, # knowledge_index=knowledge_index, # reranker=reranker, # num_retrieved_docs=num_retrieved_docs, # num_docs_final=num_docs_final, # client_name=client_name, # ) answer, relevant_docs = client.predict(question=question, api_name="/answer_with_rag") # debug 092624 print("The Answer in stream_chat_with_rag:") print(answer) print("The relevant_doc:") print(relevant_docs) # Update the conversation history history.append((message, answer)) return answer # Function to handle PDF processing API call def process_pdf(pdf_file): return client.predict( pdf_file=handle_file(pdf_file), client_name="rosariarossi", # Hardcoded client name api_name="/process_pdf2" )[1] # Return only the result string # Function to handle search API call def search_api(query): return client.predict(query=query, api_name="/search_with_confidence") # Function to handle RAG API call def rag_api(question): return client.predict(question=question, api_name="/answer_with_rag") # CSS for custom styling CSS = """ # chat-container { height: 100vh; } """ # Title for the application TITLE = "