Skip to content

Commit f57f348

Browse files
authored
Point the chatbots to the Learn AI endpoints (#2045)
* Provide Learn AI endpoints on environment * Point the chatbots to the Learn AI endpoints * course_id on the Syllabus agent API
1 parent 123da67 commit f57f348

File tree

10 files changed

+39
-41
lines changed

10 files changed

+39
-41
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ jobs:
166166
SENTRY_PROFILES_SAMPLE_RATE: ${{ secrets.SENTRY_PROFILES_SAMPLE_RATE_RC }}
167167
SENTRY_TRACES_SAMPLE_RATE: ${{ secrets.SENTRY_TRACES_SAMPLE_RATE_RC }}
168168
APPZI_URL: ${{ secrets.APPZI_URL_RC }}
169+
LEARN_AI_RECOMMENDATION_ENDPOINT: ${{ secrets.LEARN_AI_RECOMMENDATION_ENDPOINT_RC }}
170+
LEARN_AI_SYLLABUS_ENDPOINT: ${{ secrets.LEARN_AI_SYLLABUS_ENDPOINT_RC }}
169171
VERSION: ${{ github.sha }}
170172
run: |
171173
docker build \
@@ -185,6 +187,8 @@ jobs:
185187
--build-arg NEXT_PUBLIC_SENTRY_PROFILES_SAMPLE_RATE=$SENTRY_PROFILES_SAMPLE_RATE \
186188
--build-arg NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=$SENTRY_TRACES_SAMPLE_RATE \
187189
--build-arg NEXT_PUBLIC_APPZI_URL=$APPZI_URL \
190+
--build-arg NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=$LEARN_AI_RECOMMENDATION_ENDPOINT \
191+
--build-arg NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=$LEARN_AI_SYLLABUS_ENDPOINT \
188192
--build-arg NEXT_PUBLIC_VERSION=$VERSION \
189193
-t mitodl/mit-learn-frontend:$VERSION .
190194

.github/workflows/production.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ jobs:
5858
SENTRY_PROFILES_SAMPLE_RATE: ${{ secrets.SENTRY_PROFILES_SAMPLE_RATE_PROD }}
5959
SENTRY_TRACES_SAMPLE_RATE: ${{ secrets.SENTRY_TRACES_SAMPLE_RATE_PROD }}
6060
APPZI_URL: ${{ secrets.APPZI_URL_PROD }}
61+
LEARN_AI_RECOMMENDATION_ENDPOINT: ${{ secrets.LEARN_AI_RECOMMENDATION_ENDPOINT_PROD }}
62+
LEARN_AI_SYLLABUS_ENDPOINT: ${{ secrets.LEARN_AI_SYLLABUS_ENDPOINT_PROD }}
6163
VERSION: ${{ github.sha }}
6264
run: |
6365
heroku container:push web \
@@ -79,6 +81,8 @@ jobs:
7981
NEXT_PUBLIC_SENTRY_PROFILES_SAMPLE_RATE=$SENTRY_PROFILES_SAMPLE_RATE,\
8082
NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=$SENTRY_TRACES_SAMPLE_RATE,\
8183
NEXT_PUBLIC_APPZI_URL=$APPZI_URL,\
84+
NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=$LEARN_AI_RECOMMENDATION_ENDPOINT,\
85+
NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=$LEARN_AI_SYLLABUS_ENDPOINT,\
8286
NEXT_PUBLIC_VERSION=$VERSION \
8387
--context-path .
8488

.github/workflows/release-candidate.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ jobs:
5858
SENTRY_PROFILES_SAMPLE_RATE: ${{ secrets.SENTRY_PROFILES_SAMPLE_RATE_RC }}
5959
SENTRY_TRACES_SAMPLE_RATE: ${{ secrets.SENTRY_TRACES_SAMPLE_RATE_RC }}
6060
APPZI_URL: ${{ secrets.APPZI_URL_RC }}
61+
LEARN_AI_RECOMMENDATION_ENDPOINT: ${{ secrets.LEARN_AI_RECOMMENDATION_ENDPOINT_RC }}
62+
LEARN_AI_SYLLABUS_ENDPOINT: ${{ secrets.LEARN_AI_SYLLABUS_ENDPOINT_RC }}
6163
VERSION: ${{ github.sha }}
6264
run: |
6365
heroku container:push web \
@@ -79,6 +81,8 @@ jobs:
7981
NEXT_PUBLIC_SENTRY_PROFILES_SAMPLE_RATE=$SENTRY_PROFILES_SAMPLE_RATE,\
8082
NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=$SENTRY_TRACES_SAMPLE_RATE,\
8183
NEXT_PUBLIC_APPZI_URL=$APPZI_URL,\
84+
NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=$LEARN_AI_RECOMMENDATION_ENDPOINT,\
85+
NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=$LEARN_AI_SYLLABUS_ENDPOINT,\
8286
NEXT_PUBLIC_VERSION=$VERSION \
8387
--context-path .
8488

env/frontend.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,6 @@ NEXT_PUBLIC_DEFAULT_SEARCH_SLOP=6
1818
NEXT_PUBLIC_DEFAULT_SEARCH_STALENESS_PENALTY=2.5
1919
NEXT_PUBLIC_DEFAULT_SEARCH_MINIMUM_SCORE_CUTOFF=0
2020
NEXT_PUBLIC_DEFAULT_SEARCH_MAX_INCOMPLETENESS_PENALTY=90
21+
22+
NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=https://api-learn-ai-qa.ol.mit.edu/http/recommendation_agent/
23+
NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=https://api-learn-ai-qa.ol.mit.edu/http/syllabus_agent/

frontends/main/Dockerfile.web

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
# --build-arg NEXT_PUBLIC_SENTRY_PROFILES_SAMPLE_RATE= \
1818
# --build-arg NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE= \
1919
# --build-arg NEXT_PUBLIC_APPZI_URL= \
20+
# --build-arg NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT= \
21+
# --build-arg NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT= \
2022
# --build-arg NEXT_PUBLIC_VERSION= \
2123
# -t mitodl/mit-learn-frontend:latest .
2224

@@ -45,6 +47,8 @@
4547
# NEXT_PUBLIC_SENTRY_PROFILES_SAMPLE_RATE=$SENTRY_PROFILES_SAMPLE_RATE,\
4648
# NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=$SENTRY_TRACES_SAMPLE_RATE,\
4749
# NEXT_PUBLIC_APPZI_URL=$APPZI_URL,\
50+
# NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=$LEARN_AI_RECOMMENDATION_ENDPOINT,\
51+
# NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=$LEARN_AI_SYLLABUS_ENDPOINT,\
4852
# NEXT_PUBLIC_VERSION=$VERSION \
4953
# --context-path .
5054

@@ -137,6 +141,11 @@ ENV NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=$NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE
137141
ARG NEXT_PUBLIC_APPZI_URL
138142
ENV NEXT_PUBLIC_APPZI_URL=$NEXT_PUBLIC_APPZI_URL
139143

144+
ARG NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT
145+
ENV NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=$NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT
146+
ARG NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT
147+
ENV NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=$NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT
148+
140149
ENV NEXT_PUBLIC_DEFAULT_SEARCH_MODE="phrase"
141150
ENV NEXT_PUBLIC_DEFAULT_SEARCH_SLOP="6"
142151
ENV NEXT_PUBLIC_DEFAULT_SEARCH_STALENESS_PENALTY="2.5"

frontends/main/src/app-pages/ChatPage/ChatPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ const ChatPage = () => {
4444
initialMessages={INITIAL_MESSAGES}
4545
conversationStarters={STARTERS}
4646
requestOpts={{
47-
apiUrl: `${process.env.NEXT_PUBLIC_MITOL_API_BASE_URL}/api/v0/chat_agent/`,
47+
apiUrl: process.env.NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT!,
4848
fetchOpts: {
4949
headers: {
5050
"X-CSRFToken": getCsrfToken(),

frontends/main/src/app-pages/ChatSyllabusPage/ChatSyllabusPage.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -105,19 +105,17 @@ const ChatSyllabusPage = () => {
105105
initialMessages={INITIAL_MESSAGES}
106106
conversationStarters={STARTERS}
107107
requestOpts={{
108-
apiUrl: `${process.env.NEXT_PUBLIC_MITOL_API_BASE_URL}/api/v0/syllabus_agent/`,
108+
apiUrl: process.env.NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT!,
109109
fetchOpts: {
110110
headers: {
111111
"X-CSRFToken": getCsrfToken(),
112112
},
113113
},
114-
transformBody: (messages) => {
115-
return {
116-
message: messages[messages.length - 1].content,
117-
readable_id: readableId,
118-
collection_name: collectionName,
119-
}
120-
},
114+
transformBody: (messages) => ({
115+
message: messages[messages.length - 1].content,
116+
course_id: readableId,
117+
collection_name: collectionName,
118+
}),
121119
onFinish: (message) => {
122120
const contentParts = message.content.split("<!--")
123121
if (contentParts.length > 1) {

frontends/main/src/page-components/AiRecommendationBot/AiRecommendationBot.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const AiRecommendationBot = ({
5454
conversationStarters={STARTERS}
5555
onClose={onClose}
5656
requestOpts={{
57-
apiUrl: `${process.env.NEXT_PUBLIC_MITOL_API_BASE_URL}/api/v0/chat_agent/`,
57+
apiUrl: process.env.NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT!,
5858
fetchOpts: {
5959
headers: {
6060
"X-CSRFToken": getCsrfToken(),

frontends/main/src/page-components/LearningResourceDrawer/AiChatSyllabus.tsx

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { LearningResource } from "api"
55
import { useUserMe } from "api/hooks/user"
66
import type { User } from "api/hooks/user"
77
import dynamic from "next/dynamic"
8-
import type { SyllabusChatRequestRequest } from "api/v0"
98

109
const AiChat = dynamic(
1110
() => import("@mitodl/smoot-design/ai").then((mod) => mod.AiChat),
@@ -56,20 +55,17 @@ const AiChatSyllabus: React.FC<AiChatSyllabusProps> = ({
5655
askTimTitle="about this course"
5756
onClose={onClose}
5857
requestOpts={{
59-
apiUrl: `${process.env.NEXT_PUBLIC_MITOL_API_BASE_URL}/api/v0/syllabus_agent/`,
58+
apiUrl: process.env.NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT!,
6059
fetchOpts: {
6160
headers: {
6261
"X-CSRFToken": getCsrfToken(),
6362
},
6463
},
65-
transformBody: (messages) => {
66-
const body: SyllabusChatRequestRequest = {
67-
collection_name: "content_files",
68-
message: messages[messages.length - 1].content,
69-
readable_id: resource?.readable_id,
70-
}
71-
return body
72-
},
64+
transformBody: (messages) => ({
65+
collection_name: "content_files",
66+
message: messages[messages.length - 1].content,
67+
course_id: resource?.readable_id,
68+
}),
7369
}}
7470
{...props}
7571
/>

yarn.lock

Lines changed: 1 addition & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)