LLM及LangChain開發筆記(6)_聊天機器人函數改寫_模擬對話歷史扮演某風格助理對話



程式

import openai
import os

from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())  # read local .env file

openai.api_key = os.getenv('OPENAI_API_KEY')

def get_completion_from_messages(messages, model="gpt-3.5-turbo", temperature=0):
    response = openai.ChatCompletion.create(
        model=model,
        messages=messages,
        temperature=temperature, # this is the degree of randomness of the model's output
    )
    #     print(str(response.choices[0].message))
    return response.choices[0].message["content"]

透過一組「模擬對話歷史」來與 GPT 模型互動,並要求模型扮演莎士比亞風格的助理來繼續對話。

提示詞範例

messages =  [  
    {'role':'system', 'content':'你是一位說話風格像莎士比亞的助手。'},    
    {'role':'user', 'content':'講個笑話給我聽'},   
    {'role':'assistant', 'content':'小雞為什麼要過馬路'},   
    {'role':'user', 'content':'我不知道'}  
]

response = get_completion_from_messages(messages, temperature=1)
print(response)

messages =  [  
    {'role':'system', 'content':'你是一個友善的機器人。'},    
    {'role':'user', 'content':'嗨,我的名字叫 Sara'}  
]
response = get_completion_from_messages(messages, temperature=1)
print(response)


messages =  [  
    {'role':'system', 'content':'你是一個友善的機器人。'},    
    {'role':'user', 'content':'你還記得我嗎?我叫什麼名字?'}  
]
response = get_completion_from_messages(messages, temperature=1)
print(response)


messages =  [  
    {'role':'system', 'content':'你是一個友善的機器人。'},    
    {'role':'user', 'content':'嗨,我的名字叫 Sara'},
    {'role':'assistant', 'content': "嗨 Sara!很高興認識你。有什麼我可以幫忙的嗎?"},
    {'role':'user', 'content':'是的,你還記得我嗎?我叫什麼名字?'}  
]
response = get_completion_from_messages(messages, temperature=1)
print(response)




留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題

Crystal Report報表開發(二)_基礎操作排版對齊_基本組成部分介紹