Spaces:
Build error
Build error
| import os | |
| import gradio as gr | |
| from openai import OpenAI | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| class Chatbot: | |
| def __init__(self): | |
| self.api_key = os.getenv("OPENROUTER_API_KEY") | |
| if not self.api_key: | |
| raise ValueError( | |
| "OpenRouter API key tidak ditemukan. " + | |
| "Harap set di Hugging Face Secrets atau file .env" | |
| ) | |
| self.client = OpenAI( | |
| base_url="https://openrouter.ai/api/v1", | |
| api_key=self.api_key, | |
| ) | |
| self.model = "deepseek/deepseek-r1-zero:free" | |
| self.system_prompt = "Anda adalah asisten AI yang membantu dan ramah." | |
| def generate_response(self, message, history): | |
| try: | |
| messages = [{"role": "system", "content": self.system_prompt}] | |
| for i, h in enumerate(history): | |
| messages.append({ | |
| "role": "user" if i % 2 == 0 else "assistant", | |
| "content": h | |
| }) | |
| messages.append({"role": "user", "content": message}) | |
| completion = self.client.chat.completions.create( | |
| extra_headers={ | |
| "HTTP-Referer": "https://huggingface.co/spaces", | |
| "X-Title": "DeepSeek Chatbot", | |
| }, | |
| model=self.model, | |
| messages=messages, | |
| temperature=0.7, | |
| max_tokens=500 | |
| ) | |
| return completion.choices[0].message.content | |
| except Exception as e: | |
| print(f"Error: {str(e)}") | |
| return f"Maaf, terjadi kesalahan: {str(e)}" | |
| try: | |
| chatbot = Chatbot() | |
| except ValueError as e: | |
| print(str(e)) | |
| chatbot = None | |
| def respond(message, history): | |
| if not chatbot: | |
| return "Error: Inisialisasi chatbot gagal. Periksa konfigurasi API key." | |
| return chatbot.generate_response(message, history) | |
| examples = [ | |
| "Apa itu machine learning?", | |
| "Buatkan cerpen tentang robot", | |
| "Jelaskan hukum termodinamika pertama", | |
| "Apa perbedaan AI dan manusia?" | |
| ] | |
| with gr.Blocks(theme=gr.themes.Soft()) as demo: | |
| gr.Markdown(""" | |
| # 🤖 DeepSeek R1 Zero Chatbot | |
| Chatbot cerdas menggunakan model DeepSeek R1 Zero melalui OpenRouter API | |
| """) | |
| with gr.Row(): | |
| with gr.Column(): | |
| # Perbaikan: Menghapus parameter yang tidak didukung | |
| gr.ChatInterface( | |
| respond, | |
| examples=examples | |
| ) | |
| with gr.Column(): | |
| gr.Markdown(""" | |
| ### Tentang Chatbot Ini | |
| - **Model**: DeepSeek R1 Zero | |
| - **Platform**: OpenRouter API | |
| - **Framework**: Gradio | |
| - **Host**: Hugging Face Spaces | |
| """) | |
| if __name__ == "__main__": | |
| demo.launch() |