From 5d50a65316838b8fa45a381a731ff4611a2eaa32 Mon Sep 17 00:00:00 2001 From: hyusap Date: Tue, 23 Jan 2024 15:49:29 -0500 Subject: [PATCH] update cli --- example/cli/main.py | 33 ++++++++++++++++++--------------- example/cli/pyproject.toml | 2 +- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/example/cli/main.py b/example/cli/main.py index 0fbf7810..84910495 100644 --- a/example/cli/main.py +++ b/example/cli/main.py @@ -5,46 +5,49 @@ from langchain.schema import AIMessage, HumanMessage, SystemMessage from langchain_community.chat_models.fake import FakeListChatModel from honcho import Client as HonchoClient + # from client import HonchoClient honcho = HonchoClient(base_url="http://localhost:8000") responses = ["Fake LLM Response :)"] llm = FakeListChatModel(responses=responses) -system = SystemMessage(content="You are world class technical documentation writer. Be as concise as possible") +system = SystemMessage( + content="You are world class technical documentation writer. Be as concise as possible" +) user = "CLI-Test" session = honcho.create_session(user_id=user) -session_id = session["id"] + def langchain_message_converter(messages: List): new_messages = [] for message in messages: - if message["is_user"]: - new_messages.append(HumanMessage(content=message["content"])) + if message.is_user: + new_messages.append(HumanMessage(content=message.content)) else: - new_messages.append(AIMessage(content=message["content"])) + new_messages.append(AIMessage(content=message.content)) return new_messages + def chat(): while True: user_input = input("User: ") if user_input == "exit": - honcho.delete_session(user, session_id) + session.delete() break user_message = HumanMessage(content=user_input) - history = honcho.get_messages_for_session(user, session_id) + history = session.get_messages() langchain_history = langchain_message_converter(history) - prompt = ChatPromptTemplate.from_messages([ - system, - *langchain_history, - user_message - ]) - chain = prompt | llm + prompt = ChatPromptTemplate.from_messages( + [system, *langchain_history, user_message] + ) + chain = prompt | llm response = chain.invoke({}) print(type(response)) print(f"AI: {response.content}") - honcho.create_message_for_session(user, session_id, is_user=True, content=user_input) - honcho.create_message_for_session(user, session_id, is_user=False, content=response.content) + session.create_message(is_user=True, content=user_input) + session.create_message(is_user=False, content=response.content) + chat() diff --git a/example/cli/pyproject.toml b/example/cli/pyproject.toml index 66533b2e..6ba8e47f 100644 --- a/example/cli/pyproject.toml +++ b/example/cli/pyproject.toml @@ -7,7 +7,7 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.11" -honcho-ai = {path = "../../sdk/dist/honcho_ai-0.0.1-py3-none-any.whl"} +honcho-ai = {path = "../../sdk/dist/honcho_ai-0.0.0.dev1-py3-none-any.whl"} [tool.poetry.group.dev.dependencies] langchain = "^0.1.0"