Spaces:
Runtime error
Runtime error
from langchain.chat_models import ChatOpenAI | |
from langchain.prompts import SystemMessagePromptTemplate | |
from config import Config | |
CFG = Config() | |
EDIT_TEMPLATE = """You are an editor. \ | |
You have been tasked with editing the following draft, which was written by a non-expert. \ | |
Please accept the draft if it is good enough to publish, or send it for revision, along with your notes to guide the revision. \ | |
Things you should be checking for: | |
- This draft MUST fully answer the original question | |
- This draft MUST be written in apa format | |
If not all of the above criteria are met, you should send appropriate revision notes. | |
""" | |
class EditorActor: | |
def __init__(self): | |
self.model = ChatOpenAI(model=CFG.smart_llm_model) | |
self.prompt = SystemMessagePromptTemplate.from_template(EDIT_TEMPLATE) + "Draft:\n\n{draft}" | |
self.functions = [ | |
{ | |
"name": "revise", | |
"description": "Sends the draft for revision", | |
"parameters": { | |
"type": "object", | |
"properties": { | |
"notes": { | |
"type": "string", | |
"description": "The editor's notes to guide the revision.", | |
}, | |
}, | |
}, | |
}, | |
{ | |
"name": "accept", | |
"description": "Accepts the draft", | |
"parameters": { | |
"type": "object", | |
"properties": {"ready": {"const": True}}, | |
}, | |
}, | |
] | |
def runnable(self): | |
return ( | |
self.prompt | self.model.bind(functions=self.functions) | |
) | |