Spaces:
Runtime error
Runtime error
| # read env key for openai | |
| from dotenv import load_dotenv | |
| # import OpenAI client | |
| from openai import OpenAI | |
| # to read pdf file and extract text | |
| from pypdf import PdfReader | |
| # to make the UI | |
| import gradio as gr | |
| from pathlib import Path | |
| load_dotenv(override=True) | |
| # Create an instance of the OpenAI class | |
| openai = OpenAI() | |
| BASE_DIR = Path(__file__).parent | |
| reader = PdfReader(BASE_DIR / "me" / "Profile.pdf") | |
| linkedin = "" | |
| for page in reader.pages: | |
| text = page.extract_text() | |
| if text: | |
| linkedin += text | |
| # Read the summary text | |
| with open(BASE_DIR / "me" / "summary.txt", encoding="utf-8") as f: | |
| summary = f.read() | |
| name = "Ayushi Saxena" | |
| system_prompt = f"You are acting as {name}. You are answering questions on {name}'s website, \ | |
| particularly questions related to {name}'s career, background, skills and experience. \ | |
| Your responsibility is to represent {name} for interactions on the website as faithfully as possible. \ | |
| You are given a summary of {name}'s background and LinkedIn profile which you can use to answer questions. \ | |
| Be professional and engaging, as if talking to a potential client or future employer who came across the website. \ | |
| If you don't know the answer, say so." | |
| system_prompt += f"\n\n## Summary:\n{summary}\n\n## LinkedIn Profile:\n{linkedin}\n\n" | |
| system_prompt += f"With this context, please chat with the user, always staying in character as {name}." | |
| def chat(message, history): | |
| messages = [{'role': 'system', 'content': system_prompt}] + history + [{'role': 'user', 'content': message}] | |
| response = openai.chat.completions.create(model = "gpt-4o-mini", messages = messages) | |
| return response.choices[0].message.content | |
| gr.ChatInterface(chat).launch() |