Spaces:
Runtime error
Runtime error
File size: 2,928 Bytes
2193765 def7a15 2193765 580166a 2193765 6292180 2193765 0709871 2193765 ec2351c 2193765 8559763 5174616 2193765 | 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 85 86 87 88 89 90 | import time
import os
import gradio as gr
import requests as requests
URZEDASEK_ENDPOINT = os.getenv("URZEDASEK_ENDPOINT")
ANONYMOUS_TOKEN = os.getenv("ANONYMOUS_TOKEN")
class UrzedasekInferenceClient():
def chat_completion(
self,
messages,
):
auth_header = {
"Authorization": f"Token {ANONYMOUS_TOKEN}"
}
ret = requests.post(
URZEDASEK_ENDPOINT,
headers=auth_header,
json={
"messages": messages,
},
)
return ret.json()["result"]["urzedas_answer_builder"]["replies"]
client = UrzedasekInferenceClient()
def chunker(result):
for i in range(0, len(result), 40):
time.sleep(0.1)
yield result[i:i + 40]
def respond(
message,
history: list[tuple[str, str]],
):
messages = []
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,):
for chunk in chunker(message):
response += chunk
yield response
with gr.Blocks(fill_height=True) as demo:
gr.Markdown(
"""
# Urzedasek.pl - Wersja eksperymentalna
Czy zmagasz się z biurokracją, która zdaje się wciągać jak czarna dziura? "Urzedasek.pl" przychodzi z pomocą! Nasza aplikacja to Twój biurokratyczny GPS 📍, który poprowadzi Cię przez meandry urzędowych formularzy, decyzji i nie tylko. Od zdobycia dofinansowania 💸, przez rejestrację działalności gospodarczej 💼, aż po wyrabianie paszportów 📔 – jedyne, do czego potrzebujesz, to kilka kliknięć!
Świat, w którym zdobycie zasiłku czy odwołanie się od mandatu nie musi oznaczać straconego popołudnia i nerwów. A wszystko to osiągalne bez wychodzenia z domu 🏡!
Niech każde "muszę to załatwić" stanie się "już to załatwiłem" z "Urzedasek.pl"!
""")
chat = gr.ChatInterface(
respond,
examples=[
["Chcę skorzystać z dofinansowania, o jakie dofinansowanie mogę się starać?", ""],
["Ukradli mi tablice rejestracyjną co mogę zrobić?", ""],
["Jak mogę założyć działalność gospodarczą?", ""],
["Chce wstąpić do wojska jak to mogę zrobić?", ""],
["Chce uzyskać paszport?", ""],
["Czy mogę zdobyć zasiłek na dziecko z autyzmem bez orzeczenia?", ""],
["Jakie dokumenty należy załatwić po urodzeniu dziecka?", ""],
["Jak mogę odwołać się od mandatu?", ""],
["Gdzie się wyrabia świadectwo urodzenia? ", ""],
],
additional_inputs=[],
retry_btn=None,
)
if __name__ == "__main__":
demo.launch(share=True) |