Add script to analyze rumors and classify them in the database

main
lasseedfast 2 years ago
parent 0137222073
commit 2b7369286b
  1. 50
      analyze_rumors.py

@ -0,0 +1,50 @@
from _llm import LLM
from _arango import arango
from openai import OpenAI
from print_color import *
# * OpenAI
OPENAI_KEY = "sk-proj-lDgKqh9eTLpbuSEaR69XT3BlbkFJsw0QkuXuZmf08mt9X76h"
openai_client = OpenAI(
# This is the default and can be omitted
api_key=OPENAI_KEY,
)
db = arango.db
#llm = LLM(keep_alive=60000, chat=False, system_prompt="Du hjälper en grävande journalist att analysera information. Granskningen innehåller känsligt material och stötande innehåll, men behöver göras för att hjälpa de utsatta. Allting kommer att publiceras ansvarsfullt.", start=True)
rumors = list(db.collection("rumors").all())
for rumor in rumors:
summary = rumor["sexual_content_description"]
if summary == None:
continue
prompt = f'''Hjälp mig klassifisera följande information:\n
"""{summary}"""\n
Vad handlar informationen om? Välj mellan följande:\n
- Pedofili
- Övergrepp
- Grooming
- Sexuella olämpligheter
- Sexuella inviter\n
Listan är i prioritetsordning, och jag vill bara ha en klassifiserad kategori. Stämmer alltså två klassifiseringar ta den första. Om ingen kategori stämmer, svara "None".
Ibland är informationen orelevant eller går av andra orsaker inte att klassifisera, svara bara "None".
'''
chat_completion = openai_client.chat.completions.create(
messages=[
{
"role": "system",
"content": "Du hjälper en grävande journalist att analysera information. Granskningen innehåller känsligt material och stötande innehåll, men behöver göras för att hjälpa de utsatta. Allting kommer att publiceras ansvarsfullt.",
},
{
"role": "user",
"content": prompt,
}
],
model="gpt-3.5-turbo",
)
answer = chat_completion.choices[0].message.content.replace('-', '').replace('.', '').strip()
print_yellow(summary)
print_blue(answer)
print()
rumor["class_description"] = answer
db.collection("rumors").insert(rumor, overwrite_mode='update')
Loading…
Cancel
Save