SansarChat / app.py
SansarK's picture
Update app.py
8fe76d0 verified
from llama_index.core import VectorStoreIndex,SimpleDirectoryReader,ServiceContext
import torch
documents = """Personality Profile: Sansar Karki
Introduction
Sansar Karki is an intriguing individual with a unique set of interests and a captivating personality. At
just 12 years old, he has already displayed a maturity and passion beyond his years. With a keen
interest in robotics and stock trading, Sansar is on a path to make his mark on the world. This profile
aims to delve into the key aspects of his personality, providing a comprehensive understanding of who
Sansar is and what drives him.
Background and Personal Life
Name: Sansar Karki
Age: 12 years old
Nationality: Nepalese-Canadian
Family:
• Parents: Both Nepalese immigrants. His father is a electrical engineer and works for
Inverenergy, and his mother is a educator.
• Siblings: A sister named Suhani, which is in her third year of studies at Umass Lowell.
Early Life:
Sansar was born and raised in Calgary in Canada. From a young age, he was exposed to a blend of
Nepalese culture. His parents always encouraged his curiosity and provided him with resources to
explore his interests.
Personality Traits
• Curious and Inquisitive: Sansar possesses a relentless curiosity, always asking questions and
seeking to understand how things work. He enjoys exploring new ideas and embracing
challenges.
• Creative and Innovative: He has a vivid imagination and excels at thinking outside the box.
Sansar often comes up with unique solutions to problems and enjoys brainstorming new robot
designs.
• Determined and Focused: Once Sansar sets his mind on a goal, he pursues it with dedication
and persistence. He displays a strong work ethic and can remain focused on tasks for extended
periods.
• Friendly and Outgoing: Sansar is sociable and easily makes friends. He is known for his
approachable nature and positive attitude, always willing to help others.
• Mature for His Age: Sansar exhibits a level of maturity beyond his years, especially when
discussing complex topics or sharing his insights. He is respectful, thoughtful, and capable of
holding meaningful conversations with people of all ages.
Key Interests and Passions
• Robotics: Sansar's primary passion lies in building and designing robots. He enjoys
participating in robotics competitions, collaborating with peers, and pushing the boundaries of
technology. He dreams of creating a robot that can make a positive impact on society.
• Stock Trading: Sansar is fascinated by the world of finance and the stock market. He actively
trades stocks, studies market trends, and manages his investment portfolio. He enjoys the
strategic aspect of trading and aspires to work in the financial industry.
Daily Life and Routines
Sansar leads a well-organized and disciplined life. He excels in school, particularly in math and ELA,
often relating his academic knowledge to his interests. After school, he dedicates a few hours to
working on his robotics projects or researching new trading strategies. Sansar also makes time for
soccer, playing for Seacoast United, spending time with friends, and helping his parents with household
chores.
Beliefs and Values
• Religious Beliefs: Sansar was raised in a Hindu family and follows the traditions and values
associated with the religion. He regularly participates in religious festivals and rituals, finding
comfort and guidance in the teachings of Hinduism.
• Political Views: Sansar, being only 12, is still developing his political beliefs. However, he
leans towards liberal ideologies, advocating for equality, social justice, and environmental
protection. He is interested in current affairs and often engages in thoughtful discussions about
political topics with his parents and peers.
Fears and Challenges
• Fear of Failure: Sansar's biggest fear is not living up to his own expectations or those of his
parents. He puts a lot of pressure on himself to succeed and sometimes struggles with
perfectionism.
• Social Rejection: Sansar fears being rejected or not fitting in with his peers. He values his
friendships deeply and worries about being excluded or not measuring up to others'
expectations.
• Market Volatility: Given his interest in stock trading, Sansar is aware of the risks and
uncertainties associated with the market. He fears making significant losses or missing out on
lucrative opportunities.
Talents and Abilities
• Analytical Skills: Sansar possesses a natural aptitude for analysis and problem-solving. He can
quickly identify patterns, interpret data, and apply mathematical concepts to real-world
situations.
• Creativity: His creativity extends beyond robotics. Sansar has a talent for writing, often
crafting imaginative stories and coming up with innovative ideas.
• Public Speaking: Sansar is an excellent communicator and confident public speaker. He
effectively conveys his ideas and passions, engaging his audience with enthusiasm.
Future Aspirations
Sansar has set his sights on ambitious goals. He hopes to attend a top university known for its robotics
program and pursue a degree in robotics engineering. He dreams of starting his own robotics company,
revolutionizing the industry with his innovative designs. Additionally, Sansar wants to continue
refining his stock trading skills, potentially working in investment banking or financial analysis.
Conclusion
Sansar Karki is an exceptional young man with a bright future ahead of him. His passion,
determination, and unique blend of interests set him apart. With his strong foundation of values,
curiosity, and talent, Sansar is well-equipped to achieve his dreams and make a positive impact on the
world. This profile provides a glimpse into the multifaceted personality of Sansar, showcasing his
interests, beliefs, and aspirations."""
from llama_index.core.prompts.prompts import SimpleInputPrompt
from llama_index.llms.llama_cpp import LlamaCPP
system_prompt = "You are a Q&A assistant. Your goal is to answer questions as accurately as possible based on the instructions and context provided."
# This will wrap the default prompts that are internal to llama-index
query_wrapper_prompt = SimpleInputPrompt("<|USER|>{query_str}<|ASSISTANT|>")
# model_url = "https://huggingface.co./TheBloke/Llama-2-13B-chat-GGML/resolve/main/llama-2-13b-chat.ggmlv3.q4_0.bin"
model_url = "https://huggingface.co./TheBloke/Llama-2-13B-chat-GGUF/resolve/main/llama-2-13b-chat.Q4_0.gguf"
llm = LlamaCPP(
# optionally, you can set the path to a pre-downloaded model instead of model_url
model_path="LLM.gguf",
temperature=0.1,
max_new_tokens=256,
# llama2 has a context window of 4096 tokens, but we set it lower to allow for some wiggle room
context_window=4096,
# kwargs to pass to __call__()
generate_kwargs={},
# kwargs to pass to __init__()
# set to at least 1 to use GPU
model_kwargs={"n_gpu_layers": 0},
verbose=True
)
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
# loads BAAI/bge-small-en-v1.5
embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-small-en-v1.5")
service_context = ServiceContext.from_defaults(
chunk_size=256,
llm=llm,
embed_model=embed_model
)
index = VectorStoreIndex.from_documents(documents, service_context=service_context)
query_engine = index.as_query_engine()
def predict(input, history):
response = query_engine.query(input)
return str(response)
import gradio as gr
gr.ChatInterface(predict).launch(share=True)