Spaces:
Running
Running
abdoh-alkhateeb
commited on
Commit
•
8b6a021
1
Parent(s):
e3b702e
Create outline_agent.py
Browse files- outline_agent.py +23 -0
outline_agent.py
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from langchain_community.callbacks import get_openai_callback
|
2 |
+
from langchain_core.prompts import PromptTemplate
|
3 |
+
from langchain_openai import ChatOpenAI
|
4 |
+
|
5 |
+
from prompts.outline_agent import template
|
6 |
+
|
7 |
+
|
8 |
+
class OutlineAgent:
|
9 |
+
def __init__(self, model: str = "gpt-4-1106-preview", temperature: float = 0.3) -> None:
|
10 |
+
self._prompt = PromptTemplate(input_variables=["query"], template=template)
|
11 |
+
|
12 |
+
self._llm = ChatOpenAI(model=model, temperature=temperature)
|
13 |
+
|
14 |
+
self._chain = self._prompt | self._llm
|
15 |
+
|
16 |
+
def run(self, query: str) -> tuple[str, dict]:
|
17 |
+
with get_openai_callback() as cb:
|
18 |
+
accountability = self._chain.invoke({"query": query}).content.strip()
|
19 |
+
|
20 |
+
tokens = cb.total_tokens
|
21 |
+
cost = cb.total_cost
|
22 |
+
|
23 |
+
return accountability, {"tokens": tokens, "cost": cost}
|