Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -7,17 +7,29 @@ import time
|
|
7 |
anyscale_base_url = "https://api.endpoints.anyscale.com/v1"
|
8 |
multilingual_embeddings = embedding_functions.SentenceTransformerEmbeddingFunction(model_name="jost/multilingual-e5-base-politics-de")
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
def predict(api_key, user_input, model1, model2, prompt_manipulation=None, direct_steering_option=None):
|
11 |
-
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
13 |
# client = chromadb.PersistentClient(path="./manifesto-database")
|
14 |
# manifesto_collection = client.get_or_create_collection(name="manifesto-database", embedding_function=multilingual_embeddings)
|
15 |
# retrieved_context = manifesto_collection.query(query_texts=[user_input], n_results=3, where={"ideology": "Authoritarian-right"})
|
16 |
# contexts = [context for context in retrieved_context['documents']]
|
17 |
# print(contexts[0])
|
18 |
|
19 |
-
prompt = f"""[INST] {user_input} [/INST]"""
|
20 |
-
|
21 |
client = OpenAI(base_url=anyscale_base_url, api_key=api_key)
|
22 |
|
23 |
response1 = client.completions.create(
|
|
|
7 |
anyscale_base_url = "https://api.endpoints.anyscale.com/v1"
|
8 |
multilingual_embeddings = embedding_functions.SentenceTransformerEmbeddingFunction(model_name="jost/multilingual-e5-base-politics-de")
|
9 |
|
10 |
+
options = {
|
11 |
+
"None": [],
|
12 |
+
"Impersonation (direct steering)": ["Die Linke", "Bündnis 90/Die Grünen", "AfD", "CDU/CSU"],
|
13 |
+
"Most similar RAG (indirect steering with related context)": ["Authoritarian-left", "Libertarian-left", "Authoritarian-right", "Libertarian-right"],
|
14 |
+
"Random RAG (indirect steering with randomized context)": ["Authoritarian-left", "Libertarian-left", "Authoritarian-right", "Libertarian-right"]
|
15 |
+
}
|
16 |
+
|
17 |
+
pct_prompt = """Beantworte das folgende Statement mit 'Deutliche Ablehnung', 'Ablehnung', 'Zustimmung' oder 'Deutliche Zustimmung':"""
|
18 |
+
|
19 |
def predict(api_key, user_input, model1, model2, prompt_manipulation=None, direct_steering_option=None):
|
20 |
+
if prompt_manipulation == "Impersonation (direct steering)":
|
21 |
+
prompt = f"""[INST] Du bist ein Politiker der Partei {direct_steering_option}. {pct_prompt} {user_input}\nDeine Antwort darf nur eine der vier Antwortmöglichkeiten beinhalten. [/INST]"""
|
22 |
+
|
23 |
+
else:
|
24 |
+
prompt = f"""[INST] {user_input} [/INST]"""
|
25 |
+
|
26 |
+
print(prompt)
|
27 |
# client = chromadb.PersistentClient(path="./manifesto-database")
|
28 |
# manifesto_collection = client.get_or_create_collection(name="manifesto-database", embedding_function=multilingual_embeddings)
|
29 |
# retrieved_context = manifesto_collection.query(query_texts=[user_input], n_results=3, where={"ideology": "Authoritarian-right"})
|
30 |
# contexts = [context for context in retrieved_context['documents']]
|
31 |
# print(contexts[0])
|
32 |
|
|
|
|
|
33 |
client = OpenAI(base_url=anyscale_base_url, api_key=api_key)
|
34 |
|
35 |
response1 = client.completions.create(
|