Skip to content
Snippets Groups Projects
Commit c50b4759 authored by Julien B.'s avatar Julien B.
Browse files

fix(inferer+annotator): fix issues

parent 11c74073
Branches
No related tags found
No related merge requests found
...@@ -71,6 +71,8 @@ def annotation_process(job): ...@@ -71,6 +71,8 @@ def annotation_process(job):
get_last_concept_index(), get_last_concept_index(),
word_id word_id
) )
case 'NONE':
logger.error("No annotator configured, please provide an annotator before trying to add sentences.")
def separate_intervals(data): def separate_intervals(data):
......
...@@ -31,12 +31,13 @@ def update_last_concept_index(value): ...@@ -31,12 +31,13 @@ def update_last_concept_index(value):
def get_annotator_config(): def get_annotator_config():
result = db.search(where('key') == 'annotator_config') result = db.search(where('key') == 'annotator_config')
if not result: if not result:
created_object = {'key': 'annotator_config', 'value': { 'provider': 'GPT' }} created_object = {'key': 'annotator_config', 'value': { 'provider': 'NONE' }}
db.insert(created_object) db.insert(created_object)
return 0 return created_object['value']
else: else:
return result[0]['value'] return result[0]['value']
def update_annotator_config(value): def update_annotator_config(value):
get_annotator_config()
db.update({'value': value}, where('key') == 'annotator_config') db.update({'value': value}, where('key') == 'annotator_config')
return value return value
\ No newline at end of file
import json import json
import os
import traceback
from openai import OpenAI from openai import OpenAI
from api.internal_services import database
from api.internal_services.logger import logger from api.internal_services.logger import logger
client = OpenAI()
def gpt_process(sentence): def gpt_process(sentence):
try: try:
annotator_config = database.get_annotator_config()
client = OpenAI(api_key=annotator_config['openai_key'])
completion = client.chat.completions.create( completion = client.chat.completions.create(
model="gpt-4", model="gpt-4",
messages=[ messages=[
......
...@@ -2,5 +2,6 @@ from pydantic import BaseModel ...@@ -2,5 +2,6 @@ from pydantic import BaseModel
class InfererConfig(BaseModel): class InfererConfig(BaseModel):
provider: str provider: str
model_id: str model_id: str | None = None
server_url: str server_url: str | None = None
\ No newline at end of file openai_key: str | None = None
\ No newline at end of file
...@@ -40,9 +40,13 @@ def add_sentence_to_process(training_body: TrainingBody): ...@@ -40,9 +40,13 @@ def add_sentence_to_process(training_body: TrainingBody):
@router.post("/actions/inferer/config") @router.post("/actions/inferer/config")
def add_sentence_to_process(infererConfig: InfererConfig): def add_sentence_to_process(infererConfig: InfererConfig):
new_config = {'model_id': infererConfig.provider} new_config = {'provider': infererConfig.provider}
if infererConfig.provider == 'BERT':
new_config['model_id'] = infererConfig.model_id
new_config['server_url'] = infererConfig.server_url
database.update_annotator_config({'model_id': 'GPT'}) match infererConfig.provider:
\ No newline at end of file case 'BERT':
new_config['model_id'] = infererConfig.model_id
new_config['server_url'] = infererConfig.server_url
case 'GPT':
new_config['openai_key'] = infererConfig.openai_key
database.update_annotator_config(new_config)
\ No newline at end of file
from setuptools import setup, find_packages from setuptools import setup, find_packages
setup( setup(
name='ALA-Plateform-trainer', name='ALA-Plateform-inferer',
version='0.1', version='0.1',
packages=find_packages(), packages=find_packages(),
install_requires=[ install_requires=[
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment