-
Notifications
You must be signed in to change notification settings - Fork 291
Commit
- Loading branch information
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,6 @@ | ||
package de.tum.in.www1.artemis.service.connectors.iris.dto; | ||
|
||
import de.tum.in.www1.artemis.domain.iris.IrisMessage; | ||
import de.tum.in.www1.artemis.service.connectors.iris.IrisModel; | ||
|
||
public record IrisMessageResponseDTO(IrisModel usedModel, IrisMessage message) { | ||
public record IrisMessageResponseDTO(String usedModel, IrisMessage message) { | ||
} | ||
Check warning on line 6 in src/main/java/de/tum/in/www1/artemis/service/connectors/iris/dto/IrisMessageResponseDTO.java Teamscale / teamscale-findingssrc/main/java/de/tum/in/www1/artemis/service/connectors/iris/dto/IrisMessageResponseDTO.java#L5-L6
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
package de.tum.in.www1.artemis.service.connectors.iris.dto; | ||
|
||
public record IrisModelDTO(String id, String name, String description) { | ||
} | ||
Check warning on line 4 in src/main/java/de/tum/in/www1/artemis/service/connectors/iris/dto/IrisModelDTO.java Teamscale / teamscale-findingssrc/main/java/de/tum/in/www1/artemis/service/connectors/iris/dto/IrisModelDTO.java#L3-L4
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
package de.tum.in.www1.artemis.web.rest.iris; | ||
|
||
import java.util.List; | ||
|
||
import org.springframework.context.annotation.Profile; | ||
import org.springframework.http.ResponseEntity; | ||
import org.springframework.web.bind.annotation.GetMapping; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import org.springframework.web.bind.annotation.RestController; | ||
|
||
import de.tum.in.www1.artemis.security.annotations.EnforceAtLeastEditor; | ||
import de.tum.in.www1.artemis.service.connectors.iris.IrisConnectorException; | ||
import de.tum.in.www1.artemis.service.connectors.iris.IrisConnectorService; | ||
import de.tum.in.www1.artemis.service.connectors.iris.dto.IrisModelDTO; | ||
import de.tum.in.www1.artemis.web.rest.errors.InternalServerErrorException; | ||
|
||
/** | ||
* REST controller for managing the models Pyris provides. | ||
*/ | ||
@RestController | ||
@Profile("iris") | ||
@RequestMapping("api/") | ||
public class IrisModelsResource { | ||
|
||
private final IrisConnectorService irisConnectorService; | ||
|
||
public IrisModelsResource(IrisConnectorService irisConnectorService) { | ||
Check warning on line 27 in src/main/java/de/tum/in/www1/artemis/web/rest/iris/IrisModelsResource.java Teamscale / teamscale-findingssrc/main/java/de/tum/in/www1/artemis/web/rest/iris/IrisModelsResource.java#L27
|
||
this.irisConnectorService = irisConnectorService; | ||
} | ||
|
||
/** | ||
* GET iris/models: Retrieve all available models offered by Pyris | ||
* | ||
* @return the {@link ResponseEntity} with status {@code 200 (Ok)} and with body a List of the models | ||
*/ | ||
@GetMapping("iris/models") | ||
@EnforceAtLeastEditor | ||
public ResponseEntity<List<IrisModelDTO>> getAllModels() { | ||
try { | ||
var models = irisConnectorService.getOfferedModels(); | ||
return ResponseEntity.ok(models); | ||
} | ||
catch (IrisConnectorException e) { | ||
throw new InternalServerErrorException("Could not fetch available Iris models"); | ||
Check warning on line 44 in src/main/java/de/tum/in/www1/artemis/web/rest/iris/IrisModelsResource.java Teamscale / teamscale-findingssrc/main/java/de/tum/in/www1/artemis/web/rest/iris/IrisModelsResource.java#L44
|
||
} | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd"> | ||
<changeSet id="20230717171717" author="morrien"> | ||
<modifyDataType tableName="iris_sub_settings" columnName="preferred_model" newDataType="VARCHAR(100)" /> | ||
</changeSet> | ||
</databaseChangeLog> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
export class IrisModel { | ||
id: string; | ||
name: string; | ||
description: string; | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,9 @@ | ||
import { BaseEntity } from 'app/shared/model/base-entity'; | ||
import { IrisTemplate } from 'app/entities/iris/settings/iris-template'; | ||
|
||
export enum IrisModel { | ||
GPT35 = 'GPT35', | ||
} | ||
|
||
export class IrisSubSettings implements BaseEntity { | ||
id?: number; | ||
enabled = false; | ||
template?: IrisTemplate; | ||
preferredModel?: IrisModel; | ||
preferredModel?: string; | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,31 @@ | ||
<div> | ||
<jhi-button id="reload" [btnType]="PRIMARY" [isLoading]="isLoading" [icon]="faRotate" [title]="'artemisApp.iris.settings.button.reload'" (onClick)="loadIrisSettings()"> | ||
</jhi-button> | ||
<jhi-button id="save" [btnType]="SUCCESS" [isLoading]="isSaving" [icon]="faSave" [title]="'artemisApp.iris.settings.button.save'" (onClick)="saveIrisSettings()"> </jhi-button> | ||
<jhi-button id="save" [btnType]="SUCCESS" [isLoading]="isSaving" [icon]="faSave" [title]="'artemisApp.iris.settings.button.save'" (onClick)="saveIrisSettings()"></jhi-button> | ||
</div> | ||
<div *ngIf="irisSettings"> | ||
<h3 jhiTranslate="artemisApp.iris.settings.subSettings.chatSettings">Chat Settings</h3> | ||
<div> | ||
<jhi-iris-sub-settings-update [subSettings]="irisSettings!.irisChatSettings!" [templateOptional]="settingType !== GLOBAL"></jhi-iris-sub-settings-update> | ||
<jhi-iris-sub-settings-update | ||
[subSettings]="irisSettings!.irisChatSettings!" | ||
[models]="irisModels ?? []" | ||
[templateOptional]="settingType !== GLOBAL" | ||
[modelOptional]="settingType !== GLOBAL" | ||
></jhi-iris-sub-settings-update> | ||
</div> | ||
<hr class="hr" /> | ||
|
||
<h3 jhiTranslate="artemisApp.iris.settings.subSettings.hestiaSettings">Hestia Settings</h3> | ||
<div *ngIf="settingType === PROGRAMMING_EXERCISE" class="form-check form-switch"> | ||
<input class="form-check-input" type="checkbox" id="inheritHestia" [checked]="!irisSettings?.irisHestiaSettings" (change)="onInheritHestiaSettingsChanged()" /> | ||
<label class="form-check-label" for="inheritHestia" jhiTranslate="artemisApp.iris.settings.subSettings.inheritHestiaSettings">Inherit</label> | ||
<label class="form-check-label" for="inheritHestia" jhiTranslate="artemisApp.iris.settings.subSettings.inheritHestiaSettings"> Inherit </label> | ||
</div> | ||
<div *ngIf="irisSettings!.irisHestiaSettings"> | ||
<jhi-iris-sub-settings-update [subSettings]="irisSettings!.irisHestiaSettings!" [templateOptional]="settingType !== GLOBAL"></jhi-iris-sub-settings-update> | ||
<jhi-iris-sub-settings-update | ||
[subSettings]="irisSettings!.irisHestiaSettings!" | ||
[models]="irisModels ?? []" | ||
[templateOptional]="settingType !== GLOBAL" | ||
[modelOptional]="settingType !== GLOBAL" | ||
></jhi-iris-sub-settings-update> | ||
</div> | ||
</div> |