From b7fbff1674971aa6b6b3df58ced956173fef5e22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20K=C3=A1n=C4=9B?= Date: Sat, 23 Jan 2021 00:33:55 +0100 Subject: [PATCH] Geneea demo --- flake.nix | 40 ++++++++++++++++++++++++++++++++++++++++ validator/geneea.py | 31 +++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 flake.nix create mode 100755 validator/geneea.py diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..bcc5d50 --- /dev/null +++ b/flake.nix @@ -0,0 +1,40 @@ +{ + description = "Res judicata"; + + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-20.09"; + + outputs = { self, nixpkgs }: + let + pkgs = nixpkgs.legacyPackages.x86_64-linux; + in + { + + packages.x86_64-linux.form-dev = pkgs.mkShell { + buildInputs = [ pkgs.nodejs-14_x ]; + shellHook = '' + ''; + }; + + packages.x86_64-linux.validator-dev = + let + geneea_sdk = pkgs.python38Packages.buildPythonPackage rec { + pname = "geneea-nlp-client"; + version = "1.2.0"; + src = pkgs.python38Packages.fetchPypi { + inherit pname version; + sha256 = "Q0fYD3V0NbUOItpCwA6ExIy7sIcQxpfqr1aPSXd4+cc="; + }; + propagatedBuildInputs = with pkgs.python38Packages; [ requests retrying ]; + doCheck = false; + }; + in + pkgs.mkShell { + buildInputs = [ pkgs.python38 pkgs.python38Packages.pip geneea_sdk ]; + shellHook = '' + read -p 'Insert Geneea API key:' -r -s geneea_api_key + export geneea_api_key + ''; + }; + + }; +} diff --git a/validator/geneea.py b/validator/geneea.py new file mode 100755 index 0000000..cbc61ae --- /dev/null +++ b/validator/geneea.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python + +import os +from geneeanlpclient import g3 + + +def getKey() -> str: + key = os.getenv("geneea_api_key") + if key is None: + raise ValueError("$geneea_api_key env var was not set") + return key + + +def doTheTest(): + builder = g3.Request.Builder(analyses=[g3.AnalysisType.ALL], returnMentions=True, returnItemSentiment=True, domain=g3.Domain.MEDIA, textType="Business", referenceDate="2015-03-14", diacritization="redo", language="cs") + with g3.Client.create(userKey=getKey()) as analyzer: + result = analyzer.analyze( + builder.build(id=str(1), text='Koláč s rozinkami panu Karlovi moc chutnal.', language="cs")) + + # print(result) + + # for t in result.tokens: + # print(f'{t} – lemma "{t.lemma}"') + + for r in result.relations: + # print(r) + print(f'{r.type} {r.textRepr} - {r.name}') + + +if __name__ == '__main__': + doTheTest()