| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import json
- import os
- import sys
- import openai
- from llama_index import GPTVectorStoreIndex, download_loader
- # from llama_index.chat_engine import SimpleChatEngine
- from datetime import datetime
- from django.db import connection, models
- from django.db.models import Q
- import re
- from adm.constants import CTS as cts
- from adm.storage import MediaStorage
- from adm.services import ParameterService
- class Chatbot():
- def __init__(self) -> None:
- objParameter = ParameterService()
- openai.api_key = objParameter.getParameterByKey("OPENAI_API_KEY").value
- media_storage = MediaStorage()
- self.bucket = media_storage.storage.bucket.name
- self.storage = media_storage.storage
- self.credentials = json.dumps(media_storage.credentials)
- # self.docs_path = objParameter.getParameterByKey("CHATBOT_DOCS_PATH").value
- self.docs_path = '/chatbot/docs'
- self.endpoint = 'https://' + cts.GCP_ST_ACCESS_KEY_ID
- pass
- def train (self):
- OpendalGcsReader = download_loader("OpendalGcsReader")
-
- loader = OpendalGcsReader(
- bucket=self.bucket,
- path=self.docs_path,
- endpoint=self.endpoint,
- credentials=self.credentials,
- )
- documents = loader.load_data()
- # construct the index with the txt document
- index = GPTVectorStoreIndex.from_documents(documents)
- chat_engine = index.as_chat_engine(
- chat_mode='condense_question',
- verbose=True
- )
- chat_engine.chat_repl()
|