This commit is contained in:
Tibor Bossanyi 2023-04-03 16:41:22 +02:00
parent ec2f6bc907
commit 391551f57b
6 changed files with 21 additions and 7 deletions

View File

@ -1,5 +1,10 @@
Workout Test and Diet 4 You Common Util Functions
### Version 1.0.25
- http get utf8
- gpt4 model
### Version 1.0.24
http get utf8

View File

@ -1,10 +1,13 @@
class OpenAIChat {
int id = 0;
late String messages; // JSON of ChatMessage
String modelName = "gpt-3.5-turbo";
double temperature = 0.1;
late String modelName;
late double temperature;
OpenAIChat(this.messages, {String? modelName, double? temperature});
OpenAIChat(this.messages, {String? modelName, double? temperature}) {
this.modelName = modelName ?? "gpt-3.5-turbo";
this.temperature = temperature ?? 0.1;
}
OpenAIChat.fromJson(Map json) {
id = json["id"];

View File

@ -7,6 +7,10 @@ import 'package:workouttest_util/service/api.dart';
import 'package:workouttest_util/util/logging.dart';
class OpenAIApi with Logging {
final String modelDavinci = "text-davinci-003";
final String modelGpt35 = "gpt-3.5-turbo";
final String modelGpt4 = "gpt-4-32k";
final String modelAda = "text-embedding-ada-002";
final APIClient _client = APIClient();
Future<String> getOpenAICompletion(String question) async {

View File

@ -111,7 +111,7 @@ class APIWebClient with Common, Logging {
log(" ------------get response code: ${result.statusCode}");
if (result.statusCode == 200) {
return utf8.decode(result.bodyBytes);
return result.body;
} else if (result.statusCode == 404) {
throw const NotFoundException(message: "Not Found");
} else {

View File

@ -1,6 +1,6 @@
name: workouttest_util
description: Workout Test app and web functions.
version: 1.0.24
version: 1.0.25
environment:
sdk: ">=2.18.6 <3.0.0"

View File

@ -1,3 +1,4 @@
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:workouttest_util/model/cache.dart';
import 'package:workouttest_util/model/openai.dart';
@ -7,7 +8,8 @@ import 'package:workouttest_util/service/openai_service.dart';
import 'dart:convert';
void main() {
setUp(() {
setUp(() async {
await dotenv.load(fileName: "assets/.env");
Cache().setDietTestBaseUrl();
});
@ -49,7 +51,7 @@ void main() {
"Te a Diet4You applikáció asszisztense vagy. Add meg ennek az ételnek a kalória és tápanyagadatait: 'Whopper'. A válasz ez az objektum JSON alakított formája legyen: Meal [mealName: string, calMin: double,calMax: double, chMin: double,chMax: double, fatMin: double,fatMax: double, proteinMin: double,proteinMax: double, sugar: double, portion: double, unit: string]. A portion paraméter azt tartalmazza, hogy ebből az ételből hány gramm v. ml az átlagos adag. A unit paraméter a 'portion' mennyiségi egysége";
OpenAIChatMessage message = OpenAIChatMessage(ChatRole.user, content);
String json = jsonEncode([message]);
var openai = OpenAIChat(json);
var openai = OpenAIChat(json, modelName: OpenAIApi().modelGpt4, temperature: 0.0);
String response = await api.getOpenAIChatCompletion(openai);
print(response);