| import openai | |
| import os | |
| from dotenv import load_dotenv, find_dotenv | |
| _ = load_dotenv(find_dotenv()) | |
| openai.api_key = os.getenv('OPENAI_API_KEY') | |
| def get_completion(prompt, model="gpt-3.5-turbo"): | |
| messages = [{"role": "user", "content": prompt}] | |
| response = openai.ChatCompletion.create( | |
| model=model, | |
| messages=messages, | |
| temperature=0, # this is the degree of randomness of the model's output | |
| ) | |
| return response.choices[0].message["content"] | |
| # text = f""" | |
| # You should express what you want a model to do by \ | |
| # providing instructions that are as clear and \ | |
| # specific as you can possibly make them. \ | |
| # This will guide the model towards the desired output, \ | |
| # and reduce the chances of receiving irrelevant \ | |
| # or incorrect responses. Don't confuse writing a \ | |
| # clear prompt with writing a short prompt. \ | |
| # In many cases, longer prompts provide more clarity \ | |
| # and context for the model, which can lead to \ | |
| # more detailed and relevant outputs. | |
| # """ | |
| # prompt = f""" | |
| # Summarize the text delimited by triple backticks \ | |
| # into a single sentence. | |
| # ```{text}``` | |
| # """ | |
| # response = get_completion(prompt) | |
| # print(response) | |
| # prompt = f""" | |
| # Generate a list of three made-up book titles along \ | |
| # with their authors and genres. | |
| # Provide them in JSON format with the following keys: | |
| # book_id, title, author, genre. | |
| # """ | |
| # response = get_completion(prompt) | |
| # print(response) | |
| # text_1 = f""" | |
| # Making a cup of tea is easy! First, you need to get some \ | |
| # water boiling. While that's happening, \ | |
| # grab a cup and put a tea bag in it. Once the water is \ | |
| # hot enough, just pour it over the tea bag. \ | |
| # Let it sit for a bit so the tea can steep. After a \ | |
| # few minutes, take out the tea bag. If you \ | |
| # like, you can add some sugar or milk to taste. \ | |
| # And that's it! You've got yourself a delicious \ | |
| # cup of tea to enjoy. | |
| # """ | |
| # prompt = f""" | |
| # You will be provided with text delimited by triple quotes. | |
| # If it contains a sequence of instructions, \ | |
| # re-write those instructions in the following format: | |
| # Step 1 - ... | |
| # Step 2 - … | |
| # … | |
| # Step N - … | |
| # If the text does not contain a sequence of instructions, \ | |
| # then simply write \"No steps provided.\" | |
| # \"\"\"{text_1}\"\"\" | |
| # """ | |
| # response = get_completion(prompt) | |
| # print("Completion for Text 1:") | |
| # print(response) | |
| # prompt = f""" | |
| # Your task is to answer in a consistent style. | |
| # <child>: Teach me about patience. | |
| # <grandparent>: The river that carves the deepest \ | |
| # valley flows from a modest spring; the \ | |
| # grandest symphony originates from a single note; \ | |
| # the most intricate tapestry begins with a solitary thread. | |
| # <child>: Teach me about resilience. | |
| # """ | |
| # response = get_completion(prompt) | |
| # print(response) | |
| # text = f""" | |
| # In a charming village, siblings Jack and Jill set out on \ | |
| # a quest to fetch water from a hilltop \ | |
| # well. As they climbed, singing joyfully, misfortune \ | |
| # struck—Jack tripped on a stone and tumbled \ | |
| # down the hill, with Jill following suit. \ | |
| # Though slightly battered, the pair returned home to \ | |
| # comforting embraces. Despite the mishap, \ | |
| # their adventurous spirits remained undimmed, and they \ | |
| # continued exploring with delight. | |
| # """ | |
| # # example 1 | |
| # prompt_1 = f""" | |
| # Perform the following actions: | |
| # 1 - Summarize the following text delimited by triple \ | |
| # backticks with 1 sentence. | |
| # 2 - Translate the summary into French. | |
| # 3 - List each name in the French summary. | |
| # 4 - Output a json object that contains the following \ | |
| # keys: french_summary, num_names. | |
| # Separate your answers with line breaks. | |
| # Text: | |
| # ```{text}``` | |
| # """ | |
| # response = get_completion(prompt_1) | |
| # print("Completion for prompt 1:") | |
| # print(response) | |
| # prompt_2 = f""" | |
| # Your task is to perform the following actions: | |
| # 1 - Summarize the following text delimited by | |
| # <> with 1 sentence. | |
| # 2 - Translate the summary into French. | |
| # 3 - List each name in the French summary. | |
| # 4 - Output a json object that contains the | |
| # following keys: french_summary, num_names. | |
| # Use the following format: | |
| # Text: <text to summarize> | |
| # Summary: <summary> | |
| # Translation: <summary translation> | |
| # Names: <list of names in summary> | |
| # Output JSON: <json with summary and num_names> | |
| # Text: <{text}> | |
| # """ | |
| # response = get_completion(prompt_2) | |
| # print("\nCompletion for prompt 2:") | |
| # print(response) | |
| # prompt = f""" | |
| # Determine if the student's solution is correct or not. | |
| # Question: | |
| # I'm building a solar power installation and I need \ | |
| # help working out the financials. | |
| # - Land costs $100 / square foot | |
| # - I can buy solar panels for $250 / square foot | |
| # - I negotiated a contract for maintenance that will cost \ | |
| # me a flat $100k per year, and an additional $10 / square \ | |
| # foot | |
| # What is the total cost for the first year of operations | |
| # as a function of the number of square feet. | |
| # Student's Solution: | |
| # Let x be the size of the installation in square feet. | |
| # Costs: | |
| # 1. Land cost: 100x | |
| # 2. Solar panel cost: 250x | |
| # 3. Maintenance cost: 100,000 + 100x | |
| # Total cost: 100x + 250x + 100,000 + 100x = 450x + 100,000 | |
| # """ | |
| # response = get_completion(prompt) | |
| # print(response) | |
| # prompt = f""" | |
| # Your task is to determine if the student's solution \ | |
| # is correct or not. | |
| # To solve the problem do the following: | |
| # - First, work out your own solution to the problem including the final total. | |
| # - Then compare your solution to the student's solution \ | |
| # and evaluate if the student's solution is correct or not. | |
| # Don't decide if the student's solution is correct until | |
| # you have done the problem yourself. | |
| # Use the following format: | |
| # Question: | |
| # ``` | |
| # question here | |
| # ``` | |
| # Student's solution: | |
| # ``` | |
| # student's solution here | |
| # ``` | |
| # Actual solution: | |
| # ``` | |
| # steps to work out the solution and your solution here | |
| # ``` | |
| # Is the student's solution the same as actual solution \ | |
| # just calculated: | |
| # ``` | |
| # yes or no | |
| # ``` | |
| # Student grade: | |
| # ``` | |
| # correct or incorrect | |
| # ``` | |
| # Question: | |
| # ``` | |
| # I'm building a solar power installation and I need help \ | |
| # working out the financials. | |
| # - Land costs $100 / square foot | |
| # - I can buy solar panels for $250 / square foot | |
| # - I negotiated a contract for maintenance that will cost \ | |
| # me a flat $100k per year, and an additional $10 / square \ | |
| # foot | |
| # What is the total cost for the first year of operations \ | |
| # as a function of the number of square feet. | |
| # ``` | |
| # Student's solution: | |
| # ``` | |
| # Let x be the size of the installation in square feet. | |
| # Costs: | |
| # 1. Land cost: 100x | |
| # 2. Solar panel cost: 250x | |
| # 3. Maintenance cost: 100,000 + 100x | |
| # Total cost: 100x + 250x + 100,000 + 100x = 450x + 100,000 | |
| # ``` | |
| # Actual solution: | |
| # """ | |
| # response = get_completion(prompt) | |
| # print(response) | |
| prompt = f""" | |
| Tell me about AeroGlide UltraSlim Smart Toothbrush by Boie | |
| """ | |
| response = get_completion(prompt) | |
| print(response) | |