|
|
|
@ -20,6 +20,7 @@ from discord.ext import pages
|
|
|
|
|
from langchain.llms import OpenAIChat
|
|
|
|
|
from llama_index.langchain_helpers.chatgpt import ChatGPTLLMPredictor
|
|
|
|
|
from langchain import OpenAI
|
|
|
|
|
from llama_index.optimization.optimizer import SentenceEmbeddingOptimizer
|
|
|
|
|
from llama_index.prompts.chat_prompts import CHAT_REFINE_PROMPT
|
|
|
|
|
|
|
|
|
|
from llama_index.readers import YoutubeTranscriptReader
|
|
|
|
@ -55,7 +56,7 @@ RemoteReader = download_loader("RemoteReader")
|
|
|
|
|
RemoteDepthReader = download_loader("RemoteDepthReader")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_and_query(
|
|
|
|
|
async def get_and_query(
|
|
|
|
|
user_id,
|
|
|
|
|
index_storage,
|
|
|
|
|
query,
|
|
|
|
@ -69,23 +70,23 @@ def get_and_query(
|
|
|
|
|
user_id
|
|
|
|
|
].get_index_or_throw()
|
|
|
|
|
if isinstance(index, GPTTreeIndex):
|
|
|
|
|
response = index.query(
|
|
|
|
|
response = await index.aquery(
|
|
|
|
|
query,
|
|
|
|
|
child_branch_factor=child_branch_factor,
|
|
|
|
|
llm_predictor=llm_predictor,
|
|
|
|
|
refine_template=CHAT_REFINE_PROMPT,
|
|
|
|
|
embed_model=embed_model,
|
|
|
|
|
use_async=True,
|
|
|
|
|
#optimizer=SentenceEmbeddingOptimizer(threshold_cutoff=0.7)
|
|
|
|
|
)
|
|
|
|
|
else:
|
|
|
|
|
response = index.query(
|
|
|
|
|
response = await index.aquery(
|
|
|
|
|
query,
|
|
|
|
|
response_mode=response_mode,
|
|
|
|
|
llm_predictor=llm_predictor,
|
|
|
|
|
embed_model=embed_model,
|
|
|
|
|
similarity_top_k=nodes,
|
|
|
|
|
refine_template=CHAT_REFINE_PROMPT,
|
|
|
|
|
use_async=True,
|
|
|
|
|
#optimizer=SentenceEmbeddingOptimizer(threshold_cutoff=0.7)
|
|
|
|
|
)
|
|
|
|
|
return response
|
|
|
|
|
|
|
|
|
@ -921,20 +922,7 @@ class Index_handler:
|
|
|
|
|
try:
|
|
|
|
|
embedding_model = OpenAIEmbedding()
|
|
|
|
|
embedding_model.last_token_usage = 0
|
|
|
|
|
response = await self.loop.run_in_executor(
|
|
|
|
|
None,
|
|
|
|
|
partial(
|
|
|
|
|
get_and_query,
|
|
|
|
|
ctx.user.id,
|
|
|
|
|
self.index_storage,
|
|
|
|
|
query,
|
|
|
|
|
response_mode,
|
|
|
|
|
nodes,
|
|
|
|
|
self.llm_predictor,
|
|
|
|
|
embedding_model,
|
|
|
|
|
child_branch_factor,
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
response = await get_and_query(ctx.user.id, self.index_storage, query, response_mode, nodes, self.llm_predictor, embedding_model, child_branch_factor)
|
|
|
|
|
print("The last token usage was ", self.llm_predictor.last_token_usage)
|
|
|
|
|
await self.usage_service.update_usage(
|
|
|
|
|
self.llm_predictor.last_token_usage, chatgpt=True
|
|
|
|
|