mayureshagashe2105's picture
Update email client to yagmail
b60b60f
raw
history blame
2.26 kB
import mysql.connector
from mysql.connector import errorcode
from fastapi import FastAPI, status
from fastapi.exceptions import HTTPException
from fastapi.templating import Jinja2Templates
from backend.utils import DBConnection
from backend.core.ConfigEnv import config
from langchain.llms import Clarifai
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from fastapi_mail import ConnectionConfig, FastMail
import yagmail
from jinja2 import Environment, FileSystemLoader
import os
app = FastAPI(title="Techdocs",
version="V0.0.1",
description="API for automatic code documentation generation!"
)
from backend import router
try:
dbconnection = DBConnection()
test_conn = DBConnection.get_client().get_server_info()
# send prompt wizardcoderLM-70b-instruct-GGUF model
with open("backend/utils/prompt.txt",'r') as f:
prompt = f.read()
prompt = PromptTemplate(template=prompt, input_variables=['instruction'])
llm = Clarifai(
pat = config.CLARIFAI_PAT,
user_id = config.USER_ID,
app_id = config.APP_ID,
model_id = config.MODEL_ID,
model_version_id=config.MODEL_VERSION_ID,
)
llmchain = LLMChain(
prompt=prompt,
llm=llm
)
app.state.llmchain = llmchain
conf = ConnectionConfig(
MAIL_USERNAME=config.MAIL_USERNAME,
MAIL_PASSWORD=config.MAIL_PASSWORD,
MAIL_FROM=config.MAIL_FROM,
MAIL_PORT=587,
MAIL_SERVER="smtp.gmail.com",
MAIL_STARTTLS=True,
MAIL_SSL_TLS=False,
TEMPLATE_FOLDER="backend/templates",
USE_CREDENTIALS = True,
VALIDATE_CERTS = True
# MAIL_TLS=True,
# MAIL_SSL=False
)
app.state.mail_client = FastMail(conf)
app.state.templates = Jinja2Templates(directory="./backend/templates")
#testing yagmail
yag = yagmail.SMTP(config.MAIL_USERNAME, config.MAIL_PASSWORD)
app.state.yagmail = yag
env = Environment(
loader=FileSystemLoader('./backend/templates/'))
app.state.jinjaenv = env
except mysql.connector.Error as err:
raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail=str(err))