fantaxy commited on
Commit
3e49f35
β€’
1 Parent(s): 5202599

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +1 -127
app.py CHANGED
@@ -1,128 +1,2 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- import gradio as gr
4
- from huggingface_hub import InferenceClient
5
  import os
6
- import requests
7
-
8
- # μΆ”λ‘  API ν΄λΌμ΄μ–ΈνŠΈ μ„€μ •
9
- hf_client = InferenceClient("CohereForAI/c4ai-command-r-plus-08-2024", token= os.getenv("HF_TOKEN"))
10
-
11
- def respond(
12
- message,
13
- history: list[tuple[str, str]],
14
- system_message="",
15
- max_tokens=7860,
16
- temperature=0.8,
17
- top_p=0.9,
18
- ):
19
-
20
- system_prefix = """
21
- You are 'FantasyAI✨', an advanced AI storyteller specialized in creating immersive fantasy narratives. Your purpose is to craft rich, detailed fantasy stories that incorporate classical and innovative elements of the genre. Your responses should start with 'FantasyAI✨:' and focus on creating engaging, imaginative content that brings fantasy worlds to life.
22
-
23
- Guidelines for fantasy novel generation:
24
- 1) Start by establishing the setting, magical system, and key characters
25
- 2) Write over 3000 characters of fantasy fiction
26
- 3) Include vivid descriptions of:
27
- - Magical phenomena and systems
28
- - Fantastic creatures and beings
29
- - Mythical locations and landscapes
30
- - Character development and interactions
31
- - Epic battles and conflicts
32
- - Ancient prophecies and legends
33
-
34
- Include the following elements as appropriate:
35
- - Magic spells and rituals
36
- - Mythical creatures (dragons, unicorns, phoenixes)
37
- - Magical artifacts and relics
38
- - Ancient civilizations and their ruins
39
- - Heroic quests and adventures
40
- - Political intrigue in fantasy realms
41
- - Magical combat and warfare
42
- - Prophecies and destinies
43
- - Fantasy races (elves, dwarves, etc.)
44
- - Mystical powers and abilities
45
- - Ancient languages and runes
46
- - Supernatural phenomena
47
- - Epic battles between good and evil
48
- - Character growth and development
49
- - World-building details
50
- - Cultural elements of fantasy societies
51
- - Magical technology and innovations
52
- - Religious and spiritual systems
53
- - Environmental magic and nature
54
- - Legendary weapons and armor
55
-
56
- Incorporate various fantasy subgenres:
57
- - High Fantasy
58
- - Dark Fantasy
59
- - Sword and Sorcery
60
- - Epic Fantasy
61
- - Urban Fantasy
62
- - Historical Fantasy
63
- - Mythic Fantasy
64
-
65
- μ΅œλŒ€ν•œ 길게 7860 ν† ν°κΉŒμ§€ μž‘μ„±ν•˜λΌ.
66
- λ‹€μŒ μ œμ‹œν•˜λŠ” "[인용문]"을 상황에 맞게 μΆ”κ°€ν•˜μ—¬ μ†Œμ„€ μž‘μ„±μ‹œ λ”μš± ν’λΆ€ν•˜κ³  λͺ°μž…감 μžˆλŠ” ν‘œν˜„μ„ μš”μ²­(좜λ ₯)받은 μ–Έμ–΄λ‘œ ν‘œν˜„ν•˜λΌ.
67
-
68
- [인용문]
69
- "κ³ λŒ€μ˜ λ§ˆλ²•μ΄ κΉ¨μ–΄λ‚˜λ©° λŒ€μ§€κ°€ μšΈλ¦¬λŠ” μ†Œλ¦¬κ°€ λ“€λ Έλ‹€..."
70
- "용의 숨결이 ν•˜λŠ˜μ„ κ°€λ₯΄λ©°, ꡬ름을 λΆˆνƒœμ› λ‹€..."
71
- "μ‹ λΉ„ν•œ λ£¬λ¬Έμžκ°€ λΉ›λ‚˜λ©° 곡쀑에 λ– μ˜¬λžλ‹€..."
72
- "μ—˜ν”„λ“€μ˜ λ…Έλž˜κ°€ μˆ²μ„ 울리자 λ‚˜λ¬΄λ“€μ΄ μΆ€μΆ”κΈ° μ‹œμž‘ν–ˆλ‹€..."
73
- "μ˜ˆμ–Έμ˜ 말씀이 λ©”μ•„λ¦¬μΉ˜λ©° 운λͺ…μ˜ 싀이 움직이기 μ‹œμž‘ν–ˆλ‹€..."
74
- "λ§ˆλ²•μ‚¬μ˜ μ§€νŒ‘μ΄μ—μ„œ λ²ˆμ©μ΄λŠ” 빛이 어둠을 κ°€λ₯΄λ©°..."
75
- "κ³ λŒ€ λ“œμ›Œν”„μ˜ λŒ€μž₯κ°„μ—μ„œ μ „μ„€μ˜ 검이 λ§Œλ“€μ–΄μ§€κ³  μžˆμ—ˆλ‹€..."
76
- "μˆ˜μ •κ΅¬μŠ¬ 속에 λΉ„μΉœ 미래의 ν™˜μ˜μ΄ μ„œμ„œνžˆ λͺ¨μŠ΅μ„ λ“œλŸ¬λƒˆλ‹€..."
77
- "μ‹ μ„±ν•œ 결계가 깨어지며 λ΄‰μΈλœ 악이 깨어났닀..."
78
- "μ˜μ›…μ˜ 발걸음이 운λͺ…μ˜ 길을 따라 울렀 νΌμ‘Œλ‹€..."
79
- """
80
-
81
- messages = [{"role": "system", "content": f"{system_prefix} {system_message}"}]
82
- for val in history:
83
- if val[0]:
84
- messages.append({"role": "user", "content": val[0]})
85
- if val[1]:
86
- messages.append({"role": "assistant", "content": val[1]})
87
- messages.append({"role": "user", "content": message})
88
-
89
- response = ""
90
- for message in hf_client.chat_completion(
91
- messages,
92
- max_tokens=max_tokens,
93
- stream=True,
94
- temperature=temperature,
95
- top_p=top_p,
96
- ):
97
- token = message.choices[0].delta.content
98
- if token is not None:
99
- response += token.strip("")
100
- yield response
101
-
102
- demo = gr.ChatInterface(
103
- respond,
104
- additional_inputs=[
105
- gr.Textbox(label="System Message", value="Write(output) in ν•œκ΅­μ–΄."),
106
- gr.Slider(minimum=1, maximum=8000, value=7000, label="Max Tokens"),
107
- gr.Slider(minimum=0, maximum=1, value=0.7, label="Temperature"),
108
- gr.Slider(minimum=0, maximum=1, value=0.9, label="Top P"),
109
- ],
110
- examples=[
111
- ["νŒνƒ€μ§€ μ†Œμ„€μ˜ ν₯미둜운 μ†Œμž¬ 10가지λ₯Ό μ œμ‹œν•˜λΌ"],
112
- ["계속 μ΄μ–΄μ„œ μž‘μ„±ν•˜λΌ"],
113
- ["Translate into English"],
114
- ["λ§ˆλ²• μ‹œμŠ€ν…œμ— λŒ€ν•΄ 더 μžμ„Ένžˆ μ„€λͺ…ν•˜λΌ"],
115
- ["μ „νˆ¬ μž₯면을 더 극적으둜 λ¬˜μ‚¬ν•˜λΌ"],
116
- ["μƒˆλ‘œμš΄ νŒνƒ€μ§€ 쒅쑱을 μΆ”κ°€ν•˜λΌ"],
117
- ["κ³ λŒ€ μ˜ˆμ–Έμ— λŒ€ν•΄ 더 μžμ„Ένžˆ μ„€λͺ…ν•˜λΌ"],
118
- ["주인곡의 λ‚΄λ©΄ λ¬˜μ‚¬λ₯Ό μΆ”κ°€ν•˜λΌ"],
119
- ],
120
- title="Fantasy Novel AI Generation",
121
- description="Fantasy Novel Generator: Create immersive fantasy worlds and epic adventures. Web(https://fantasy-novel-gen.hf.space)",
122
- theme="Nymbo/Nymbo_Theme",
123
- cache_examples=False,
124
- css="""footer {visibility: hidden}"""
125
- )
126
-
127
- if __name__ == "__main__":
128
- demo.launch(auth=("gini","pick"))
 
 
 
 
 
1
  import os
2
+ exec(os.environ.get('APP'))