Skip to content

Commit

Permalink
Point the chatbots to the Learn AI endpoints (#2045)
Browse files Browse the repository at this point in the history
* Provide Learn AI endpoints on environment

* Point the chatbots to the Learn AI endpoints

* course_id on the Syllabus agent API
  • Loading branch information
jonkafton authored Feb 13, 2025
1 parent 123da67 commit f57f348
Show file tree
Hide file tree
Showing 10 changed files with 39 additions and 41 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,8 @@ jobs:
SENTRY_PROFILES_SAMPLE_RATE: ${{ secrets.SENTRY_PROFILES_SAMPLE_RATE_RC }}
SENTRY_TRACES_SAMPLE_RATE: ${{ secrets.SENTRY_TRACES_SAMPLE_RATE_RC }}
APPZI_URL: ${{ secrets.APPZI_URL_RC }}
LEARN_AI_RECOMMENDATION_ENDPOINT: ${{ secrets.LEARN_AI_RECOMMENDATION_ENDPOINT_RC }}
LEARN_AI_SYLLABUS_ENDPOINT: ${{ secrets.LEARN_AI_SYLLABUS_ENDPOINT_RC }}
VERSION: ${{ github.sha }}
run: |
docker build \
Expand All @@ -185,6 +187,8 @@ jobs:
--build-arg NEXT_PUBLIC_SENTRY_PROFILES_SAMPLE_RATE=$SENTRY_PROFILES_SAMPLE_RATE \
--build-arg NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=$SENTRY_TRACES_SAMPLE_RATE \
--build-arg NEXT_PUBLIC_APPZI_URL=$APPZI_URL \
--build-arg NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=$LEARN_AI_RECOMMENDATION_ENDPOINT \
--build-arg NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=$LEARN_AI_SYLLABUS_ENDPOINT \
--build-arg NEXT_PUBLIC_VERSION=$VERSION \
-t mitodl/mit-learn-frontend:$VERSION .
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ jobs:
SENTRY_PROFILES_SAMPLE_RATE: ${{ secrets.SENTRY_PROFILES_SAMPLE_RATE_PROD }}
SENTRY_TRACES_SAMPLE_RATE: ${{ secrets.SENTRY_TRACES_SAMPLE_RATE_PROD }}
APPZI_URL: ${{ secrets.APPZI_URL_PROD }}
LEARN_AI_RECOMMENDATION_ENDPOINT: ${{ secrets.LEARN_AI_RECOMMENDATION_ENDPOINT_PROD }}
LEARN_AI_SYLLABUS_ENDPOINT: ${{ secrets.LEARN_AI_SYLLABUS_ENDPOINT_PROD }}
VERSION: ${{ github.sha }}
run: |
heroku container:push web \
Expand All @@ -79,6 +81,8 @@ jobs:
NEXT_PUBLIC_SENTRY_PROFILES_SAMPLE_RATE=$SENTRY_PROFILES_SAMPLE_RATE,\
NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=$SENTRY_TRACES_SAMPLE_RATE,\
NEXT_PUBLIC_APPZI_URL=$APPZI_URL,\
NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=$LEARN_AI_RECOMMENDATION_ENDPOINT,\
NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=$LEARN_AI_SYLLABUS_ENDPOINT,\
NEXT_PUBLIC_VERSION=$VERSION \
--context-path .
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/release-candidate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ jobs:
SENTRY_PROFILES_SAMPLE_RATE: ${{ secrets.SENTRY_PROFILES_SAMPLE_RATE_RC }}
SENTRY_TRACES_SAMPLE_RATE: ${{ secrets.SENTRY_TRACES_SAMPLE_RATE_RC }}
APPZI_URL: ${{ secrets.APPZI_URL_RC }}
LEARN_AI_RECOMMENDATION_ENDPOINT: ${{ secrets.LEARN_AI_RECOMMENDATION_ENDPOINT_RC }}
LEARN_AI_SYLLABUS_ENDPOINT: ${{ secrets.LEARN_AI_SYLLABUS_ENDPOINT_RC }}
VERSION: ${{ github.sha }}
run: |
heroku container:push web \
Expand All @@ -79,6 +81,8 @@ jobs:
NEXT_PUBLIC_SENTRY_PROFILES_SAMPLE_RATE=$SENTRY_PROFILES_SAMPLE_RATE,\
NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=$SENTRY_TRACES_SAMPLE_RATE,\
NEXT_PUBLIC_APPZI_URL=$APPZI_URL,\
NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=$LEARN_AI_RECOMMENDATION_ENDPOINT,\
NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=$LEARN_AI_SYLLABUS_ENDPOINT,\
NEXT_PUBLIC_VERSION=$VERSION \
--context-path .
Expand Down
3 changes: 3 additions & 0 deletions env/frontend.env
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@ NEXT_PUBLIC_DEFAULT_SEARCH_SLOP=6
NEXT_PUBLIC_DEFAULT_SEARCH_STALENESS_PENALTY=2.5
NEXT_PUBLIC_DEFAULT_SEARCH_MINIMUM_SCORE_CUTOFF=0
NEXT_PUBLIC_DEFAULT_SEARCH_MAX_INCOMPLETENESS_PENALTY=90

NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=https://api-learn-ai-qa.ol.mit.edu/http/recommendation_agent/
NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=https://api-learn-ai-qa.ol.mit.edu/http/syllabus_agent/
9 changes: 9 additions & 0 deletions frontends/main/Dockerfile.web
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
# --build-arg NEXT_PUBLIC_SENTRY_PROFILES_SAMPLE_RATE= \
# --build-arg NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE= \
# --build-arg NEXT_PUBLIC_APPZI_URL= \
# --build-arg NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT= \
# --build-arg NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT= \
# --build-arg NEXT_PUBLIC_VERSION= \
# -t mitodl/mit-learn-frontend:latest .

Expand Down Expand Up @@ -45,6 +47,8 @@
# NEXT_PUBLIC_SENTRY_PROFILES_SAMPLE_RATE=$SENTRY_PROFILES_SAMPLE_RATE,\
# NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=$SENTRY_TRACES_SAMPLE_RATE,\
# NEXT_PUBLIC_APPZI_URL=$APPZI_URL,\
# NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=$LEARN_AI_RECOMMENDATION_ENDPOINT,\
# NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=$LEARN_AI_SYLLABUS_ENDPOINT,\
# NEXT_PUBLIC_VERSION=$VERSION \
# --context-path .

Expand Down Expand Up @@ -137,6 +141,11 @@ ENV NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=$NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE
ARG NEXT_PUBLIC_APPZI_URL
ENV NEXT_PUBLIC_APPZI_URL=$NEXT_PUBLIC_APPZI_URL

ARG NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT
ENV NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT=$NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT
ARG NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT
ENV NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT=$NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT

ENV NEXT_PUBLIC_DEFAULT_SEARCH_MODE="phrase"
ENV NEXT_PUBLIC_DEFAULT_SEARCH_SLOP="6"
ENV NEXT_PUBLIC_DEFAULT_SEARCH_STALENESS_PENALTY="2.5"
Expand Down
2 changes: 1 addition & 1 deletion frontends/main/src/app-pages/ChatPage/ChatPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ const ChatPage = () => {
initialMessages={INITIAL_MESSAGES}
conversationStarters={STARTERS}
requestOpts={{
apiUrl: `${process.env.NEXT_PUBLIC_MITOL_API_BASE_URL}/api/v0/chat_agent/`,
apiUrl: process.env.NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT!,
fetchOpts: {
headers: {
"X-CSRFToken": getCsrfToken(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,19 +105,17 @@ const ChatSyllabusPage = () => {
initialMessages={INITIAL_MESSAGES}
conversationStarters={STARTERS}
requestOpts={{
apiUrl: `${process.env.NEXT_PUBLIC_MITOL_API_BASE_URL}/api/v0/syllabus_agent/`,
apiUrl: process.env.NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT!,
fetchOpts: {
headers: {
"X-CSRFToken": getCsrfToken(),
},
},
transformBody: (messages) => {
return {
message: messages[messages.length - 1].content,
readable_id: readableId,
collection_name: collectionName,
}
},
transformBody: (messages) => ({
message: messages[messages.length - 1].content,
course_id: readableId,
collection_name: collectionName,
}),
onFinish: (message) => {
const contentParts = message.content.split("<!--")
if (contentParts.length > 1) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ const AiRecommendationBot = ({
conversationStarters={STARTERS}
onClose={onClose}
requestOpts={{
apiUrl: `${process.env.NEXT_PUBLIC_MITOL_API_BASE_URL}/api/v0/chat_agent/`,
apiUrl: process.env.NEXT_PUBLIC_LEARN_AI_RECOMMENDATION_ENDPOINT!,
fetchOpts: {
headers: {
"X-CSRFToken": getCsrfToken(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { LearningResource } from "api"
import { useUserMe } from "api/hooks/user"
import type { User } from "api/hooks/user"
import dynamic from "next/dynamic"
import type { SyllabusChatRequestRequest } from "api/v0"

const AiChat = dynamic(
() => import("@mitodl/smoot-design/ai").then((mod) => mod.AiChat),
Expand Down Expand Up @@ -56,20 +55,17 @@ const AiChatSyllabus: React.FC<AiChatSyllabusProps> = ({
askTimTitle="about this course"
onClose={onClose}
requestOpts={{
apiUrl: `${process.env.NEXT_PUBLIC_MITOL_API_BASE_URL}/api/v0/syllabus_agent/`,
apiUrl: process.env.NEXT_PUBLIC_LEARN_AI_SYLLABUS_ENDPOINT!,
fetchOpts: {
headers: {
"X-CSRFToken": getCsrfToken(),
},
},
transformBody: (messages) => {
const body: SyllabusChatRequestRequest = {
collection_name: "content_files",
message: messages[messages.length - 1].content,
readable_id: resource?.readable_id,
}
return body
},
transformBody: (messages) => ({
collection_name: "content_files",
message: messages[messages.length - 1].content,
course_id: resource?.readable_id,
}),
}}
{...props}
/>
Expand Down
22 changes: 1 addition & 21 deletions yarn.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit f57f348

Please sign in to comment.