DannyAI's picture
Upload 34 files
e6583bf verified
import os
from utils.retry import retry
from requests.exceptions import Timeout
from langchain.prompts import PromptTemplate
from langchain_huggingface import ChatHuggingFace, HuggingFaceEndpoint
from utils.logger import setup_logger
logger = setup_logger(__name__)
HUGGINGFACEHUB_API_TOKEN = os.getenv("HUGGINGFACEHUB_API_TOKEN")
repo_id = "meta-llama/Llama-3.2-3B-Instruct"
model_kwargs_writer = {
"max_new_tokens": 200,
"max_length": 100,
"temperature": 0.8,
"timeout": 6000,
}
llm = HuggingFaceEndpoint(
repo_id=repo_id,
huggingfacehub_api_token=HUGGINGFACEHUB_API_TOKEN,
**model_kwargs_writer
)
chat_model = ChatHuggingFace(llm=llm)
prompt = PromptTemplate.from_template(
"Generate an abstract for the paper titled '{input}' in the domain of {category}."
)
writer_chain = prompt | chat_model
@retry((Timeout,))
def writer_node(state):
logger.info(f"writer_node started with input: '{state.input}' and category: '{state.category}'")
try:
result = writer_chain.invoke({"input": state.input, "category": state.category})
logger.info("writer_node successfully generated abstract")
return {"abstract": result.content}
except Exception as e:
logger.error(f"writer_node error: {e}")
raise