123456789101112131415161718192021222324252627 |
- from embedchain import CustomApp
- from embedchain.config import AddConfig, CustomAppConfig, LlmConfig
- from embedchain.embedder.openai_embedder import OpenAiEmbedder
- from embedchain.helper_classes.json_serializable import (
- JSONSerializable, register_deserializable)
- from embedchain.llm.openai_llm import OpenAiLlm
- from embedchain.vectordb.chroma_db import ChromaDB
- @register_deserializable
- class BaseBot(JSONSerializable):
- def __init__(self):
- self.app = CustomApp(config=CustomAppConfig(), llm=OpenAiLlm(), db=ChromaDB(), embedder=OpenAiEmbedder())
- def add(self, data, config: AddConfig = None):
- """Add data to the bot"""
- config = config if config else AddConfig()
- self.app.add(data, config=config)
- def query(self, query, config: LlmConfig = None):
- """Query bot"""
- config = config
- return self.app.query(query, config=config)
- def start(self):
- """Start the bot's functionality."""
- raise NotImplementedError("Subclasses must implement the start method.")
|