|
""" |
|
优化任务 - 表示一个LLM优化任务 |
|
""" |
|
|
|
import logging |
|
from typing import Callable, Optional |
|
|
|
|
|
def setup_logger(name, level=logging.INFO): |
|
"""设置日志记录器""" |
|
logger = logging.getLogger(name) |
|
|
|
if logger.handlers: |
|
logger.handlers.clear() |
|
|
|
|
|
handler = logging.StreamHandler() |
|
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') |
|
handler.setFormatter(formatter) |
|
logger.addHandler(handler) |
|
logger.setLevel(level) |
|
|
|
logger.propagate = False |
|
return logger |
|
|
|
|
|
logger = setup_logger("optimizer.task") |
|
|
|
class OptimizeTask: |
|
""" |
|
优化任务,表示一个需要LLM优化的文本任务 |
|
""" |
|
|
|
def __init__(self, sentence_id: str, text: str, callback: Optional[Callable[[str, str, str], None]] = None): |
|
""" |
|
初始化优化任务 |
|
|
|
:param sentence_id: 句子ID |
|
:param text: 需要优化的文本 |
|
:param callback: 优化完成后的回调函数,接收参数(sentence_id, original_text, optimized_text) |
|
""" |
|
self.sentence_id = sentence_id |
|
self.text = text |
|
self.callback = callback |
|
logger.debug(f"创建优化任务: {sentence_id}") |
|
|
|
def __str__(self): |
|
"""字符串表示""" |
|
return f"OptimizeTask(id={self.sentence_id}, text={self.text[:20]}...)" |
|
|
|
|
|
if __name__ == "__main__": |
|
|
|
logger.setLevel(logging.DEBUG) |
|
|
|
|
|
def fake_callback(sid, original_text, optimized_text): |
|
logger.info(f"[回调] 优化结果:({sid}) -> {optimized_text}") |
|
|
|
|
|
task = OptimizeTask("s001", "they go home maybe tomorrow", fake_callback) |
|
|
|
|
|
from optimizer.llm_api_runner import ChatGPTRunner |
|
runner = ChatGPTRunner() |
|
|
|
|
|
optimized_text = runner.optimize(task.text) |
|
|
|
|
|
if task.callback: |
|
task.callback(task.sentence_id, task.text, optimized_text) |
|
|
|
logger.info("测试完成") |
|
|