Skip to content

Commit 11dfc81

Browse files
Create Dash-Langchain-app1.py
1 parent e84c25e commit 11dfc81

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

Blog/Dash-Langchain-app1.py

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from dash import Dash, dcc, html, callback, Input, Output
2+
from langchain.prompts import ChatPromptTemplate
3+
from langchain.chat_models import ChatOpenAI
4+
5+
prompt = ChatPromptTemplate.from_template("tell me a joke about {foo}")
6+
api_key = "my-api-key-goes-here"
7+
model = ChatOpenAI(openai_api_key=api_key)
8+
chain = prompt | model
9+
10+
app = Dash()
11+
12+
app.layout = html.Div([
13+
html.H1("Joke-Generating App"),
14+
html.Label("Tell me a joke about: "),
15+
dcc.Input(id='subject', debounce=True, maxLength=15),
16+
html.Hr(),
17+
html.Div(id='joke-placeholder')
18+
])
19+
20+
@callback(
21+
Output('joke-placeholder', 'children'),
22+
Input('subject', 'value'),
23+
prevent_initial_call=True
24+
)
25+
def update_layout(input_value):
26+
joke = chain.invoke({"foo": input_value})
27+
output = joke.content
28+
return output
29+
30+
31+
if __name__ == "__main__":
32+
app.run_server(debug=True)

0 commit comments

Comments
 (0)