From 1614209350273b498731e096f7cc3de7770f17cd Mon Sep 17 00:00:00 2001 From: Joel Alexander Date: Sat, 13 Jan 2024 14:09:10 -0500 Subject: [PATCH] add cookbook example, loadenv in client --- parea/client.py | 3 ++ .../langchain/trace_langchain_simple.py | 29 +++++++++++++++++++ pyproject.toml | 2 +- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 parea/cookbook/langchain/trace_langchain_simple.py diff --git a/parea/client.py b/parea/client.py index 0a731be7..92a0d195 100644 --- a/parea/client.py +++ b/parea/client.py @@ -6,6 +6,7 @@ from attrs import asdict, define, field from cattrs import structure +from dotenv import load_dotenv from openai import OpenAI from parea.api_client import HTTPClient @@ -26,6 +27,8 @@ from parea.utils.trace_utils import get_current_trace_id, logger_all_possible, logger_record_log, trace_data from parea.wrapper import OpenAIWrapper +load_dotenv() + COMPLETION_ENDPOINT = "/completion" DEPLOYED_PROMPT_ENDPOINT = "/deployed-prompt" RECORD_FEEDBACK_ENDPOINT = "/feedback" diff --git a/parea/cookbook/langchain/trace_langchain_simple.py b/parea/cookbook/langchain/trace_langchain_simple.py new file mode 100644 index 00000000..a25018f2 --- /dev/null +++ b/parea/cookbook/langchain/trace_langchain_simple.py @@ -0,0 +1,29 @@ +import os + +from dotenv import load_dotenv +from langchain_community.chat_models import ChatOpenAI +from langchain_core.output_parsers import StrOutputParser +from langchain_core.prompts import ChatPromptTemplate + +from parea import Parea +from parea.utils.trace_integrations.langchain import PareaAILangchainTracer + +load_dotenv() + +p = Parea(api_key=os.getenv("PAREA_API_KEY")) +handler = PareaAILangchainTracer() + +llm = ChatOpenAI(openai_api_key=os.getenv("OPENAI_API_KEY")) +prompt = ChatPromptTemplate.from_messages([("user", "{input}")]) +chain = prompt | llm | StrOutputParser() + + +def main(): + return chain.invoke( + {"input": "Write a Hello World program in Python using FastAPI."}, + config={"callbacks": [handler]}, + ) + + +if __name__ == "__main__": + print(main()) diff --git a/pyproject.toml b/pyproject.toml index f1fb552d..086a3989 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "parea-ai" packages = [{ include = "parea" }] -version = "0.2.29" +version = "0.2.30a0" description = "Parea python sdk" readme = "README.md" authors = ["joel-parea-ai "]