Spaces:
Sleeping
Sleeping
File size: 2,757 Bytes
bf4e2b9 523f251 bf4e2b9 32644f5 c28dc46 32644f5 c28dc46 5fb4549 bf4e2b9 b3f958d 32644f5 bf4e2b9 49eff6e 453590f 49eff6e bf4e2b9 fee2cfc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
import gradio as gr
import os
from huggingface_hub import InferenceClient
"""
For more information on `huggingface_hub` Inference API support, please check the docs: https://huggingface.co/docs/huggingface_hub/v0.22.2/en/guides/inference
"""
api_token = os.environ.get("API_TOKEN")
headers = {
'Authorization': f'Bearer {api_token}'
}
#client = InferenceClient(model="HuggingFaceH4/zephyr-7b-beta",headers=headers,token=api_token)
client = InferenceClient(model="dicta-il/dictalm2.0",headers=headers,token=api_token)
def respond(
message,
history: list[tuple[str, str]],
system_message,
max_tokens,
temperature,
top_p,
):
messages = [{"role": "system", "content": system_message}]
print(system_message)
print(max_tokens)
print(temperature)
print(top_p)
print(message)
#print(token)
#print(headers)
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
response += token
yield response
"""
For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface
"""
demo = gr.ChatInterface(
respond,
additional_inputs=[
gr.Textbox(value=f"""Translate the user input from English to Hebrew.
Do NOT respond with any additional information other than the translation. Respond with the translated text ONLY.
If the english text contains multiple consecutive special characters, replace them with a
corresponding single special character for translation. Once the text is translated, restore the original group of special
characters in their corresponding place.
For example, if the english text is 'Aahh!!', replace it with 'Aahh!' before translation.
After translation, replace the !! in the correct place in the hebrew text, אוי!!""", label="System message"),
gr.Slider(minimum=1, maximum=2048, value=512, 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)",
),
],
)
if __name__ == "__main__":
demo.launch()
|