flexeval 0.7.2__tar.gz → 0.7.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flexeval-0.7.2 → flexeval-0.7.3}/PKG-INFO +2 -1
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/language_model/openai_api.py +39 -5
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/llm_score.py +1 -1
- flexeval-0.7.3/flexeval/core/prompt_template/jinja2.py +37 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/reward_model/pairwise_judge_reward_model.py +1 -1
- {flexeval-0.7.2 → flexeval-0.7.3}/pyproject.toml +1 -1
- flexeval-0.7.2/flexeval/core/prompt_template/jinja2.py +0 -25
- {flexeval-0.7.2 → flexeval-0.7.3}/LICENSE +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/README.md +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/README.md +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/mt-en-ref-gpt4.jsonl +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/mt-en.jsonl +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/mt-ja-ref-gpt4.jsonl +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/mt-ja.jsonl +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/rakuda-v2-ja.jsonl +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/vicuna-en-ref-gpt4.jsonl +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/vicuna-en.jsonl +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/vicuna-ja-ref-gpt4.jsonl +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/vicuna-ja.jsonl +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/sacrebleu_dataset.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/template_based.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/eval_setups.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/evaluate_chat_response.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/evaluate_from_data.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/evaluate_generation.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/evaluate_multiple_choice.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/evaluate_pairwise.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/evaluate_perplexity.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/evaluate_reward_model.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/few_shot_generator/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/few_shot_generator/balanced.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/few_shot_generator/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/few_shot_generator/rand.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/generation_dataset/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/generation_dataset/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/generation_dataset/sacrebleu_dataset.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/generation_dataset/template_based.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/language_model/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/language_model/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/language_model/hf_lm.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/language_model/openai_batch_api.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/language_model/vllm_model.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/bleu.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/char_f1.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/code_eval.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/common_prefix_length.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/common_string_length.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/exact_match.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/output_length_stats.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/perspective_api.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/rouge.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/string_processor/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/string_processor/aio.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/string_processor/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/string_processor/last_line.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/string_processor/noop.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/string_processor/regex.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/string_processor/string_strip.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/substring_match.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/tokenizer/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/tokenizer/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/tokenizer/mecab.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/tokenizer/sacrebleu_tokenizer.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/tokenizer/whitespace.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/metric/xer.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/multiple_choice_dataset/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/multiple_choice_dataset/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/multiple_choice_dataset/template_based.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/judge/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/judge/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/judge/llm_judge.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/match.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/match_maker/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/match_maker/all_combinations.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/match_maker/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/match_maker/random_combinations.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/scorer/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/scorer/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/scorer/bradley_terry.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/scorer/win_rate.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/prompt_template/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/prompt_template/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/result_recorder/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/result_recorder/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/result_recorder/local_recorder.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/result_recorder/wandb_recorder.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/reward_bench_dataset/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/reward_bench_dataset/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/reward_bench_dataset/hf.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/reward_model/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/reward_model/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/text_dataset/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/text_dataset/base.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/text_dataset/hf.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/text_dataset/jsonl.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/utils/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/utils/data_util.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/utils/jinja2_utils.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/code_chat/mbpp_chat.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/code_generation/jhumaneval.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/code_generation/jhumaneval_tab_indent.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/code_generation/mbpp.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/code_generation/mbpp_tab_indent.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/code_generation/openai_humaneval.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/code_generation/openai_humaneval_tab_indent.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_chat/mt-en.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_chat/vicuna-en.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_generation/babi.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_generation/commonsense_qa.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_generation/gsm8k.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_generation/squad_v1.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_generation/trivia_qa.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_generation/twitter_sentiment.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_multiple_choice/commonsense_qa_mc.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_multiple_choice/hellaswag.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_multiple_choice/openbookqa.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_multiple_choice/xwinograd_en.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_perplexity/tiny_shakespeare.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_chat/aio_chat.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_chat/elyza_tasks_100.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_chat/mgsm_ja_chat.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_chat/mt-ja.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_chat/rakuda-v2-ja.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_chat/vicuna-ja.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/aio.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/jcommonsenseqa.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/jnli.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/jsquad.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/mgsm_ja.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/wrime_pos_neg.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/xlsum_ja.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_multiple_choice/jcommonsenseqa_mc.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_multiple_choice/xwinograd_ja.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/translation/wmt20_en_ja.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/translation/wmt20_ja_en.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/translation_chat/wmt20_en_ja_chat.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/translation_chat/wmt20_ja_en_chat.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/Metric/assistant_eval_en_single_turn.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/Metric/assistant_eval_ja_single_turn.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/Metric/elyza_tasks_100_eval.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/PairwiseJudge/assistant_judge_en_single_turn.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/PairwiseJudge/assistant_judge_ja_single_turn.jsonnet +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/scripts/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/scripts/common.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/scripts/flexeval_file.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/scripts/flexeval_lm.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/scripts/flexeval_pairwise.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/scripts/flexeval_presets.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/scripts/flexeval_reward.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/utils/__init__.py +0 -0
- {flexeval-0.7.2 → flexeval-0.7.3}/flexeval/utils/module_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flexeval
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3
|
|
4
4
|
Summary:
|
|
5
5
|
Author: ryokan-ri
|
|
6
6
|
Author-email: ryokan.ri@sbintuitions.co.jp
|
|
@@ -10,6 +10,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.10
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
14
|
Provides-Extra: vllm
|
|
14
15
|
Provides-Extra: wandb
|
|
15
16
|
Requires-Dist: datasets (>=2.14.6,<3.0.0)
|
|
@@ -6,28 +6,56 @@ from typing import Any, Awaitable, Callable, TypeVar
|
|
|
6
6
|
import openai
|
|
7
7
|
from loguru import logger
|
|
8
8
|
from openai import AsyncOpenAI
|
|
9
|
+
from openai.types.chat import ChatCompletion, ChatCompletionMessage
|
|
10
|
+
from openai.types.chat.chat_completion import Choice
|
|
9
11
|
|
|
10
12
|
from .base import LanguageModel, normalize_stop_sequences
|
|
11
13
|
|
|
12
14
|
T = TypeVar("T")
|
|
13
15
|
|
|
14
16
|
|
|
17
|
+
# NOTE: current implementation uses only choices[0].message.content field.
|
|
18
|
+
EMPTY_RESPONSE = ChatCompletion(
|
|
19
|
+
id="dummy",
|
|
20
|
+
choices=[
|
|
21
|
+
Choice(
|
|
22
|
+
finish_reason="stop",
|
|
23
|
+
index=0,
|
|
24
|
+
message=ChatCompletionMessage(
|
|
25
|
+
content="", refusal=None, role="assistant", function_call=None, tool_calls=None
|
|
26
|
+
),
|
|
27
|
+
)
|
|
28
|
+
],
|
|
29
|
+
created=946652400, # dummy integer
|
|
30
|
+
model="dummy_model",
|
|
31
|
+
object="chat.completion",
|
|
32
|
+
service_tier=None,
|
|
33
|
+
system_fingerprint=None,
|
|
34
|
+
usage=None,
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
|
|
15
38
|
async def _retry_on_error(
|
|
16
39
|
openai_call: Callable[[], Awaitable[T]],
|
|
17
40
|
max_num_trials: int = 5,
|
|
18
41
|
first_wait_time: int = 10,
|
|
19
|
-
) -> Awaitable[T]
|
|
42
|
+
) -> Awaitable[T]:
|
|
20
43
|
for i in range(max_num_trials):
|
|
21
44
|
try:
|
|
22
45
|
return await openai_call()
|
|
23
46
|
except openai.APIError as e: # noqa: PERF203
|
|
24
47
|
if i == max_num_trials - 1:
|
|
25
|
-
|
|
48
|
+
# Since reaching maximum number of trials, exit for-loop and return
|
|
49
|
+
# empty response.
|
|
50
|
+
break
|
|
26
51
|
logger.warning(f"We got an error: {e}")
|
|
27
52
|
wait_time_seconds = first_wait_time * (2**i)
|
|
28
53
|
logger.warning(f"Wait for {wait_time_seconds} seconds...")
|
|
29
54
|
await asyncio.sleep(wait_time_seconds)
|
|
30
|
-
|
|
55
|
+
|
|
56
|
+
logger.warning(f"We reached maximum number of trials ({max_num_trials} trials.).")
|
|
57
|
+
logger.warning("Response including empty string is returned.")
|
|
58
|
+
return EMPTY_RESPONSE
|
|
31
59
|
|
|
32
60
|
|
|
33
61
|
class OpenAIChatAPI(LanguageModel):
|
|
@@ -108,7 +136,10 @@ class OpenAIChatAPI(LanguageModel):
|
|
|
108
136
|
**kwargs,
|
|
109
137
|
),
|
|
110
138
|
)
|
|
111
|
-
|
|
139
|
+
completions = [res.choices[0].message.content for res in api_responses]
|
|
140
|
+
if all(completion == "" for completion in completions):
|
|
141
|
+
logger.warning("All generated texts are empty strings. Something may be wrong.")
|
|
142
|
+
return completions
|
|
112
143
|
|
|
113
144
|
def batch_generate_chat_response(
|
|
114
145
|
self,
|
|
@@ -118,7 +149,10 @@ class OpenAIChatAPI(LanguageModel):
|
|
|
118
149
|
api_responses = asyncio.run(
|
|
119
150
|
self._async_batch_run_chatgpt(chat_messages_list, **kwargs),
|
|
120
151
|
)
|
|
121
|
-
|
|
152
|
+
completions = [res.choices[0].message.content for res in api_responses]
|
|
153
|
+
if all(completion == "" for completion in completions):
|
|
154
|
+
logger.warning("All generated texts are empty string. Something may go wrong.")
|
|
155
|
+
return completions
|
|
122
156
|
|
|
123
157
|
def __repr__(self) -> str:
|
|
124
158
|
return f"{self.__class__.__name__}(model={self.model})"
|
|
@@ -49,7 +49,7 @@ def summarize_evaluator_scores(
|
|
|
49
49
|
if score is None or category_key is None:
|
|
50
50
|
continue
|
|
51
51
|
if category_key in task_inputs:
|
|
52
|
-
category2valid_scores[task_inputs[
|
|
52
|
+
category2valid_scores[task_inputs[category_key]].append(score)
|
|
53
53
|
|
|
54
54
|
category2mean_score: dict[str, float] = {}
|
|
55
55
|
for category, valid_scores in category2valid_scores.items():
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
from flexeval.core.utils.jinja2_utils import JINJA2_ENV
|
|
6
|
+
|
|
7
|
+
from .base import PromptTemplate
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Jinja2PromptTemplate(PromptTemplate):
|
|
11
|
+
"""
|
|
12
|
+
Embed task inputs using Jinja2 template engine.
|
|
13
|
+
|
|
14
|
+
Args:
|
|
15
|
+
template: The Jinja2 template to use.
|
|
16
|
+
template_path: The path to a file with the Jinja2 template to use.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
def __init__(self, template: str | None = None, template_path: str | None = None) -> None:
|
|
20
|
+
if template is None and template_path is None:
|
|
21
|
+
msg = "Either template or template_path must be provided"
|
|
22
|
+
raise ValueError(msg)
|
|
23
|
+
if template is not None and template_path is not None:
|
|
24
|
+
msg = "Only one of template or template_path can be provided"
|
|
25
|
+
raise ValueError(msg)
|
|
26
|
+
|
|
27
|
+
if template_path is not None:
|
|
28
|
+
with open(template_path) as f:
|
|
29
|
+
self.template = f.read()
|
|
30
|
+
else:
|
|
31
|
+
self.template = template
|
|
32
|
+
|
|
33
|
+
def embed_inputs(self, input_dict: dict[str, Any]) -> str:
|
|
34
|
+
return JINJA2_ENV.from_string(self.template).render(input_dict)
|
|
35
|
+
|
|
36
|
+
def __repr__(self) -> str:
|
|
37
|
+
return f"Jinja2PromptTemplate(template={self.template!r})"
|
|
@@ -120,6 +120,6 @@ class PairwiseJudgeRewardModel(RewardModel):
|
|
|
120
120
|
|
|
121
121
|
for i in range(len(outputs)):
|
|
122
122
|
outputs[i]["llm_outputs"] = [judge_outputs[i * 2], judge_outputs[i * 2 + 1]]
|
|
123
|
-
outputs[i]["
|
|
123
|
+
outputs[i]["evaluation_results"] = [chosen_is_betters[i * 2], chosen_is_betters[i * 2 + 1]]
|
|
124
124
|
|
|
125
125
|
return chosen_is_betters, outputs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "flexeval"
|
|
3
|
-
version = "0.7.
|
|
3
|
+
version = "0.7.3" # This will be automatically set from git tag by poetry-dynamic-versioning
|
|
4
4
|
description = ""
|
|
5
5
|
authors = ["ryokan-ri <ryokan.ri@sbintuitions.co.jp>"]
|
|
6
6
|
readme = "README.md"
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import Any
|
|
4
|
-
|
|
5
|
-
from flexeval.core.utils.jinja2_utils import JINJA2_ENV
|
|
6
|
-
|
|
7
|
-
from .base import PromptTemplate
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class Jinja2PromptTemplate(PromptTemplate):
|
|
11
|
-
"""
|
|
12
|
-
Embed task inputs using Jinja2 template engine.
|
|
13
|
-
|
|
14
|
-
Args:
|
|
15
|
-
template: The Jinja2 template to use.
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
|
-
def __init__(self, template: str) -> None:
|
|
19
|
-
self.template = template
|
|
20
|
-
|
|
21
|
-
def embed_inputs(self, input_dict: dict[str, Any]) -> str:
|
|
22
|
-
return JINJA2_ENV.from_string(self.template).render(input_dict)
|
|
23
|
-
|
|
24
|
-
def __repr__(self) -> str:
|
|
25
|
-
return f"Jinja2PromptTemplate(template={self.template!r})"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/README.md
RENAMED
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/mt-en.jsonl
RENAMED
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/mt-ja.jsonl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/vicuna-en.jsonl
RENAMED
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/chat_dataset/chatbot_bench_datasets/vicuna-ja.jsonl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/core/pairwise_comparison/match_maker/all_combinations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/code_chat/mbpp_chat.jsonnet
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/code_generation/mbpp.jsonnet
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_chat/vicuna-en.jsonnet
RENAMED
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_generation/babi.jsonnet
RENAMED
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_generation/gsm8k.jsonnet
RENAMED
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_generation/squad_v1.jsonnet
RENAMED
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/en_generation/trivia_qa.jsonnet
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_chat/aio_chat.jsonnet
RENAMED
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_chat/elyza_tasks_100.jsonnet
RENAMED
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_chat/mgsm_ja_chat.jsonnet
RENAMED
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_chat/rakuda-v2-ja.jsonnet
RENAMED
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_chat/vicuna-ja.jsonnet
RENAMED
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/aio.jsonnet
RENAMED
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/jnli.jsonnet
RENAMED
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/jsquad.jsonnet
RENAMED
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/mgsm_ja.jsonnet
RENAMED
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/ja_generation/xlsum_ja.jsonnet
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/translation/wmt20_en_ja.jsonnet
RENAMED
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/EvalSetup/translation/wmt20_ja_en.jsonnet
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flexeval-0.7.2 → flexeval-0.7.3}/flexeval/preset_configs/Metric/elyza_tasks_100_eval.jsonnet
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|