-
-
Save sumvedshami/066e694fe25f51a317135e079b074115 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from llama_index.core import Settings | |
from llama_index.legacy.embeddings import AzureOpenAIEmbedding | |
from llama_index.legacy.llms.openai import AzureOpenAI | |
from llama_index.core import ( | |
VectorStoreIndex, | |
SimpleDirectoryReader, | |
StorageContext, | |
load_index_from_storage, | |
) | |
from llama_index.core.node_parser import SimpleNodeParser | |
import tiktoken | |
import warnings | |
import os | |
import logging | |
import sys | |
warnings.filterwarnings("ignore") | |
from dotenv import load_dotenv | |
from colored_log_handler import ColoredConsoleHandler | |
logging.basicConfig(stream=sys.stdout, level=logging.INFO) | |
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout)) | |
# Load environment variables from a .env file | |
load_dotenv() | |
azure_endpoint = os.getenv("OPENAI_API_BASE") | |
api_key = os.getenv("OPENAI_API_KEY") | |
api_version = os.getenv("OPENAI_API_VERSION") | |
# Configuring Embedding ada 002 model API deployed on Azure | |
embedding_model = AzureOpenAIEmbedding( | |
model="text-embedding-ada-002", | |
deployment_name="text-embedding-ada-002", | |
azure_endpoint=azure_endpoint, | |
api_version=api_version, | |
api_key=api_key, | |
embed_batch_size=10, | |
) | |
Settings.embed_model = embedding_model | |
Settings.chunk_size = 256 | |
Settings.chunk_overlap = 40 | |
documents = SimpleDirectoryReader( | |
input_files=["/Users/sumved/Downloads/Demo.pdf"] | |
).load_data() | |
# Chunking the documents | |
parser = SimpleNodeParser.from_defaults() | |
nodes = parser.get_nodes_from_documents(documents) | |
# Indexing the documents chunks | |
index = VectorStoreIndex(nodes=nodes) | |
# Configure Azure OpenAI Service API | |
llm = AzureOpenAI( | |
azure_deployment="gpt-35-turbo", | |
azure_endpoint=azure_endpoint, | |
api_version=api_version, | |
api_key=api_key, | |
) | |
Settings.llm = llm | |
Settings.tokenizer = tiktoken.encoding_for_model("gpt-3.5-turbo").encode | |
# Initialize query engine | |
query_engine = index.as_query_engine() | |
print("\nReady to answer your queries. Press Ctrl+Q to exit.") | |
while True: | |
try: | |
query = input("\nEnter your query: ") | |
# Check for exit command | |
if query.lower() == "ctrl+q": | |
print("Exiting program.") | |
break | |
answer = query_engine.query(query).response | |
print("\nQuery:", query) | |
print("\nAnswer:", answer) | |
except KeyboardInterrupt: | |
print("\nInterrupt received, exiting.") | |
break |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment