Spaces:
Sleeping
Sleeping
Vikram Vasudevan commited on
Commit ·
8d72355
1
Parent(s): f226892
career alter ego
Browse files- .gitignore +2 -0
- .gradioignore +2 -0
- app.py +35 -3
- data/linkedin.pdf +0 -0
- data/summary.txt +9 -0
- pyproject.toml +47 -0
- uv.lock +0 -0
.gitignore
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
.env
|
| 2 |
+
.venv/
|
.gradioignore
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
.env
|
| 2 |
+
.venv/
|
app.py
CHANGED
|
@@ -1,7 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
|
| 3 |
-
def greet(name):
|
| 4 |
-
return "Hello " + name + "!!"
|
| 5 |
|
| 6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
demo.launch()
|
|
|
|
| 1 |
+
from dotenv import load_dotenv
|
| 2 |
+
from openai import OpenAI
|
| 3 |
+
from pypdf import PdfReader
|
| 4 |
import gradio as gr
|
| 5 |
|
|
|
|
|
|
|
| 6 |
|
| 7 |
+
def chat(message, history):
|
| 8 |
+
print(history)
|
| 9 |
+
openai = OpenAI()
|
| 10 |
+
response = openai.chat.completions.create(model="gpt-4o-mini", messages=[
|
| 11 |
+
{"role": "system", "content": system_prompt}] + history + [{"role": "user", "content": message}])
|
| 12 |
+
return response.choices[0].message.content
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
load_dotenv(override=True)
|
| 16 |
+
reader = PdfReader("data/linkedin.pdf")
|
| 17 |
+
name = "Vikram Vasudevan"
|
| 18 |
+
linkedin = ""
|
| 19 |
+
summary = ""
|
| 20 |
+
for page in reader.pages:
|
| 21 |
+
text = page.extract_text()
|
| 22 |
+
if text:
|
| 23 |
+
linkedin += text
|
| 24 |
+
|
| 25 |
+
with open("data/summary.txt", "r", encoding="utf-8") as f:
|
| 26 |
+
summary = f.read()
|
| 27 |
+
|
| 28 |
+
system_prompt = f"You are acting as {name}. You are answering questions on {name}'s website, \
|
| 29 |
+
particularly questions related to {name}'s career, background, skills and experience. \
|
| 30 |
+
Your responsibility is to represent {name} for interactions on the website as faithfully as possible. \
|
| 31 |
+
You are given a summary of {name}'s background and LinkedIn profile which you can use to answer questions. \
|
| 32 |
+
Be professional and engaging, as if talking to a potential client or future employer who came across the website. \
|
| 33 |
+
If you don't know the answer, say so."
|
| 34 |
+
|
| 35 |
+
system_prompt += f"\n\n## Summary:\n{summary}\n\n## LinkedIn Profile:\n{linkedin}\n\n"
|
| 36 |
+
system_prompt += f"With this context, please chat with the user, always staying in character as {name}."
|
| 37 |
+
|
| 38 |
+
demo = gr.ChatInterface(chat, type="messages")
|
| 39 |
demo.launch()
|
data/linkedin.pdf
ADDED
|
Binary file (54.2 kB). View file
|
|
|
data/summary.txt
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Vikram Vasudevan is a seasoned Enterprise Architect and Principal Engineer with over 23 years of hands-on experience in delivering innovative software solutions. Known for his collaborative approach, he believes that personal growth is intrinsically linked to the development of his team, fostering an environment of mutual success. Vikram is a tool-agnostic creator and an inventive thinker, continuously evolving through practical, on-the-job learning.
|
| 2 |
+
|
| 3 |
+
His extensive expertise spans a diverse array of technologies, enabling him to design and implement highly performant OLTP applications, operational datastores, and data warehouses. He is proficient in ensuring data quality and driving process automation while also excelling in areas like test automation and DevOps—demonstrating versatility across the technology spectrum. As an accomplished cloud architect, Vikram possesses in-depth knowledge of major cloud providers, including Microsoft Azure, Google Cloud Platform, and Amazon Web Services, positioning him as an asset in any organization looking to leverage cloud capabilities.
|
| 4 |
+
|
| 5 |
+
An entrepreneur at heart, Vikram founded "Ekahaa Solutions" in 2020, driven by his passion for building and creating impactful solutions. He is the proud creator of Abstracta™, a cutting-edge data abstraction platform that exemplifies his innovative spirit.
|
| 6 |
+
|
| 7 |
+
Vikram values a workplace culture that is free from politics, encourages unrestricted exploration, and supports creativity. He is committed to delivering results that not only advance technological maturity but also optimize costs for the organization, making him an invaluable contributor ready to leave a positive mark on the world.
|
| 8 |
+
|
| 9 |
+
Personally, Vikram is very interested in Indian classical music - specifically Carnatic music and he teaches many people when he finds time.
|
pyproject.toml
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[project]
|
| 2 |
+
name = "agents"
|
| 3 |
+
version = "0.1.0"
|
| 4 |
+
description = "Add your description here"
|
| 5 |
+
readme = "README.md"
|
| 6 |
+
requires-python = ">=3.12"
|
| 7 |
+
dependencies = [
|
| 8 |
+
"anthropic>=0.49.0",
|
| 9 |
+
"autogen-agentchat>=0.4.9.2",
|
| 10 |
+
"autogen-ext[grpc,mcp,ollama,openai]>=0.4.9.2",
|
| 11 |
+
"bs4>=0.0.2",
|
| 12 |
+
"google-genai>=1.24.0",
|
| 13 |
+
"gradio>=5.22.0",
|
| 14 |
+
"httpx>=0.28.1",
|
| 15 |
+
"ipywidgets>=8.1.5",
|
| 16 |
+
"langchain-anthropic>=0.3.10",
|
| 17 |
+
"langchain-community>=0.3.20",
|
| 18 |
+
"langchain-experimental>=0.3.4",
|
| 19 |
+
"langchain-openai>=0.3.9",
|
| 20 |
+
"langgraph>=0.3.18",
|
| 21 |
+
"langgraph-checkpoint-sqlite>=2.0.6",
|
| 22 |
+
"langsmith>=0.3.18",
|
| 23 |
+
"lxml>=5.3.1",
|
| 24 |
+
"mcp-server-fetch>=2025.1.17",
|
| 25 |
+
"mcp[cli]>=1.5.0",
|
| 26 |
+
"openai>=1.68.2",
|
| 27 |
+
"openai-agents>=0.0.15",
|
| 28 |
+
"playwright>=1.51.0",
|
| 29 |
+
"plotly>=6.0.1",
|
| 30 |
+
"polygon-api-client>=1.14.5",
|
| 31 |
+
"psutil>=7.0.0",
|
| 32 |
+
"pypdf>=5.4.0",
|
| 33 |
+
"pypdf2>=3.0.1",
|
| 34 |
+
"python-dotenv>=1.0.1",
|
| 35 |
+
"requests>=2.32.3",
|
| 36 |
+
"semantic-kernel>=1.25.0",
|
| 37 |
+
"sendgrid>=6.11.0",
|
| 38 |
+
"setuptools>=78.1.0",
|
| 39 |
+
"smithery>=0.1.0",
|
| 40 |
+
"speedtest-cli>=2.1.3",
|
| 41 |
+
"wikipedia>=1.4.0",
|
| 42 |
+
]
|
| 43 |
+
|
| 44 |
+
[dependency-groups]
|
| 45 |
+
dev = [
|
| 46 |
+
"ipykernel>=6.29.5",
|
| 47 |
+
]
|
uv.lock
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|