Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions evaluate/generate.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import os
import polars as pl
import pickle
from tqdm import tqdm

from frieda.providers import (DecoderBase,
from providers import (DecoderBase,
init_model, determine_backend)
from frieda.data_control import (load_data, save_data,
from data_control import (load_data, save_data,
partition_data)

def respond_q(model: DecoderBase,
Expand Down
20 changes: 10 additions & 10 deletions evaluate/providers/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import torch
import gc

from inference.providers.base import DecoderBase
from inference.providers.utility import determine_backend
from evaluate.providers.base import DecoderBase
from evaluate.providers.utility import determine_backend

# GC and cuda cache empty
try:
Expand All @@ -23,27 +23,27 @@ def init_model(model:str,
attn_implementation:str,) -> DecoderBase:
if backend == "hf":
if 'Qwen/' in model:
from inference.providers.hf.qwen import QwenDecoder
from evaluate.providers.hf.qwen import QwenDecoder
return QwenDecoder(model,
attn_implementation)

elif 'OpenGVLab/' in model:
from inference.providers.hf.internvl import InternVLDecoder
from evaluate.providers.hf.internvl import InternVLDecoder
return InternVLDecoder(model,
attn_implementation)

elif 'AIDC-AI/' in model:
from inference.providers.hf.ovis import OvisDecoder
from evaluate.providers.hf.ovis import OvisDecoder
return OvisDecoder(model,
attn_implementation)

elif 'llava-hf/' in model:
from inference.providers.hf.llava import LLaVADecoder
from evaluate.providers.hf.llava import LLaVADecoder
return LLaVADecoder(model,
attn_implementation)

elif 'zai-org/' in model:
from inference.providers.hf.glm import GLMDecoder
from evaluate.providers.hf.glm import GLMDecoder
return GLMDecoder(model,)

else:
Expand All @@ -52,15 +52,15 @@ def init_model(model:str,

elif backend == 'openai':
# Support for GPT family
from inference.providers.google import GeminiDecoder
from evaluate.providers.openai import GPTDecoder
print()

elif backend == 'anthropic':
# Support for Claude family
from inference.providers.anthropic import ClaudeDecoder
from evaluate.providers.anthropic import ClaudeDecoder
print()

elif backend == 'google':
# Supoort for Gemini
from inference.providers.openai import GPTDecoder
from evaluate.providers.google import GeminiDecoder
print()
4 changes: 2 additions & 2 deletions evaluate/providers/anthropic.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

import torch

from frieda.providers.base import DecoderBase
from frieda.providers.utility import make_input_message
from evaluate.providers.base import DecoderBase
from evaluate.providers.utility import make_input_message

class ClaudeDecoder(DecoderBase):
def __init__(self,
Expand Down
2 changes: 1 addition & 1 deletion evaluate/providers/base.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from abc import ABC, abstractmethod
from typing import List

from frieda.providers.utility import config_bnb
from evaluate.providers.utility import config_bnb

class DecoderBase(ABC):
def __init__(self,
Expand Down
4 changes: 2 additions & 2 deletions evaluate/providers/google.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
from google import genai
from google.genai import types

from frieda.providers.base import DecoderBase
from frieda.providers.utility import make_input_message
from evaluate.providers.base import DecoderBase
from evaluate.providers.utility import make_input_message

class GeminiDecoder(DecoderBase):
def __init__(self,
Expand Down
4 changes: 2 additions & 2 deletions evaluate/providers/hf/glm.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import torch
from transformers import AutoProcessor, Glm4vMoeForConditionalGeneration

from frieda.providers.base import DecoderBase
from frieda.providers.utility import make_input_message
from evaluate.providers.base import DecoderBase
from evaluate.providers.utility import make_input_message

class GLMDecoder(DecoderBase):
def __init__(self,
Expand Down
4 changes: 2 additions & 2 deletions evaluate/providers/hf/internvl.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import torch
from transformers import AutoProcessor

from frieda.providers.base import DecoderBase
from frieda.providers.utility import make_input_message
from evaluate.providers.base import DecoderBase
from evaluate.providers.utility import make_input_message

class InternVLDecoder(DecoderBase):
def __init__(self,
Expand Down
4 changes: 2 additions & 2 deletions evaluate/providers/hf/llava.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import torch
from transformers import AutoProcessor

from frieda.providers.base import DecoderBase
from frieda.providers.utility import make_input_message
from evaluate.providers.base import DecoderBase
from evaluate.providers.utility import make_input_message

class LLaVADecoder(DecoderBase):
def __init__(self,
Expand Down
4 changes: 2 additions & 2 deletions evaluate/providers/hf/ovis.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import torch
from transformers import AutoProcessor, AutoModelForCausalLM

from frieda.providers.base import DecoderBase
from frieda.providers.utility import make_input_message
from evaluate.providers.base import DecoderBase
from evaluate.providers.utility import make_input_message

class OvisDecoder(DecoderBase):
def __init__(self,
Expand Down
4 changes: 2 additions & 2 deletions evaluate/providers/hf/qwen.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import torch
from transformers import AutoProcessor

from frieda.providers.base import DecoderBase
from frieda.providers.utility import make_input_message
from evaluate.providers.base import DecoderBase
from evaluate.providers.utility import make_input_message

class QwenDecoder(DecoderBase):
def __init__(self,
Expand Down
4 changes: 2 additions & 2 deletions evaluate/providers/openai.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

import torch

from frieda.providers.base import DecoderBase
from frieda.providers.utility import make_input_message
from evaluate.providers.base import DecoderBase
from evaluate.providers.utility import make_input_message

class GPTDecoder(DecoderBase):
def __init__(self,
Expand Down
32 changes: 16 additions & 16 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,34 +54,34 @@ def collect_data(data_dir:str) -> None:
sub = parser.add_subparsers(dest="cmd", required=True)

p_download = sub.add_parser("download")
parser.add_argument("--download_dir", default="./data",
help="Path to download data to. Default path is ./data")
parser.add_arugment("--method", type=str, default='hf', choices=['gdrive', 'hf'],
help="Method of downloading FRIEDA (either Google Drive or HuggingFace)")
p_download.add_argument("--download_dir", default="./data",
help="Path to download data to. Default path is ./data")
p_download.add_argument("--method", type=str, default='hf', choices=['gdrive', 'hf'],
help="Method of downloading FRIEDA (either Google Drive or HuggingFace)")

p_eval = sub.add_parser("test")
parser.add_argument("--model", type=str, default=None,
p_eval.add_argument("--model", type=str, required=True,
help="Name/model_id/path of LVLM to test on")
parser.add_argument("--split", type=str, default='direct', choices=['direct', 'contextual'],
help="FRIEDA evaluation subset (either -direct or -contextual)"),
parser.add_argument('--data_dir', type=str, default=None,
help="")
parser.add_argument("--result_dir", type=str, default='./results',
p_eval.add_argument("--split", type=str, default='direct', choices=['direct', 'contextual'],
help="FRIEDA evaluation subset (either direct or contextual)")
p_eval.add_argument('--data_dir', type=str, default=None,
help="Path to the FRIEDA dataset")
p_eval.add_argument("--result_dir", type=str, default='./results',
help="Path to save evaluation results to. Default path is ./results")
parser.add_argument("--batch_size", type=int, default=8,
p_eval.add_argument("--batch_size", type=int, default=8,
help="Batch size")
parser.add_argument("--thinking", action="store_true",
p_eval.add_argument("--thinking", action="store_true",
help="Run in thinking mode. e.g., Ovis2.5-Thinking")
parser.add_argument("--use_flash", action="store_true",
p_eval.add_argument("--use_flash", action="store_true",
help="Use flash attention 2")
parser.add_argument("--evaluate", action="store_true",
p_eval.add_argument("--evaluate", action="store_true",
help="Run final output evaluation")

# p_visualize = sub.add_parser("visualize")

p_preprocess = sub.add_parser("collection")
parser.add_argument("--data_dir", type=str, required=True,
help="Directory with raw PDF files")
p_preprocess.add_argument("--data_dir", type=str, required=True,
help="Directory with raw PDF files")

args = parser.parse_args()

Expand Down