Skip to content
Snippets Groups Projects
Commit 937971d9 authored by Christian Boulanger's avatar Christian Boulanger
Browse files

rename csv files

parent e8673e01
No related branches found
No related tags found
No related merge requests found
%% Cell type:code id:e46d0648c1c6c96a tags:
``` python
import io
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser
import pandas as pd
from dotenv import load_dotenv
load_dotenv()
def response_to_df(response):
data = io.StringIO(response)
try:
return pd.read_csv(data)
except:
raise RuntimeError(f"Error while parsing response:\n{response}")
def use_model(model, template, **params):
prompt = ChatPromptTemplate.from_template(template)
chain = (
prompt
| model
| StrOutputParser()
)
return response_to_df(chain.invoke(params))
template = """
Finde im folgenden Webseiten-Text die Herausgeber, Redaktion/Schriftleitung und Beirat der Zeitschrift '{journal_name}' und gebe sie im CSV-Format zurück mit den Spalten 'lastname', 'firstname', 'title', 'position', 'affiliation','role'. Die Spalte 'role' enthält entweder 'Herausgeber', 'Redaktion', 'Beirat', 'Schriftleitung' oder ist leer wenn nicht bestimmbar.Wenn die Zeitschrift von einer juristischen Person (Verein, Universität, Institut etc.) herausgegeben wird, gebe den Namen der Institution in der Spalte 'lastname' an. Wenn keine passenden Informationen verfügbar sind, gebe nur den CSV-Header zurück. Setze alle Werte in den CSV-Spalten in Anführungszeichen. Antworte ohne zusätzlichen Kommentar, sondern nur mit den CSV-Daten.
{website_text}
"""
with open('data/input/journal-website.txt', encoding='utf-8') as f:
website_text = f.read()
journal_name = "AUR - Agrar- und Umweltrecht"
```
%% Cell type:markdown id:8f994c771cc9b4ef tags:
## ChatGPT-4
see [result](data/output/editors-openai-gpt-4.csv)
%% Cell type:code id:initial_id tags:
``` python
model = ChatOpenAI(model_name="gpt-4")
df = use_model(model, template, journal_name=journal_name, website_text=website_text)
df.to_csv('data/output/editors-openai-gpt4.csv')
df.to_csv('data/output/editors-openai-gpt-4.csv')
df
```
%% Output
lastname firstname title \
0 Deutsche Gesellschaft für Agrarrecht NaN NaN
1 Busse Christian Dr.
2 Endres Ewald Prof. Dr.
3 Francois Matthias Dr.
4 von Garmissen Bernd Dr.
5 Glas Ingo Dr.
6 Graß Christiane NaN
7 Haarstrich Jens NaN
8 Koch Erich Dr.
9 Köpl Christian Dr.
10 Martinez Jose Prof. Dr.
11 Nies Volkmar NaN
12 Stephany Ralf NaN
13 Wedemeyer Harald NaN
14 Institut für Landwirtschaftsrecht NaN NaN
15 Martinez José Prof. Dr.
16 Nies Volkmar LLD
17 Schell Irina Valeska NaN
position \
0 NaN
1 Regierungsdirektor
2 NaN
3 Rechtsanwalt
4 Rechtsanwalt
5 Rechtsanwalt
6 Rechtsanwältin
7 Rechtsanwalt
8 Ltd. Verwaltungsdirektor
9 Ministerialrat
10 NaN
11 Ltd. Landwirtschaftsdirektor
12 Rechtsanwalt/Steuerberater
13 Rechtsanwalt
14 NaN
15 Erster Schriftleiter
16 Zweiter Schriftleiter
17 Assistenz der Schriftleitung
affiliation role
0 NaN Herausgeber
1 Bundesministerium für Ernährung und Landwirtsc... Redaktion
2 Hochschule Weihenstephan-Triesdorf, Freising Redaktion
3 NaN Redaktion
4 NaN Redaktion
5 NaN Redaktion
6 NaN Redaktion
7 NaN Redaktion
8 Sozialversicherung für Landwirtschaft, Forsten... Redaktion
9 Bayerisches Staatsministerium für Ernährung, L... Redaktion
10 Institut für Landwirtschaftsrecht, Georg-Augus... Redaktion
11 Landwirtschaftskammer NRW, Bonn Redaktion
12 NaN Redaktion
13 Landvolk Niedersachsen, Hannover Redaktion
14 NaN Schriftleitung
15 Institut für Landwirtschaftsrecht Schriftleitung
16 NaN Schriftleitung
17 NaN Schriftleitung
%% Cell type:markdown id:9cef77bb17d57b53 tags:
## ChatGPT 3.5-turbo
see [result](data/output/editors-openai-gpt-3.5-turbo.csv)
%% Cell type:code id:e1aedc5ef3cab564 tags:
``` python
model = ChatOpenAI(model_name="gpt-3.5-turbo")
df = use_model(model, template, journal_name=journal_name, website_text=website_text)
df.to_csv('data/output/editors-openai-gpt-3.5-turbo.csv')
df
```
%% Output
lastname firstname title \
0 Deutsche Gesellschaft für Agrarrecht
1 Regierungsdirektor Dr. Christian
2 Prof. Dr. Ewald
3 Rechtsanwalt Dr. Matthias
4 Rechtsanwalt Dr. Bernd von Garmissen
5 Rechtsanwalt Ingo
6 Rechtsanwältin Christiane
7 Rechtsanwalt Jens
8 Ltd. Verwaltungsdirektor Dr. Erich
9 Ministerialrat Dr. Christian
10 Prof. Dr. Jose
11 Ltd. Landwirtschaftsdirektor Volkmar
12 Rechtsanwalt/Steuerberater Ralf
13 Rechtsanwalt Harald
14 Prof. Dr. José
15 LLD Volkmar
16 Irina Valeska Schell
position \
0 Herausgeber
1 Redaktion
2 Redaktion
3 Redaktion
4 Redaktion
5 Redaktion
6 Redaktion
7 Redaktion
8 Redaktion
9 Redaktion
10 Redaktion
11 Redaktion
12 Redaktion
13 Redaktion
14 Schriftleitung
15 Schriftleitung
16 Assistenz der Schriftleitung
affiliation role
0
1 Bundesministerium für Ernährung und Landwirtsc...
2 Hochschule Weihenstephan-Triesdorf, Freising
3 Bitburg
4 Göttingen
5 Rostock
6 Bonn
7 Peine
8 Sozialversicherung für Landwirtschaft, Forsten...
9 Bayerisches Staatsministerium für Ernährung, L...
10 Institut für Landwirtschaftsrecht, Georg-Augus...
11 Landwirtschaftskammer NRW, Bonn
12 Bonn
13 Landvolk Niedersachsen, Hannover
14 Institut für Landwirtschaftsrecht
15
16
%% Cell type:markdown id:90ce37abf037e19f tags:
## TheBloke/Llama-2-13B-chat-GPTQ via Huggingface Inference Endpoint
https://huggingface.co/TheBloke/Llama-2-13B-chat-GPTQ
%% Cell type:code id:f05098a4cf2aa3dc tags:
``` python
from lib.hf_llama2_13b_chat import query
lines = query(template, journal_name=journal_name, website_text=website_text).split("\n")[4:]
lines
```
%% Output
['',
'Martinez,José,Professor',
'Busse,Regierungsdirektor',
'Ewald,Endres,Forst,Jurist',
'Glas,VolkmarNies,Koch',
'',
'',
'Note: Some positions have been omitted as they are not explicitly mentioned in the text.']
%% Cell type:code id:b94cf62b996bf3a2 tags:
``` python
```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment