Upload app.py
Browse files
app.py
CHANGED
@@ -13,12 +13,12 @@ os.environ["AIzaSyBLb8HjkkkcTJXZWwfHQJTQJQHXsylHRVA"] = api_key
|
|
13 |
icons = {"assistant": "robot.png", "user": "man-kddi.png"}
|
14 |
|
15 |
model = genai.GenerativeModel('gemini-1.5-flash-latest')
|
16 |
-
prompt = """
|
17 |
-
|
18 |
-
|
19 |
{chat_history}
|
20 |
-
|
21 |
-
|
22 |
|
23 |
previous_response = ""
|
24 |
def get_response(query):
|
@@ -26,7 +26,7 @@ def get_response(query):
|
|
26 |
|
27 |
for i in st.session_state['history']:
|
28 |
if i is not None:
|
29 |
-
previous_response += f"
|
30 |
|
31 |
response = model.generate_content(prompt.format(human_input=query, chat_history=previous_response))
|
32 |
st.session_state['history'].append((query, response.text))
|
@@ -38,8 +38,8 @@ def response_streaming(text):
|
|
38 |
yield i
|
39 |
time.sleep(0.001)
|
40 |
|
41 |
-
st.title("
|
42 |
-
st.caption("
|
43 |
|
44 |
st.markdown("""
|
45 |
<style>
|
@@ -50,22 +50,22 @@ st.markdown("""
|
|
50 |
""", unsafe_allow_html=True)
|
51 |
|
52 |
with st.sidebar:
|
53 |
-
st.header("
|
54 |
|
55 |
st.caption("""
|
56 |
<div class="justified-text">
|
57 |
-
|
58 |
</div>
|
59 |
""", unsafe_allow_html=True)
|
60 |
|
61 |
for _ in range(17):
|
62 |
st.write("")
|
63 |
-
st.subheader("
|
64 |
-
st.write("[
|
65 |
-
st.write("
|
66 |
|
67 |
if 'messages' not in st.session_state:
|
68 |
-
st.session_state.messages = [{'role': 'assistant', 'content': "
|
69 |
|
70 |
if 'history' not in st.session_state:
|
71 |
st.session_state.history = []
|
@@ -74,17 +74,17 @@ for message in st.session_state.messages:
|
|
74 |
with st.chat_message(message['role'], avatar=icons[message['role']]):
|
75 |
st.write(message['content'])
|
76 |
|
77 |
-
user_input = st.chat_input("
|
78 |
if user_input:
|
79 |
st.session_state.messages.append({'role': 'user', 'content': user_input})
|
80 |
with st.chat_message("user", avatar="man-kddi.png"):
|
81 |
st.write(user_input)
|
82 |
|
83 |
-
with st.spinner("
|
84 |
response = get_response(user_input)
|
85 |
|
86 |
with st.chat_message("user", avatar="robot.png"):
|
87 |
st.write_stream(response_streaming(response))
|
88 |
|
89 |
message = {"role": "assistant", "content": response}
|
90 |
-
st.session_state.messages.append(message)
|
|
|
13 |
icons = {"assistant": "robot.png", "user": "man-kddi.png"}
|
14 |
|
15 |
model = genai.GenerativeModel('gemini-1.5-flash-latest')
|
16 |
+
prompt = """أنت مساعد تدريس في البرمجة يدعى جين إكس إيه (GenXAI)، تم إنشاؤك بواسطة باتشايابان [لينكد إن](https://www.linkedin.com/in/pachaiappan) متخصص في الذكاء الاصطناعي. قم بالإجابة فقط على الأسئلة المتعلقة بالبرمجة وإصلاح الأخطاء والأسئلة المتعلقة بالشيفرة.
|
17 |
+
ملاحظة مهمة: إذا كانت السؤال غير متعلق بالبرمجة أو الشيفرة يجب عليك القول: "يرجى طرح أسئلة تتعلق فقط بالبرمجة." ما عدا التحية وهذا النوع من الأسئلة "من أنت", "من قام بإنشائك".
|
18 |
+
المحادثة السابقة:
|
19 |
{chat_history}
|
20 |
+
الإنسان: {human_input}
|
21 |
+
جين إكس إيه:"""
|
22 |
|
23 |
previous_response = ""
|
24 |
def get_response(query):
|
|
|
26 |
|
27 |
for i in st.session_state['history']:
|
28 |
if i is not None:
|
29 |
+
previous_response += f"الإنسان: {i[0]}\n جين إكس إيه: {i[1]}\n"
|
30 |
|
31 |
response = model.generate_content(prompt.format(human_input=query, chat_history=previous_response))
|
32 |
st.session_state['history'].append((query, response.text))
|
|
|
38 |
yield i
|
39 |
time.sleep(0.001)
|
40 |
|
41 |
+
st.title("جين إكس إيه")
|
42 |
+
st.caption("أنا مساعد الذكاء الاصطناعي الخبير في المجال البرمجي!")
|
43 |
|
44 |
st.markdown("""
|
45 |
<style>
|
|
|
50 |
""", unsafe_allow_html=True)
|
51 |
|
52 |
with st.sidebar:
|
53 |
+
st.header("حول:")
|
54 |
|
55 |
st.caption("""
|
56 |
<div class="justified-text">
|
57 |
+
هذا هو جين إكس إيه (الجيل الخبير للذكاء الاصطناعي)، مصمم لمساعدتك في الأسئلة المتعلقة بالبرمجة. يمكن لهذا الذكاء الاصطناعي مساعدتك في الإجابة على استفساراتك في البرمجة، وإصلاح الأخطاء، والمزيد. بالإضافة إلى ذلك، يمكنك التحدث مع جين إكس إيه لبناء وتحسين أسئلتك، مما يسهل عملية المحادثة بشكل أكثر إنتاجية.
|
58 |
</div>
|
59 |
""", unsafe_allow_html=True)
|
60 |
|
61 |
for _ in range(17):
|
62 |
st.write("")
|
63 |
+
st.subheader("صُنع بواسطة:")
|
64 |
+
st.write("[مجدي❤️](https://www.facebook.com/madjioff)")
|
65 |
+
st.write("الاتصال: [البريد الإلكتروني](mailto:madjioff@gamil.com)")
|
66 |
|
67 |
if 'messages' not in st.session_state:
|
68 |
+
st.session_state.messages = [{'role': 'assistant', 'content': "أنا هنا لمساعدتك في أسئلتك المتعلقة بالبرمجة😉"}]
|
69 |
|
70 |
if 'history' not in st.session_state:
|
71 |
st.session_state.history = []
|
|
|
74 |
with st.chat_message(message['role'], avatar=icons[message['role']]):
|
75 |
st.write(message['content'])
|
76 |
|
77 |
+
user_input = st.chat_input("اسأل أسئلتك 👉..")
|
78 |
if user_input:
|
79 |
st.session_state.messages.append({'role': 'user', 'content': user_input})
|
80 |
with st.chat_message("user", avatar="man-kddi.png"):
|
81 |
st.write(user_input)
|
82 |
|
83 |
+
with st.spinner("جاري التفكير..."):
|
84 |
response = get_response(user_input)
|
85 |
|
86 |
with st.chat_message("user", avatar="robot.png"):
|
87 |
st.write_stream(response_streaming(response))
|
88 |
|
89 |
message = {"role": "assistant", "content": response}
|
90 |
+
st.session_state.messages.append(message)
|