aboutsummaryrefslogtreecommitdiff
path: root/lang_prompt_demo.py
diff options
context:
space:
mode:
Diffstat (limited to 'lang_prompt_demo.py')
-rw-r--r--lang_prompt_demo.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/lang_prompt_demo.py b/lang_prompt_demo.py
new file mode 100644
index 0000000..d63aea3
--- /dev/null
+++ b/lang_prompt_demo.py
@@ -0,0 +1,37 @@
+import os
+import sys
+import typing
+from dotenv import load_dotenv
+
+from tools.contacts import get_all_contacts
+from tools.vocode import call_phone_number
+from langchain.memory import ConversationBufferMemory
+
+from stdout_filterer import RedactPhoneNumbers
+
+load_dotenv()
+
+from langchain.chat_models import ChatOpenAI
+from langchain.agents import initialize_agent
+from langchain.agents import AgentType
+
+if __name__ == "__main__":
+ # Redirect stdout to our custom class
+ sys.stdout = typing.cast(typing.TextIO, RedactPhoneNumbers(sys.stdout))
+
+ OBJECTIVE = (
+ input("Objective: ")
+ or "Find a random person in my contacts and tell them a joke"
+ )
+ llm = ChatOpenAI(temperature=0, model_name="gpt-4") # type: ignore
+ memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
+ # Logging of LLMChains
+ verbose = True
+ agent = initialize_agent(
+ tools=[get_all_contacts, call_phone_number],
+ llm=llm,
+ agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION,
+ verbose=verbose,
+ memory=memory,
+ )
+ agent.run(OBJECTIVE)