Spaces:
Sleeping
Sleeping
| ### Import Section ### | |
| """ | |
| IMPORTS HERE | |
| """ | |
| # Example Imports (adjust based on actual needs) | |
| import chainlit as cl | |
| from langchain.chat_models import ChatOpenAI | |
| from langchain.chains import ConversationChain | |
| from langchain.prompts import ChatPromptTemplate | |
| from langchain.schema import StrOutputParser | |
| from langchain.schema.runnable import Runnable | |
| from langchain.schema.runnable.config import RunnableConfig | |
| from typing import cast | |
| ### Global Section ### | |
| """ | |
| GLOBAL CODE HERE | |
| """ | |
| # Initialize a language model or chain globally | |
| llm = ChatOpenAI(temperature=0.9) | |
| conversation_chain = ConversationChain(llm=llm) | |
| # Any global variables like API keys, configurations, etc. | |
| # API_KEY = "your_api_key_here" | |
| ### On Chat Start (Session Start) Section ### | |
| async def on_chat_start(): | |
| """ SESSION SPECIFIC CODE HERE """ | |
| await cl.Message(content="Welcome! How can I assist you today?").send() | |
| ### Rename Chains ### | |
| def rename(orig_author: str): | |
| if orig_author == "user": | |
| return "You" | |
| elif orig_author == "system": | |
| return "Assistant" | |
| return orig_author | |
| ### On Message Section ### | |
| async def on_message(message: cl.Message): | |
| runnable = cast(Runnable, cl.user_session.get("runnable")) | |
| msg = cl.Message(content="") | |
| async for chunk in runnable.astream( | |
| {"question": message.content}, | |
| config=RunnableConfig(callbacks=[cl.LangchainCallbackHandler()]), | |
| ): | |
| await msg.stream_token(chunk) | |
| await msg.send() |