multimodalart HF staff commited on
Commit
1d06c07
1 Parent(s): af233cd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -8
app.py CHANGED
@@ -122,7 +122,7 @@ def process_url(url, profile, do_download=True, folder="."):
122
  else:
123
  raise gr.Error("Something went wrong in fetching CivitAI API")
124
 
125
- def create_readme(info, downloaded_files, link_civit=False, is_author=True, folder="."):
126
  readme_content = ""
127
  original_url = f"https://civitai.com/models/{info['modelId']}"
128
  link_civit_disclaimer = f'([CivitAI]({original_url}))'
@@ -131,6 +131,9 @@ def create_readme(info, downloaded_files, link_civit=False, is_author=True, fold
131
  civit_tags = [t for t in info["tags"] if t not in default_tags]
132
  tags = default_tags + civit_tags
133
  unpacked_tags = "\n- ".join(tags)
 
 
 
134
 
135
  widget_content = ""
136
  for index, (prompt, image) in enumerate(zip(downloaded_files["imagePrompt"], downloaded_files["imageName"])):
@@ -162,14 +165,39 @@ widget:
162
 
163
  {link_civit_disclaimer if link_civit else ''}
164
 
 
 
165
  {info["description"]}
166
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  """
168
- for index, (image, prompt) in enumerate(zip(downloaded_files["imageName"], downloaded_files["imagePrompt"])):
169
- if index == 1:
170
- content += f"## Image examples for the model:\n![Image {index}]({image})\n> {prompt}\n"
171
- elif index > 1:
172
- content += f"\n![Image {index}]({image})\n> {prompt}\n"
173
  readme_content += content + "\n"
174
  print(readme_content)
175
  with open(f"{folder}/README.md", "w") as file:
@@ -262,7 +290,8 @@ def upload_civit_to_hf(profile: Optional[gr.OAuthProfile], url, link_civit=False
262
  folder = str(uuid.uuid4())
263
  os.makedirs(folder, exist_ok=False)
264
  info, downloaded_files = process_url(url, profile, folder=folder)
265
- create_readme(info, downloaded_files, link_civit, folder=folder)
 
266
  try:
267
  api = HfApi(token=os.environ["HUGGING_FACE_HUB_TOKEN"])
268
  username = api.whoami()["name"]
@@ -279,7 +308,7 @@ def upload_civit_to_hf(profile: Optional[gr.OAuthProfile], url, link_civit=False
279
  raise gr.Error("something went wrong")
280
 
281
  transfer_repos = gr.load("multimodalart/transfer_repos", hf_token=os.environ["HUGGING_FACE_HUB_TOKEN"], src="spaces")
282
- user_repo_id = f"{profile.preferred_username}/{slug_name}"
283
  response_code = transfer_repos(repo_id, user_repo_id)
284
  i = 0
285
  while response_code != "200":
 
122
  else:
123
  raise gr.Error("Something went wrong in fetching CivitAI API")
124
 
125
+ def create_readme(info, downloaded_files, user_repo_id, link_civit=False, is_author=True, folder="."):
126
  readme_content = ""
127
  original_url = f"https://civitai.com/models/{info['modelId']}"
128
  link_civit_disclaimer = f'([CivitAI]({original_url}))'
 
131
  civit_tags = [t for t in info["tags"] if t not in default_tags]
132
  tags = default_tags + civit_tags
133
  unpacked_tags = "\n- ".join(tags)
134
+
135
+ trained_words = info['trainedWords'] if 'trainedWords' in info and info['trainedWords'] else []
136
+ formatted_words = ', '.join(f'`{word}`' for word in trained_words)
137
 
138
  widget_content = ""
139
  for index, (prompt, image) in enumerate(zip(downloaded_files["imagePrompt"], downloaded_files["imageName"])):
 
165
 
166
  {link_civit_disclaimer if link_civit else ''}
167
 
168
+ ## Model description
169
+
170
  {info["description"]}
171
 
172
+ ## Trigger words
173
+
174
+ You should use {formatted_words} to trigger the image generation.
175
+
176
+ ## Download model
177
+
178
+ Weights for this model are available in Safetensors format.
179
+
180
+ [Download](/{user_repo_id}/tree/main) them in the Files & versions tab.
181
+
182
+ ## Use it with diffusers
183
+
184
+ ```py
185
+ from diffusers import AutoPipelineForText2Image
186
+ import torch
187
+
188
+ pipeline = AutoPipelineForText2Image.from_pretrained('{info["baseModel"]}', torch_dtype=torch.float16).to("cuda")
189
+ pipeline.load_lora_weights("{{user_repo_id}, weight_name='{downloaded_files["weightName"]}')
190
+ image = pipeline('{prompt if prompt else (formatted_words if formatted_words else 'Your custom prompt')}').images[0]
191
+ ```
192
+
193
+ For more details, including weighting, merging and fusing LoRAs, check the [documentation on loading LoRAs in diffusers](https://huggingface.co/docs/diffusers/main/en/using-diffusers/loading_adapters)
194
+
195
  """
196
+ #for index, (image, prompt) in enumerate(zip(downloaded_files["imageName"], downloaded_files["imagePrompt"])):
197
+ # if index == 1:
198
+ # content += f"## Image examples for the model:\n![Image {index}]({image})\n> {prompt}\n"
199
+ # elif index > 1:
200
+ # content += f"\n![Image {index}]({image})\n> {prompt}\n"
201
  readme_content += content + "\n"
202
  print(readme_content)
203
  with open(f"{folder}/README.md", "w") as file:
 
290
  folder = str(uuid.uuid4())
291
  os.makedirs(folder, exist_ok=False)
292
  info, downloaded_files = process_url(url, profile, folder=folder)
293
+ user_repo_id = f"{profile.preferred_username}/{slug_name}"
294
+ create_readme(info, downloaded_files, user_repo_id, link_civit, folder=folder)
295
  try:
296
  api = HfApi(token=os.environ["HUGGING_FACE_HUB_TOKEN"])
297
  username = api.whoami()["name"]
 
308
  raise gr.Error("something went wrong")
309
 
310
  transfer_repos = gr.load("multimodalart/transfer_repos", hf_token=os.environ["HUGGING_FACE_HUB_TOKEN"], src="spaces")
311
+
312
  response_code = transfer_repos(repo_id, user_repo_id)
313
  i = 0
314
  while response_code != "200":