from semantic_kernel.kernel import Kernel
from semantic_kernel.planning.basic_planner import BasicPlanner
from semantic_kernel.connectors.ai.open_ai import OpenAIChatCompletion
from semantic_kernel.utils.settings import openai_settings_from_dot_env
from plugins.SQLskill.SQLskill import SQLskill
from plugins.QdrantSkill.QdrantSkill import QdrantSkillPlan
# import os
import time
# def get_result_from_database(sql_query):
# server_name = os.getenv("server_name")
# database_name = os.getenv("database_name")
# username = os.environ.get("USERNAME")
# password = os.getenv("PASSWORD")
# #driver = os.environ['DRIVER']
# conn = pyodbc.connect('DRIVER={driver};SERVER={server_name};DATABASE={database_name};UID={username};PWD={password}'.format(driver="ODBC Driver 18 for SQL Server",server_name=server_name, database_name=database_name, username=username, password=password))
# cursor = conn.cursor()
# try:
# cursor.execute(sql_query)
# result = cursor.fetchone()
# except:
# return "No Result Found"
# cursor.close()
# conn.close()
# return result[0]
async def main(query):
_start = time.time()
#01 Instantiate your kernel
kernel = Kernel()
#02 Configure AI service used by the kernel. Load settings from the .env file.
api_key, org_id = openai_settings_from_dot_env()
kernel.add_text_completion_service(
"dv", OpenAIChatCompletion("gpt4", api_key, org_id) #gpt-3.5-turbo-16k
)
#03 Load file txt to a string variable
PLANNER_PROMPT = open("/work/planner_prompt.txt", "r").read()
#04 Import Skill
## Import Qdrant Nested Skill
kernel.import_skill(QdrantSkillPlan(kernel), "QdrantSkill")
## Import the native functions
kernel.import_skill(SQLskill(), "SQLskill")
#05 Generate Planner
planner = BasicPlanner()
basic_plan = await planner.create_plan_async(query, kernel, prompt=PLANNER_PROMPT)
print(basic_plan.generated_plan)
#06 Execute Planner
results = await planner.execute_plan_async(basic_plan, kernel)
print(time.time() - _start)
return (results)
Run to view results
Câu hỏi BGK
query = 'Thị trường tiền tệ tháng 4/2022 có gì nổi bật'
await main(query)
Run to view results
query = 'Ngày có giá đồng USD cao nhất'
await main(query)
Run to view results
query = 'Giá Mogas 95 tháng 3/2023'
await main(query)
Run to view results
query = 'Tóm tắt tình hình chính trị thế giới năm 2022'
await main(query)
Run to view results
query = 'Giới thiệu thông tin về Viện Dầu khí Việt Nam'
await main(query)
Run to view results
Câu hỏi Nhóm 1
query = 'Tóm tắt thông tin thị trường xăng dầu từ ngày 1/8/2023 đến ngày 30/08/2023'
await main(query)
Run to view results
query = 'Hãy cho tôi biết giá dầu trung bình tháng 5/2023'
await main(query)
Run to view results
query = 'Hãy cho tôi biết tổng giá dầu tháng 4/2023'
await main(query)
Run to view results
Câu hỏi Nhóm 2
query = 'Cung cấp dự báo gía dầu tho Dubai tháng 12/2023 phát hành ngày 1/8/2023'
await main(query)
Run to view results
query = 'Cung cấp giá dầu thô Bạch Hổ của Platts vào ngày 1/7/2023'
await main(query)
Run to view results
query = 'Cung cấp thông tin dự báo giá Fuel oil 380cst tháng 11/2023 phát hành ngày 18/7/2023'
await main(query)
Run to view results
Câu hỏi Nhóm 3
query = 'So sánh giá dầu Dated Brent ngày 10/8/2023 và ngày 11/8/2023'
await main(query)
Run to view results
query = 'Cho tôi biết thông tin về giá vàng ngày 10/8/2023'
await main(query)
Run to view results
query = 'Tính chênh lệch giá dầu Dated Brent ngày 15/8/2023 và ngày 17/8/2023'
await main(query)
Run to view results
query = 'Tính chênh lệch giá dầu Dated Brent ngày 15/8/2023 và ngày 17/8/2023'
await main(query)
Run to view results
Run to view results