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

rename csv files

parent 31e44028
No related branches found
No related tags found
No related merge requests found
%% Cell type:code id:e46d0648c1c6c96a tags: %% Cell type:code id:e46d0648c1c6c96a tags:
``` python ``` python
import io import io
from langchain_core.prompts import ChatPromptTemplate from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser from langchain_core.output_parsers import StrOutputParser
import pandas as pd import pandas as pd
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
def response_to_df(response): def response_to_df(response):
data = io.StringIO(response) data = io.StringIO(response)
try: try:
return pd.read_csv(data) return pd.read_csv(data)
except: except:
raise RuntimeError(f"Error while parsing response:\n{response}") raise RuntimeError(f"Error while parsing response:\n{response}")
def use_model(model, template, **params): def use_model(model, template, **params):
prompt = ChatPromptTemplate.from_template(template) prompt = ChatPromptTemplate.from_template(template)
chain = ( chain = (
prompt prompt
| model | model
| StrOutputParser() | StrOutputParser()
) )
return response_to_df(chain.invoke(params)) return response_to_df(chain.invoke(params))
template = """ 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. 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} {website_text}
""" """
with open('data/input/journal-website.txt', encoding='utf-8') as f: with open('data/input/journal-website.txt', encoding='utf-8') as f:
website_text = f.read() website_text = f.read()
journal_name = "AUR - Agrar- und Umweltrecht" journal_name = "AUR - Agrar- und Umweltrecht"
``` ```
%% Cell type:markdown id:8f994c771cc9b4ef tags: %% Cell type:markdown id:8f994c771cc9b4ef tags:
## ChatGPT-4 ## ChatGPT-4
see [result](langchain-experiments/data/output/editors-openai-gpt-4.csv) see [result](data/output/editors-openai-gpt-4.csv)
%% Cell type:code id:initial_id tags: %% Cell type:code id:initial_id tags:
``` python ``` python
model = ChatOpenAI(model_name="gpt-4") model = ChatOpenAI(model_name="gpt-4")
df = use_model(model, template, journal_name=journal_name, website_text=website_text) 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-gpt4.csv')
df df
``` ```
%% Output %% Output
lastname firstname title \ lastname firstname title \
0 Deutsche Gesellschaft für Agrarrecht NaN NaN 0 Deutsche Gesellschaft für Agrarrecht NaN NaN
1 Busse Christian Dr. 1 Busse Christian Dr.
2 Endres Ewald Prof. Dr. 2 Endres Ewald Prof. Dr.
3 Francois Matthias Dr. 3 Francois Matthias Dr.
4 von Garmissen Bernd Dr. 4 von Garmissen Bernd Dr.
5 Glas Ingo Dr. 5 Glas Ingo Dr.
6 Graß Christiane NaN 6 Graß Christiane NaN
7 Haarstrich Jens NaN 7 Haarstrich Jens NaN
8 Koch Erich Dr. 8 Koch Erich Dr.
9 Köpl Christian Dr. 9 Köpl Christian Dr.
10 Martinez Jose Prof. Dr. 10 Martinez Jose Prof. Dr.
11 Nies Volkmar NaN 11 Nies Volkmar NaN
12 Stephany Ralf NaN 12 Stephany Ralf NaN
13 Wedemeyer Harald NaN 13 Wedemeyer Harald NaN
14 Institut für Landwirtschaftsrecht NaN NaN 14 Institut für Landwirtschaftsrecht NaN NaN
15 Martinez José Prof. Dr. 15 Martinez José Prof. Dr.
16 Nies Volkmar LLD 16 Nies Volkmar LLD
17 Schell Irina Valeska NaN 17 Schell Irina Valeska NaN
position \ position \
0 NaN 0 NaN
1 Regierungsdirektor 1 Regierungsdirektor
2 NaN 2 NaN
3 Rechtsanwalt 3 Rechtsanwalt
4 Rechtsanwalt 4 Rechtsanwalt
5 Rechtsanwalt 5 Rechtsanwalt
6 Rechtsanwältin 6 Rechtsanwältin
7 Rechtsanwalt 7 Rechtsanwalt
8 Ltd. Verwaltungsdirektor 8 Ltd. Verwaltungsdirektor
9 Ministerialrat 9 Ministerialrat
10 NaN 10 NaN
11 Ltd. Landwirtschaftsdirektor 11 Ltd. Landwirtschaftsdirektor
12 Rechtsanwalt/Steuerberater 12 Rechtsanwalt/Steuerberater
13 Rechtsanwalt 13 Rechtsanwalt
14 NaN 14 NaN
15 Erster Schriftleiter 15 Erster Schriftleiter
16 Zweiter Schriftleiter 16 Zweiter Schriftleiter
17 Assistenz der Schriftleitung 17 Assistenz der Schriftleitung
affiliation role affiliation role
0 NaN Herausgeber 0 NaN Herausgeber
1 Bundesministerium für Ernährung und Landwirtsc... Redaktion 1 Bundesministerium für Ernährung und Landwirtsc... Redaktion
2 Hochschule Weihenstephan-Triesdorf, Freising Redaktion 2 Hochschule Weihenstephan-Triesdorf, Freising Redaktion
3 NaN Redaktion 3 NaN Redaktion
4 NaN Redaktion 4 NaN Redaktion
5 NaN Redaktion 5 NaN Redaktion
6 NaN Redaktion 6 NaN Redaktion
7 NaN Redaktion 7 NaN Redaktion
8 Sozialversicherung für Landwirtschaft, Forsten... Redaktion 8 Sozialversicherung für Landwirtschaft, Forsten... Redaktion
9 Bayerisches Staatsministerium für Ernährung, L... Redaktion 9 Bayerisches Staatsministerium für Ernährung, L... Redaktion
10 Institut für Landwirtschaftsrecht, Georg-Augus... Redaktion 10 Institut für Landwirtschaftsrecht, Georg-Augus... Redaktion
11 Landwirtschaftskammer NRW, Bonn Redaktion 11 Landwirtschaftskammer NRW, Bonn Redaktion
12 NaN Redaktion 12 NaN Redaktion
13 Landvolk Niedersachsen, Hannover Redaktion 13 Landvolk Niedersachsen, Hannover Redaktion
14 NaN Schriftleitung 14 NaN Schriftleitung
15 Institut für Landwirtschaftsrecht Schriftleitung 15 Institut für Landwirtschaftsrecht Schriftleitung
16 NaN Schriftleitung 16 NaN Schriftleitung
17 NaN Schriftleitung 17 NaN Schriftleitung
%% Cell type:markdown id:9cef77bb17d57b53 tags: %% Cell type:markdown id:9cef77bb17d57b53 tags:
## ChatGPT 3.5-turbo ## ChatGPT 3.5-turbo
see [result](langchain-experiments/data/output/editors-openai-gpt-3.5-turbo.csv) see [result](data/output/editors-openai-gpt-3.5-turbo.csv)
%% Cell type:code id:e1aedc5ef3cab564 tags: %% Cell type:code id:e1aedc5ef3cab564 tags:
``` python ``` python
model = ChatOpenAI(model_name="gpt-3.5-turbo") model = ChatOpenAI(model_name="gpt-3.5-turbo")
df = use_model(model, template, journal_name=journal_name, website_text=website_text) 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.to_csv('data/output/editors-openai-gpt-3.5-turbo.csv')
df df
``` ```
%% Output %% Output
lastname firstname title \ lastname firstname title \
0 Deutsche Gesellschaft für Agrarrecht 0 Deutsche Gesellschaft für Agrarrecht
1 Regierungsdirektor Dr. Christian 1 Regierungsdirektor Dr. Christian
2 Prof. Dr. Ewald 2 Prof. Dr. Ewald
3 Rechtsanwalt Dr. Matthias 3 Rechtsanwalt Dr. Matthias
4 Rechtsanwalt Dr. Bernd von Garmissen 4 Rechtsanwalt Dr. Bernd von Garmissen
5 Rechtsanwalt Ingo 5 Rechtsanwalt Ingo
6 Rechtsanwältin Christiane 6 Rechtsanwältin Christiane
7 Rechtsanwalt Jens 7 Rechtsanwalt Jens
8 Ltd. Verwaltungsdirektor Dr. Erich 8 Ltd. Verwaltungsdirektor Dr. Erich
9 Ministerialrat Dr. Christian 9 Ministerialrat Dr. Christian
10 Prof. Dr. Jose 10 Prof. Dr. Jose
11 Ltd. Landwirtschaftsdirektor Volkmar 11 Ltd. Landwirtschaftsdirektor Volkmar
12 Rechtsanwalt/Steuerberater Ralf 12 Rechtsanwalt/Steuerberater Ralf
13 Rechtsanwalt Harald 13 Rechtsanwalt Harald
14 Prof. Dr. José 14 Prof. Dr. José
15 LLD Volkmar 15 LLD Volkmar
16 Irina Valeska Schell 16 Irina Valeska Schell
position \ position \
0 Herausgeber 0 Herausgeber
1 Redaktion 1 Redaktion
2 Redaktion 2 Redaktion
3 Redaktion 3 Redaktion
4 Redaktion 4 Redaktion
5 Redaktion 5 Redaktion
6 Redaktion 6 Redaktion
7 Redaktion 7 Redaktion
8 Redaktion 8 Redaktion
9 Redaktion 9 Redaktion
10 Redaktion 10 Redaktion
11 Redaktion 11 Redaktion
12 Redaktion 12 Redaktion
13 Redaktion 13 Redaktion
14 Schriftleitung 14 Schriftleitung
15 Schriftleitung 15 Schriftleitung
16 Assistenz der Schriftleitung 16 Assistenz der Schriftleitung
affiliation role affiliation role
0 0
1 Bundesministerium für Ernährung und Landwirtsc... 1 Bundesministerium für Ernährung und Landwirtsc...
2 Hochschule Weihenstephan-Triesdorf, Freising 2 Hochschule Weihenstephan-Triesdorf, Freising
3 Bitburg 3 Bitburg
4 Göttingen 4 Göttingen
5 Rostock 5 Rostock
6 Bonn 6 Bonn
7 Peine 7 Peine
8 Sozialversicherung für Landwirtschaft, Forsten... 8 Sozialversicherung für Landwirtschaft, Forsten...
9 Bayerisches Staatsministerium für Ernährung, L... 9 Bayerisches Staatsministerium für Ernährung, L...
10 Institut für Landwirtschaftsrecht, Georg-Augus... 10 Institut für Landwirtschaftsrecht, Georg-Augus...
11 Landwirtschaftskammer NRW, Bonn 11 Landwirtschaftskammer NRW, Bonn
12 Bonn 12 Bonn
13 Landvolk Niedersachsen, Hannover 13 Landvolk Niedersachsen, Hannover
14 Institut für Landwirtschaftsrecht 14 Institut für Landwirtschaftsrecht
15 15
16 16
%% Cell type:markdown id:90ce37abf037e19f tags: %% Cell type:markdown id:90ce37abf037e19f tags:
## TheBloke/Llama-2-13B-chat-GPTQ via Huggingface Inference Endpoint ## TheBloke/Llama-2-13B-chat-GPTQ via Huggingface Inference Endpoint
https://huggingface.co/TheBloke/Llama-2-13B-chat-GPTQ https://huggingface.co/TheBloke/Llama-2-13B-chat-GPTQ
%% Cell type:code id:f05098a4cf2aa3dc tags: %% Cell type:code id:f05098a4cf2aa3dc tags:
``` python ``` python
from lib.hf_llama2_13b_chat import query from lib.hf_llama2_13b_chat import query
lines = query(template, journal_name=journal_name, website_text=website_text).split("\n")[4:] lines = query(template, journal_name=journal_name, website_text=website_text).split("\n")[4:]
lines lines
``` ```
%% Output %% Output
['', ['',
'Martinez,José,Professor', 'Martinez,José,Professor',
'Busse,Regierungsdirektor', 'Busse,Regierungsdirektor',
'Ewald,Endres,Forst,Jurist', 'Ewald,Endres,Forst,Jurist',
'Glas,VolkmarNies,Koch', 'Glas,VolkmarNies,Koch',
'', '',
'', '',
'Note: Some positions have been omitted as they are not explicitly mentioned in the text.'] 'Note: Some positions have been omitted as they are not explicitly mentioned in the text.']
%% Cell type:code id:b94cf62b996bf3a2 tags: %% Cell type:code id:b94cf62b996bf3a2 tags:
``` python ``` 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