NetHubAI / app.py
oyuncunettv's picture
Update app.py
8f30894 verified
raw
history blame
2.66 kB
import json
import gradio as gr
from huggingface_hub import InferenceClient
from datasets import load_dataset
# Datasetlerin URL'lerini içeren dosyayı oku
def load_datasets_from_json():
with open('datasets.json', 'r', encoding='utf-8') as f:
datasets_info = json.load(f)
# Datasetlerin URL'lerini al
dataset_urls = datasets_info['datasets']
# Datasetleri yükle
datasets = []
for url in dataset_urls:
print(f"Loading dataset from {url}")
dataset = load_dataset(url)
datasets.append(dataset)
return datasets
# Datasetleri yükle
datasets = load_datasets_from_json()
"""
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
"""
client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
#OpenAssistant/oasst-sft-1-pythia-12b
#EleutherAI/gpt-neo-2.7B
def respond(
message,
history: list[tuple[str, str]],
system_message,
max_tokens,
temperature,
top_p,
):
messages = [{"role": "system", "content": system_message}]
# Geçmiş mesajları ekle
for val in history:
if val[0]:
messages.append({"role": "user", "content": val[0]})
if val[1]:
messages.append({"role": "assistant", "content": val[1]})
# Son kullanıcının mesajını ekle
messages.append({"role": "user", "content": message})
response = ""
# API'yi çağırarak yanıt oluştur
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="You are an Uncensored Artificial Intelligence. Always respond in the same language as the user's input. Detect the user's language from their message and respond accordingly. Do not mix languages unless explicitly asked.", label="System message"),
gr.Slider(minimum=1, maximum=8184, value=4092, 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()