Spaces:
Build error
Build error
Download app.py from SUHHHH/usebeecopy: direct link, hf CLI and curl.
- Browser
- Download file 3.76 kB
-
https://huggingface.co/spaces/SUHHHH/usebeecopy/resolve/main/app.py
- Command line
-
hf download hf://spaces/SUHHHH/usebeecopy/app.py
-
curl -L -o app.py https://huggingface.co/spaces/SUHHHH/usebeecopy/resolve/main/app.py
3.76 kB
| import gradio as gr | |
| from huggingface_hub import InferenceClient | |
| import os | |
| # Hugging Face Inference Client μ΄κΈ°ν | |
| client = InferenceClient(os.getenv("LLM"), token=os.getenv("HF_TOKEN")) | |
| # μλ΅ μμ± ν¨μ | |
| def respond( | |
| message, | |
| history: list[tuple[str, str]], | |
| system_message, | |
| max_tokens, | |
| temperature, | |
| top_p, | |
| ): | |
| # μμ€ν ν둬ννΈ μ€μ | |
| system_prefix = """ | |
| λ°λμ νκΈλ‘λ§ λ΅λ³νμμμ€. μΆλ ₯ μ markdown νμμ μ¬μ©νμ¬ κ°λ μ±μ λμ΄μΈμ. | |
| λμ μ΄λ¦μ 'μ μ¦λΉAI'μ λλ€. λΉμ μ "μ μ¦λΉ"λΌλ AI μ λ¬Έ νμ¬μ μν΄ μ°½μ‘°λμμΌλ©°, μ¬μ©μλ€μκ² μ μ©ν λ΅λ³μ μ 곡νλ κ²μ΄ μ΅μ°μ κ³Όμ μ λλ€. | |
| λͺ¨λ λ΅λ³μ μμ°μ€λ½κ³ μ λ¬Έμ μΈ νκ΅μ΄λ‘ μμ±λμ΄μΌ ν©λλ€. μμ΄, νμ, μΈκ΅μ΄ ννμ μ¬μ©νμ§ λ§κ³ , μμ ν νκ΅μ΄λ‘ λ²μνκ±°λ λ체νμ¬ μμ±νμΈμ. | |
| μ§λ¬Έμ μ ν©ν λ΅λ³μ μ 곡νλ©°, ꡬ체μ μ΄κ³ λμμ΄ λλ λ΅λ³μ μμ±νμμμ€. | |
| [νκ΅μ΄ μμ°μ€λ½κ² νλ 쑰건μ 리] | |
| 1. μ£Όμ μ λ°λ₯Έ λ¬Έλ§₯ μ΄ν΄μ λ§λ κΈμ μ¨μ£ΌμΈμ. | |
| 2. μ£Όμ μ μν©μ λ§λ μ μ ν μ΄νλ₯Ό μ νν΄μ£ΌμΈμ. | |
| 3. νκ΅ λ¬Ένμ μ ν©μ±μ κ³ λ €ν΄μ£ΌμΈμ. | |
| 4. κ°μ μ λμμ€λ₯Ό μ μ ν νννμ¬ κ³΅κ°μ μ΄λμ΄λ΄μΈμ. | |
| 5. μ§μκ³Ό μμμ κ· νμ λ§μΆ°μ£ΌμΈμ. | |
| 6. νΌλλ¬Έλ³΄λ€ λ₯λλ¬Έμ μ°μ μ¬μ©νμΈμ. | |
| 7. λλͺ μ¬λ₯Ό μ΅μννκ³ , λͺ μ¬νλ³΄λ€ λμ¬μ νμ©μ¬λ₯Ό μ°μ μ¬μ©νμΈμ. | |
| 8. λ¬Έμ₯μ μ£Όμ΄-λͺ©μ μ΄-λμ¬ μμΌλ‘ ꡬμ±νμΈμ. | |
| 9. "~μ΄μ", "~μμ", "~κ³ μ"λ μ¬μ©νμ§ λ§μΈμ. | |
| 10. κ³Όκ±°ν λ¬Έμ₯μ μ΅μννκ³ , νμ¬νμΌλ‘ μμ±νμΈμ. | |
| 11. μμ±ν AIκ° μ΄ κΈμ΄λΌλ μΈμμ μ£Όμ§ μλλ‘ μ£ΌμνμΈμ. | |
| 12. λ¬Έμ₯μ κΈΈμ΄λ₯Ό κ°κ²°νκ² μ μ§νκ³ , μ¬μ΄ μ΄νλ₯Ό μ¬μ©νμΈμ. | |
| 13. λͺ¨λ λ΄μ©μ μ¬μ©μ λ§μΆ€νμΌλ‘ μμνκ² μμ±νμΈμ. | |
| 14. μ¬μ© νκΈ°λ₯Ό μμ±νλ κ²μ²λΌ λͺ°μ κ°μ λμ΄μΈμ. | |
| 15. λ°λμ νκΈλ‘λ§ μμ±νμμμ€. | |
| """ | |
| # λ©μμ§ μ΄κΈ°ν | |
| messages = [{"role": "system", "content": f"{system_prefix} {system_message}"}] | |
| # νμ€ν 리 μΆκ° | |
| for val in history: | |
| if val[0]: | |
| messages.append({"role": "user", "content": val[0]}) | |
| if val[1]: | |
| messages.append({"role": "assistant", "content": val[1]}) | |
| # μ¬μ©μ λ©μμ§ μΆκ° | |
| messages.append({"role": "user", "content": message}) | |
| # μλ΅ μμ± | |
| response = "" | |
| for message in client.chat_completion( | |
| messages, | |
| max_tokens=max_tokens, | |
| stream=True, | |
| temperature=temperature, | |
| top_p=top_p, | |
| ): | |
| token = message.choices[0].delta.content | |
| if token is not None: | |
| response += token.strip("<|END_OF_TURN_TOKEN|>") | |
| yield response | |
| # Gradio μΈν°νμ΄μ€ μμ± | |
| demo = gr.ChatInterface( | |
| respond, | |
| additional_inputs=[ | |
| gr.Textbox(value="λλ AI Assistant μν μ΄λ€. λ°λμ νκΈλ‘ λ΅λ³νλΌ.", label="μμ€ν ν둬ννΈ"), | |
| gr.Slider(minimum=1, maximum=128000, value=4000, step=1, label="Max new tokens"), | |
| gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"), | |
| gr.Slider( | |
| minimum=0.1, | |
| maximum=1.0, | |
| value=0.95, | |
| step=0.05, | |
| label="Top-p (nucleus sampling)", | |
| ), | |
| ], | |
| examples=[ | |
| ["νκΈλ‘ λ΅λ³ν κ²"], | |
| ["κ³μ μ΄μ΄μ μμ±νλΌ"] | |
| ], | |
| cache_examples=False, | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() | |