import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI

load_dotenv()

client = ChatOpenAI(base_url=os.getenv("BASE_URL"),
                    model=os.getenv("MODEL_NAME"),
                    api_key=os.getenv("DASHSCOPE_API_KEY"))

examples = {'相似': [('公司ABC发布了季度财报，显示盈利增长。', '财报披露，公司ABC利润上升。')],
            '不相似': [('黄金价格下跌，投资者抛售。', '外汇市场交易额创下新高。')]}

sentences = [('股票市场今日大涨，投资者乐观。', '持续上涨的市场让投资者感到满意。'),
('油价大幅下跌，能源公司面临挑战。', '未来智能城市的建设趋势愈发明显。'),
('利率上升，影响房地产市场。', '高利率对房地产有一定冲击。')]


def build_prompt():
    init_prompt = "你是一个文本匹配专家。需要你对2个文本进行上下文匹配校对。比如： \n"
    for example in examples.items():
        init_prompt += str(example) + "\n"
    return init_prompt


def call_llm(prompt):
    prompt += f"请对如下文本进行匹配校对，匹配的结果列表：{examples.keys()}。输出最终结果即可，不需要输出其他内容。"
    for sentence in sentences:
        # print("prompt + sentence-->", prompt + str(sentence))
        result = client.invoke(prompt + str(sentence))
        print('result-->', result.content)


if __name__ == '__main__':
    prompt = build_prompt()
    # print("prompt-->", prompt)
    call_llm(prompt)