Spaces:
Sleeping
Sleeping
import streamlit as st | |
from langchain_openai import ChatOpenAI | |
from langchain_core.messages import AIMessage | |
from langchain_community.tools.tavily_search import TavilySearchResults | |
from langchain_core.messages import HumanMessage | |
from langgraph.checkpoint.memory import MemorySaver | |
from langgraph.prebuilt import create_react_agent | |
from dotenv import load_dotenv | |
load_dotenv() | |
def get_model(): | |
model = ChatOpenAI(model="gpt-4o", temperature=0, base_url="https://models.inference.ai.azure.com") | |
return model | |
memory = MemorySaver() | |
search = TavilySearchResults(max_results=2) | |
tools = [search] | |
model = get_model() | |
app = create_react_agent(model, tools, checkpointer=memory) | |
config = {"configurable": {"thread_id": "111"}} | |
if query:=st.chat_input("Ask anything"): | |
msg= [HumanMessage(query)] | |
def gen(): | |
for chunk, metadata in app.stream({"messages": msg}, config=config, stream_mode="messages"): | |
if isinstance(chunk, AIMessage): | |
yield chunk.content | |
st.write_stream(gen) | |