dev-strender's picture
Replace v24-era demo with v34 pipeline demo (engine-vendored bundle)
9c84f9d verified
Raw History Blame Contribute Delete
1.24 kB
from abc import ABC, abstractmethod
from solar_eval.models.sample import EvalSample
from solar_eval.providers.base import BaseProvider
class BasePipeline(ABC):
@abstractmethod
async def run(
self,
sample: EvalSample,
*,
prompts: str,
provider: BaseProvider,
model: str,
temperature: float = 0.0,
max_tokens: int = 8000,
reasoning_effort: str | None = None,
messages: list[dict[str, str]] | None = None,
) -> EvalSample:
"""`sample.input` ์„ ์ฝ์–ด `sample.output` ์„ ์ฑ„์šฐ๊ณ  ๋˜๋Œ๋ ค์ค€๋‹ค.
๋ฉ€ํ‹ฐ์Šคํ… ํŒŒ์ดํ”„๋ผ์ธ์€ ์Šคํ…๋งˆ๋‹ค `sample.output` ์„ ๋ฎ์–ด์“ฐ๋ฉด์„œ
`sample.artifacts["step_outputs"]` ์— {์Šคํ… ์ด๋ฆ„: ๊ทธ ์Šคํ… ์งํ›„ output} ์„
๋ˆ„์ ํ•œ๋‹ค. usage/timing ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” `sample.artifacts["usage"]` /
`sample.artifacts["inference_time_ms"]` ์— ๋‹ด๋Š”๋‹ค.
Args:
sample: ์ฑ„์šธ ์ƒ˜ํ”Œ. `sample.input` ์ด ํŒŒ์ดํ”„๋ผ์ธ ์ž…๋ ฅ์ด๋‹ค.
prompts: single-step ์˜ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ. multi-step ์€ ์Šคํ…๋ณ„
ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์ƒ์„ฑ์ž์—์„œ ์ด๋ฏธ ์ฃผ์ž…๋ผ ์žˆ์–ด ์ด ์ธ์ž๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
"""
...