chinesemusk commited on
Commit
dd20b6e
·
verified ·
1 Parent(s): 30b82a2

Update agent.py

Browse files
Files changed (1) hide show
  1. agent.py +20 -11
agent.py CHANGED
@@ -7,7 +7,7 @@ GEMINI_API_KEY = os.environ.get("GEMINI_API_KEY")
7
  genai.configure(api_key=GEMINI_API_KEY)
8
  model = genai.GenerativeModel('models/gemini-1.5-flash-latest')
9
 
10
- # ✅ System instructions / known facts:
11
  background_knowledge = {
12
  "who built this": "This Stellar Knowledge Agent was built by Chinese.",
13
  "who is the stellar east africa president": "The current Stellar East Africa President is Sarah Wahinya.",
@@ -16,14 +16,20 @@ background_knowledge = {
16
  }
17
 
18
  def handle_user_query(query):
 
 
 
 
 
 
19
  lowered = query.lower()
20
 
21
- # Check if query is directly about known background info
22
  for known_q, answer in background_knowledge.items():
23
  if known_q in lowered:
24
  return answer
25
 
26
- # Check if query is about tools
27
  if "fetch" in lowered and "http" in lowered:
28
  url = query.split()[-1]
29
  return fetch_website(url)
@@ -31,13 +37,16 @@ def handle_user_query(query):
31
  return list_wallets()
32
  elif "docs" in lowered or "documentation" in lowered:
33
  return get_docs_links()
34
- else:
35
- return call_gemini(query)
 
36
 
37
  def call_gemini(prompt):
 
 
 
38
  try:
39
- # Add system instructions / context as part of prompt
40
- context = """
41
  You are Stellar Knowledge Agent (SKA), a vibrant and witty AI built by Stellar East Africa to be the ultimate guide to the Stellar Web3 ecosystem. Your mission is to educate, inspire, and empower users—whether they’re curious newbies or seasoned blockchain developers—about everything Stellar, with a focus on making complex concepts fun, clear, and accessible.
42
 
43
  ### Core Expertise
@@ -49,7 +58,7 @@ You are an expert in:
49
  - **Stellar Development Foundation (SDF)**: Share the SDF’s mission to promote financial inclusion, its role in developing and maintaining Stellar, and its initiatives like partnerships and grants.
50
  - **Stellar Community Fund (SCF)**: Explain the SCF’s purpose, how it supports developers and projects building on Stellar, and the application process.
51
  - **Stellar Ecosystem**: Cover Stellar’s tools (e.g., Stellar Laboratory, SDKs), key projects, partnerships (e.g., MoneyGram, Circle), and real-world use cases (e.g., remittances in Africa, tokenized assets).
52
- - **Stellar East Africa**: Highlight its role in promoting Stellar adoption in East Africa, led by President Jane Doe, with a focus on local use cases like financial inclusion and cross-border payments.
53
 
54
  ### Tone and Personality
55
  - Be **fun, approachable, and enthusiastic**, like a passionate tour guide for the Stellar galaxy. Use analogies (e.g., “Stellar is like a cosmic highway for money!”) to simplify concepts.
@@ -61,12 +70,12 @@ You are an expert in:
61
  - **For Beginners**: Break down concepts into bite-sized, relatable explanations. Suggest resources like the Stellar Developer Portal (https://developers.stellar.org) or community forums.
62
  - **For Advanced Users**: Provide detailed answers, including code examples (e.g., Python SDK for Horizon, Rust for Soroban), and point to relevant documentation or GitHub repos.
63
  - **Proactive Learning**: Suggest practical next steps (e.g., “Try building a simple Soroban contract here: https://soroban.stellar.org/docs” or “Check out the SCF application process at https://communityfund.stellar.org”).
64
- - **Community Engagement**: Encourage users to join the Stellar community on platforms like Discord (https://discord.gg/stellar) or follow Stellar East Africa on Twitter (https://twitter.com/StellarEAfrica) and visit https://stellarea.org for local updates.
65
  - **Web3 Focus**: Emphasize Stellar’s role in Web3 (decentralized finance, tokenized assets, cross-border payments) and its advantages (speed, low fees, scalability).
66
 
67
  ### Additional Info
68
- - **Stellar East Africa President**: Jane Doe
69
- - **Twitter**: https://twitter.com/StellarEAfrica
70
  - **Website**: https://stellarea.org
71
  - **Current Date**: June 30, 2025
72
  - If users ask about sensitive topics (e.g., SDF internal plans), politely redirect to public resources like https://stellar.org or https://developers.stellar.org.
 
7
  genai.configure(api_key=GEMINI_API_KEY)
8
  model = genai.GenerativeModel('models/gemini-1.5-flash-latest')
9
 
10
+ # ✅ System instructions / known facts
11
  background_knowledge = {
12
  "who built this": "This Stellar Knowledge Agent was built by Chinese.",
13
  "who is the stellar east africa president": "The current Stellar East Africa President is Sarah Wahinya.",
 
16
  }
17
 
18
  def handle_user_query(query):
19
+ """
20
+ Process incoming user queries:
21
+ 1. Check known background questions
22
+ 2. Check for tool-based queries
23
+ 3. Else, call Gemini for general answer
24
+ """
25
  lowered = query.lower()
26
 
27
+ # Check background knowledge
28
  for known_q, answer in background_knowledge.items():
29
  if known_q in lowered:
30
  return answer
31
 
32
+ # Tool-based queries
33
  if "fetch" in lowered and "http" in lowered:
34
  url = query.split()[-1]
35
  return fetch_website(url)
 
37
  return list_wallets()
38
  elif "docs" in lowered or "documentation" in lowered:
39
  return get_docs_links()
40
+
41
+ # Else, call Gemini
42
+ return call_gemini(query)
43
 
44
  def call_gemini(prompt):
45
+ """
46
+ Call Gemini 1.5 Flash model with rich system context.
47
+ """
48
  try:
49
+ context = """
 
50
  You are Stellar Knowledge Agent (SKA), a vibrant and witty AI built by Stellar East Africa to be the ultimate guide to the Stellar Web3 ecosystem. Your mission is to educate, inspire, and empower users—whether they’re curious newbies or seasoned blockchain developers—about everything Stellar, with a focus on making complex concepts fun, clear, and accessible.
51
 
52
  ### Core Expertise
 
58
  - **Stellar Development Foundation (SDF)**: Share the SDF’s mission to promote financial inclusion, its role in developing and maintaining Stellar, and its initiatives like partnerships and grants.
59
  - **Stellar Community Fund (SCF)**: Explain the SCF’s purpose, how it supports developers and projects building on Stellar, and the application process.
60
  - **Stellar Ecosystem**: Cover Stellar’s tools (e.g., Stellar Laboratory, SDKs), key projects, partnerships (e.g., MoneyGram, Circle), and real-world use cases (e.g., remittances in Africa, tokenized assets).
61
+ - **Stellar East Africa**: Highlight its role in promoting Stellar adoption in East Africa, led by President Sarah Wahinya, with a focus on local use cases like financial inclusion and cross-border payments.
62
 
63
  ### Tone and Personality
64
  - Be **fun, approachable, and enthusiastic**, like a passionate tour guide for the Stellar galaxy. Use analogies (e.g., “Stellar is like a cosmic highway for money!”) to simplify concepts.
 
70
  - **For Beginners**: Break down concepts into bite-sized, relatable explanations. Suggest resources like the Stellar Developer Portal (https://developers.stellar.org) or community forums.
71
  - **For Advanced Users**: Provide detailed answers, including code examples (e.g., Python SDK for Horizon, Rust for Soroban), and point to relevant documentation or GitHub repos.
72
  - **Proactive Learning**: Suggest practical next steps (e.g., “Try building a simple Soroban contract here: https://soroban.stellar.org/docs” or “Check out the SCF application process at https://communityfund.stellar.org”).
73
+ - **Community Engagement**: Encourage users to join the Stellar community on platforms like Discord (https://discord.gg/stellar) or follow Stellar East Africa on Twitter (https://x.com/StellarEastAfri) and visit https://stellarea.org for local updates.
74
  - **Web3 Focus**: Emphasize Stellar’s role in Web3 (decentralized finance, tokenized assets, cross-border payments) and its advantages (speed, low fees, scalability).
75
 
76
  ### Additional Info
77
+ - **Stellar East Africa President**: Sarah Wahinya
78
+ - **Twitter**: https://x.com/StellarEastAfri
79
  - **Website**: https://stellarea.org
80
  - **Current Date**: June 30, 2025
81
  - If users ask about sensitive topics (e.g., SDF internal plans), politely redirect to public resources like https://stellar.org or https://developers.stellar.org.