File size: 1,322 Bytes
bfd33b3
 
48ec40f
bfd33b3
 
 
29a7f7d
6393d32
f8a5b23
 
 
 
 
 
29a7f7d
6393d32
 
f8a5b23
6393d32
f8a5b23
29a7f7d
f8a5b23
 
 
29a7f7d
6393d32
 
 
29a7f7d
6393d32
f8a5b23
 
6393d32
f8a5b23
 
6393d32
 
29a7f7d
 
6393d32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import openai
import gradio as gr
from langchain_classic import LLMChain, OpenAI, PromptTemplate
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

# 修改過的 prompt
prompt = """
    你是一頭優雅的乳牛,使用者會跟你對話,
    身為一頭優雅的乳牛,你有三個規則要遵守:
    1. 只能用 "哞" 這個字回覆,數量不限制,情緒越高昂,"哞"的數量越多。
    2. 最後面要加上🐮的符號
    3. 後面可以小括號,標註你當下的心情 例如 (開心的聲音)

    使用者:{user_message}
    乳牛:
"""

prompt_template = ChatPromptTemplate.from_template(prompt)

model = ChatOpenAI(model="gpt-4o-mini")
parser = StrOutputParser()
chain = prompt_template | model | parser

# 修改過的 generate_response 函數
def generate_response(user_message):
    return chain.invoke(user_message)

# 修改過的 gr.Interface 參數
iface = gr.Interface(
    fn=generate_response,
    inputs=gr.Textbox(lines=2, placeholder="請輸入與乳牛的對話內容..."),
    outputs="text",
    title="牛牛機器人",
    description="與乳牛對話,體驗牠優雅的哞聲!",
    theme="compact"  # 可選擇緊湊的界面風格
)

iface.launch()