Spaces:
Sleeping
Sleeping
cl.make_sync
Browse files
app.py
CHANGED
@@ -11,6 +11,7 @@ from langchain.text_splitter import RecursiveCharacterTextSplitter
|
|
11 |
from langchain.prompts import ChatPromptTemplate
|
12 |
from langchain.agents import Tool
|
13 |
from langchain.agents import ZeroShotAgent, AgentExecutor
|
|
|
14 |
from langchain import LLMChain
|
15 |
|
16 |
# text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=100)
|
@@ -38,6 +39,9 @@ from langchain import LLMChain
|
|
38 |
# prompt = ChatPromptTemplate(messages=messages)
|
39 |
# chain_type_kwargs = {"prompt": prompt}
|
40 |
|
|
|
|
|
|
|
41 |
@cl.author_rename
|
42 |
def rename(orig_author: str):
|
43 |
rename_dict = {"RetrievalQA": "Consulting The Barbenheimer"}
|
@@ -45,9 +49,11 @@ def rename(orig_author: str):
|
|
45 |
|
46 |
@cl.on_chat_start
|
47 |
async def init():
|
|
|
48 |
msg = cl.Message(content=f"Building Index...")
|
49 |
await msg.send()
|
50 |
|
|
|
51 |
|
52 |
# set up text splitters
|
53 |
wikipedia_text_splitter = RecursiveCharacterTextSplitter(
|
@@ -172,7 +178,7 @@ async def init():
|
|
172 |
"source2": (lambda x: x["question"]) | opp_csv_faiss_retriever,
|
173 |
"question": lambda x: x["question"],
|
174 |
} | prompt | llm
|
175 |
-
|
176 |
|
177 |
# Agent creation
|
178 |
# set up tools
|
@@ -188,7 +194,7 @@ async def init():
|
|
188 |
),
|
189 |
Tool(
|
190 |
name = "OppenheimerInfo",
|
191 |
-
func=
|
192 |
description='Useful when you need to answer questions about the Oppenheimer movie'
|
193 |
),
|
194 |
]
|
@@ -216,9 +222,18 @@ async def init():
|
|
216 |
agent=barbenheimer_agent,
|
217 |
tools=tools,
|
218 |
verbose=True )
|
|
|
|
|
|
|
|
|
|
|
219 |
|
220 |
@cl.on_message
|
221 |
async def main(message):
|
|
|
|
|
|
|
|
|
222 |
chain = cl.user_session.get("chain")
|
223 |
cb = cl.AsyncLangchainCallbackHandler(
|
224 |
stream_final_answer=False, answer_prefix_tokens=["FINAL", "ANSWER"]
|
|
|
11 |
from langchain.prompts import ChatPromptTemplate
|
12 |
from langchain.agents import Tool
|
13 |
from langchain.agents import ZeroShotAgent, AgentExecutor
|
14 |
+
from langchain.chat_models import ChatOpenAI
|
15 |
from langchain import LLMChain
|
16 |
|
17 |
# text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=100)
|
|
|
39 |
# prompt = ChatPromptTemplate(messages=messages)
|
40 |
# chain_type_kwargs = {"prompt": prompt}
|
41 |
|
42 |
+
import os
|
43 |
+
os.environ["OPENAI_API_KEY"] = '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'
|
44 |
+
|
45 |
@cl.author_rename
|
46 |
def rename(orig_author: str):
|
47 |
rename_dict = {"RetrievalQA": "Consulting The Barbenheimer"}
|
|
|
49 |
|
50 |
@cl.on_chat_start
|
51 |
async def init():
|
52 |
+
|
53 |
msg = cl.Message(content=f"Building Index...")
|
54 |
await msg.send()
|
55 |
|
56 |
+
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature = 0)
|
57 |
|
58 |
# set up text splitters
|
59 |
wikipedia_text_splitter = RecursiveCharacterTextSplitter(
|
|
|
178 |
"source2": (lambda x: x["question"]) | opp_csv_faiss_retriever,
|
179 |
"question": lambda x: x["question"],
|
180 |
} | prompt | llm
|
181 |
+
|
182 |
|
183 |
# Agent creation
|
184 |
# set up tools
|
|
|
194 |
),
|
195 |
Tool(
|
196 |
name = "OppenheimerInfo",
|
197 |
+
func=query_oppenheimer,
|
198 |
description='Useful when you need to answer questions about the Oppenheimer movie'
|
199 |
),
|
200 |
]
|
|
|
222 |
agent=barbenheimer_agent,
|
223 |
tools=tools,
|
224 |
verbose=True )
|
225 |
+
|
226 |
+
cl.user_session.set("chain", barbenheimer_agent_chain)
|
227 |
+
|
228 |
+
msg.content = f"Agent ready!"
|
229 |
+
await msg.send()
|
230 |
|
231 |
@cl.on_message
|
232 |
async def main(message):
|
233 |
+
|
234 |
+
msg = cl.Message(content=f"Thinking...")
|
235 |
+
await msg.send()
|
236 |
+
|
237 |
chain = cl.user_session.get("chain")
|
238 |
cb = cl.AsyncLangchainCallbackHandler(
|
239 |
stream_final_answer=False, answer_prefix_tokens=["FINAL", "ANSWER"]
|