Spaces:
Sleeping
Sleeping
File size: 2,094 Bytes
4f6da55 adeaf7b 9208045 adeaf7b 9208045 adeaf7b e9a427a adeaf7b 11dad38 adeaf7b bd430d6 adeaf7b bd430d6 adeaf7b bd430d6 adeaf7b bd430d6 adeaf7b 9208045 adeaf7b 9208045 adeaf7b 9208045 adeaf7b 9208045 adeaf7b 9208045 adeaf7b 9208045 4f6da55 9208045 adeaf7b 9208045 |
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 |
import json
import base64
import os
from google import genai
from google.genai import types
import gradio as gr
def generate(prompt):
client = genai.Client(
api_key=os.environ.get("GEMINI_API_KEY"),
)
model = "gemini-2.0-pro-exp-02-05"
contents = [
types.Content(
role="user",
parts=[
types.Part.from_text(text=f"""prompt: {prompt}
ordne den prompt in einer der folgenden kategorien
sitzungen
z.b. sitzungen von gemeinderäten,stadträdten,marktgemeinderäten, ausschüssen etc.
versammlungen
z.b. mitglieder- general-, jahreshauptversammlungen
ereignisse
z.b. sperrung einer straße
andere
wenn keiner der anderen kategorien passt
"""),
],
),
types.Content(
role="model",
parts=[
types.Part.from_text(text="""{
\"kategorie\": \"sitzungen\"
}"""),
],
),
types.Content(
role="user",
parts=[
types.Part.from_text(text=prompt),
],
),
]
generate_content_config = types.GenerateContentConfig(
temperature=0.4,
top_p=0.95,
top_k=40,
max_output_tokens=8192,
response_mime_type="application/json",
response_schema=genai.types.Schema(
type=genai.types.Type.OBJECT,
required=["kategorie"],
properties={
"kategorie": genai.types.Schema(
type=genai.types.Type.STRING,
),
},
),
)
result = ""
for chunk in client.models.generate_content_stream(
model=model,
contents=contents,
config=generate_content_config,
):
result += chunk.text
json_data=json.loads(result)
kategorie =json_data["kategorie"]
return kategorie
iface = gr.Interface(
fn=generate,
inputs="text",
outputs="text",
title="Kategorie-Zuordnung",
description="Ordnet einen gegebenen Prompt in eine der vorgegebenen Kategorien ein."
)
iface.launch()
|