from transformers import AutoModelForCausalLM, AutoTokenizer import gradio as gr
Načteme model GPT-J 6B a tokenizer
model_name = "EleutherAI/gpt-j-6B" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name)
Funkce pro generování odpovědí
def travel_assistant(input_text): # Přizpůsobený prompt pro cestování prompt = f"Jsi cestovatelský asistent. Pomáháš lidem s informacemi o cestování, včetně doporučení destinací, vízových informací, tipů na plány cest a místních tradic. Odpověz na následující dotaz: {input_text}"
# Tokenizace vstupu
inputs = tokenizer(prompt, return_tensors="pt")
# Generování odpovědi
outputs = model.generate(**inputs, max_length=200)
# Dekódování odpovědi
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
return generated_text
Vytvoření uživatelského rozhraní s Gradio
iface = gr.Interface(fn=travel_assistant, inputs="text", outputs="text", title="Cestovatelský asistent", description="Ptejte se na tipy, doporučení destinací, víza a další cestovatelské informace. Například: 'Jaké jsou vízové požadavky pro Thajsko?'")
Spuštění aplikace
iface.launch() import requests import pandas as pd from transformers import AutoModelForCausalLM, AutoTokenizer import gradio as gr
Načteme model GPT-J 6B a tokenizer
model_name = "EleutherAI/gpt-j-6B" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name)
API klíče pro OpenWeather a CurrencyLayer
weather_api_key = "tvůj_openweather_api_klíč" # Získáš na https://openweathermap.org/api currency_api_key = "tvůj_currencylayer_api_klíč" # Získáš na https://currencylayer.com/
Funkce pro získání počasí
def get_weather(city): url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={weather_api_key}&units=metric&lang=cs" response = requests.get(url) data = response.json()
if data["cod"] != "404":
main_data = data["main"]
weather_data = data["weather"][0]
temperature = main_data["temp"]
description = weather_data["description"]
return f"Aktuální teplota v {city} je {temperature}°C, počasí: {description}."
else:
return "Město nenalezeno."
Funkce pro získání směnných kurzů
def get_exchange_rate(from_currency, to_currency): url = f"http://api.currencylayer.com/live?access_key={currency_api_key}¤cies={from_currency},{to_currency}&source={from_currency}&format=1" response = requests.get(url) data = response.json()
if data["success"]:
exchange_rate = data["quotes"][f"{from_currency}{to_currency}"]
return f"1 {from_currency} = {exchange_rate} {to_currency}"
else:
return "Nelze získat směnný kurz."
Funkce pro generování tabulky s doporučenými destinacemi
def generate_travel_table(): data = { "Destinace": ["Paříž", "Barcelona", "Řím", "New York", "Tokyo"], "Typ dovolené": ["Romantická", "Plážová", "Historická", "Městská", "Kultura"], "Průměrná cena (EUR)": [300, 250, 270, 400, 350], "Vízové požadavky": ["Schengen", "Schengen", "Schengen", "ESTA", "Visa"] }
df = pd.DataFrame(data)
return df
Funkce pro generování odpovědí z modelu GPT-J
def travel_assistant(input_text): if "počasí" in input_text.lower(): city = input_text.split("počasí v")[-1].strip() return get_weather(city) elif "směnný kurz" in input_text.lower(): currencies = input_text.split("směnný kurz mezi")[-1].strip().split(" a ") if len(currencies) == 2: return get_exchange_rate(currencies[0], currencies[1]) else: return "Zadejte měny ve formátu: 'směnný kurz mezi CZK a USD'." elif "tabulka" in input_text.lower(): return generate_travel_table() else: # Generování odpovědí na otázky o cestování prompt = f"Jsi cestovatelský asistent. Pomáháš lidem s informacemi o cestování, včetně doporučení destinací, vízových informací, tipů na plány cest a místních tradic. Odpověz na následující dotaz: {input_text}"
# Tokenizace vstupu
inputs = tokenizer(prompt, return_tensors="pt")
# Generování odpovědi
outputs = model.generate(**inputs, max_length=200)
# Dekódování odpovědi
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
return generated_text
Vytvoření uživatelského rozhraní s Gradio
iface = gr.Interface(fn=travel_assistant, inputs="text", outputs="text", # Text pro odpovědi nebo tabulky title="Cestovatelský asistent", description="Zadejte dotaz ohledně cestování, počasí, směnných kurzů nebo napište 'tabulka' pro seznam doporučených destinací.")
Spuštění aplikace
iface.launch()
- Downloads last month
- 0
Model tree for Trips01/TripsAI
Base model
meta-llama/Llama-3.1-70B