Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import openai | |
| from langchain.embeddings import HuggingFaceEmbeddings | |
| from langchain_community.vectorstores import Chroma | |
| # Set API Key | |
| openai.api_key = "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" | |
| # Load embedding model | |
| model_name = "intfloat/e5-small" | |
| embedding_model = HuggingFaceEmbeddings(model_name=model_name) | |
| # Load ChromaDB | |
| persist_directory = "./docs/chroma/" | |
| vectordb = Chroma(persist_directory=persist_directory, embedding_function=embedding_model) | |
| # Define RAG function | |
| def rag_pipeline(question): | |
| """Retrieve relevant documents and generate AI response""" | |
| retrieved_docs = vectordb.similarity_search(question, k=5) | |
| context = " ".join([doc.page_content for doc in retrieved_docs]) | |
| # Generate AI response | |
| full_prompt = f"Context: {context}\\n\\nQuestion: {question}" | |
| import openai | |
| import openai | |
| def generate_response(question, context): | |
| """Generate AI response using OpenAI GPT-4""" | |
| full_prompt = f"Context: {context}\n\nQuestion: {question}" | |
| response = openai.ChatCompletion.create( | |
| model="gpt-4", | |
| messages=[ | |
| {"role": "system", "content": "You are an AI assistant helping with question answering."}, | |
| {"role": "user", "content": full_prompt} | |
| ], | |
| max_tokens=300, | |
| temperature=0.7 | |
| ) | |
| return response['choices'][0]['message']['content'].strip() | |
| # Gradio UI | |
| iface = gr.Interface( | |
| fn=rag_pipeline, | |
| inputs=gr.Textbox(label="Enter your question"), | |
| outputs=[gr.Textbox(label="Generated Response"), gr.Textbox(label="Retrieved Documents")], | |
| title="RAG-Based Question Answering System", | |
| description="Enter a question and retrieve relevant documents with AI-generated response." | |
| ) | |
| # Launch Gradio app | |
| if __name__ == "__main__": | |
| iface.launch() | |