GenAI Chatbot
A GenAI powered academic writing assistant ChatBot (CoachGPT).
This is a project that I am currently participating in and collaborating with the people from the School of Education at the University of Delaware. We want to develop an AI-based chatbot called “CoachGPT” to assist academic writing in English and help students complete their writing assignments step by step (scaffolding). The high-level goal of this project is to (1) make writing/learning fun and effective, (2) support self-regulative learning for everyone, everywhere, regardless of what resources they have, and (3) check the impact of the projects on users to understand the project, limitations, and areas of improvements.
We leverage the software development lifecycle (SDLC) methodology to guide our system development. We first spend time on planning to gather user requirements, allocate resources, set up budgets, schedule meetings, estimate implementation timelines, and clarify deliverables at later stages.

Chatbot core is powered by ChatGPT implemented by LangChain. Full implementation code and development documents are currently in private, but you can check out our:
Live Demo and User Video Tutorial.
---
user: test@gmail.com
password: password
---
Example code from LangServe to build a similar chatbot app:
#!/usr/bin/env python
from fastapi import FastAPI
from langchain.prompts import ChatPromptTemplate
from langchain.chat_models import ChatAnthropic, ChatOpenAI
from langserve import add_routes
app = FastAPI(
title="LangChain Server",
version="1.0",
description="A simple api server using Langchain's Runnable interfaces",
)
add_routes(
app,
ChatOpenAI(model="gpt-3.5-turbo-0125"),
path="/openai",
)
add_routes(
app,
ChatAnthropic(model="claude-3-haiku-20240307"),
path="/anthropic",
)
model = ChatAnthropic(model="claude-3-haiku-20240307")
prompt = ChatPromptTemplate.from_template("tell me a joke about {topic}")
add_routes(
app,
prompt | model,
path="/joke",
)
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="localhost", port=8000)