Kvikontent commited on
Commit
b3b2bb1
1 Parent(s): 547f2b2

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +79 -0
app.py ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ import pathlib
4
+ import textwrap
5
+
6
+ try:
7
+ import google.generativeai as genai
8
+ except ImportError:
9
+ print("WARNING: google.generativeai not found. Install with `pip install google-generativeai` for AI-powered responses.")
10
+ genai = None
11
+
12
+ from IPython.display import display # Only for development/testing
13
+ from IPython.display import Markdown # Only for development/testing
14
+
15
+
16
+ def to_markdown(text):
17
+ """Converts text to Markdown format with proper indentation.
18
+
19
+ Args:
20
+ text (str): The text to convert.
21
+
22
+ Returns:
23
+ str: The converted Markdown text.
24
+ """
25
+
26
+ text = text.replace('•', ' *')
27
+ return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))
28
+
29
+
30
+ def chat(chat_history):
31
+ """Generates a response based on the chat history.
32
+
33
+ Args:
34
+ chat_history (list): A list containing user messages and AI responses.
35
+
36
+ Returns:
37
+ str: The AI's response to the latest user message.
38
+ """
39
+
40
+ if not genai:
41
+ return "AI responses are currently unavailable. Please install `google-generativeai` for this functionality."
42
+
43
+ user_message = chat_history[-1] # Get the latest user message
44
+ try:
45
+ response = model.generate_content(user_message, stream=True)
46
+ for chunk in response:
47
+ return chunk.text # Return the first generated text chunk
48
+ except Exception as e:
49
+ print(f"Error during generation: {e}")
50
+ return "An error occurred while generating the response. Please try again later."
51
+
52
+
53
+ interface = gr.Interface(
54
+ fn=chat,
55
+ inputs="chat",
56
+ outputs="textbox",
57
+ title="Gradio Chat App",
58
+ description="Chat with an AI assistant (requires `google-generativeai`)",
59
+ catch_exceptions=True, # Catch exceptions and display informative messages
60
+ )
61
+
62
+ interface.launch()
63
+
64
+ # Code below is for development/testing purposes only (not required for Gradio app)
65
+ if __name__ == "__main__":
66
+ if not genai:
67
+ print("WARNING: google.generativeai not found. Install with `pip install google-generativeai` for AI-powered responses.")
68
+
69
+ genai.configure(api_key='AIzaSyCMBk81YmILNTok8hd6tYtJaevp1qbl6I0') # Replace with your actual API key
70
+ model = genai.GenerativeModel('gemini-pro')
71
+
72
+ chat_history = []
73
+ while True:
74
+ user_message = input("You: ")
75
+ chat_history.append(user_message)
76
+ response = chat(chat_history)
77
+ print(f"AI: {response}")
78
+ chat_history.append(response)
79
+ print("-" * 80)