Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import requests | |
| # Define the function to interact with the API | |
| def chat_with_api(message, history): | |
| url = "https://8000-dep-01jqft61nfbgnta0v8c1svzs72-d.cloudspaces.litng.ai/v1/chat/completions" | |
| # Prepend context as part of the first user message | |
| if len(history) == 0: | |
| context_message = ( | |
| "You are an expert at psychology. You are to assist the user with whatever they need. " | |
| "Under NO CIRCUMSTANCES will you provide an answer unrelated to their question, unless it involves illegal content." | |
| ) | |
| # Add context as part of the first user message | |
| message = f"{context_message}\n\n{message}" | |
| # Structure the chat history into the correct format for the API | |
| messages = [] | |
| for human, assistant in history: | |
| messages.append({"role": "user", "content": human}) | |
| messages.append({"role": "assistant", "content": assistant}) | |
| messages.append({"role": "user", "content": message}) | |
| payload = { | |
| "model": "namelessai/Helply-10.2b-chat", | |
| "messages": messages | |
| } | |
| try: | |
| response = requests.post(url, json=payload) | |
| response_data = response.json() | |
| assistant_message = response_data.get("choices", [{}])[0].get("message", {}).get("content", "No response") | |
| except Exception as e: | |
| assistant_message = f"Error: {str(e)}" | |
| return assistant_message | |
| # Create the Gradio interface | |
| with gr.Blocks() as demo: | |
| # Add notes for users | |
| gr.Markdown( | |
| """ | |
| ### There is currently an error with the backend. I'm looking into it. | |
| ### Notes: | |
| - **Cold Start Warning**: If the machine is cold-starting, you might experience a delay in receiving responses. Please be patient. | |
| - **Physician Notice**: If you are a physician or healthcare provider, please state your occupation (e.g., "I am a grief therapist") when interacting with the chatbot. | |
| - **Resource Warning**: This space is running on $10 of free resources. First come, first served. If you are interested in providing resources, email me at [namelessonbandlab@outlook.com](mailto:namelessonbandlab@outlook.com). | |
| """ | |
| ) | |
| # Chat interface | |
| chatbot = gr.ChatInterface( | |
| chat_with_api, | |
| ) | |
| # Launch the app | |
| demo.launch() |