File size: 2,852 Bytes
04dd406
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# Chat with an intelligent assistant in your terminal
from openai import OpenAI

# Point to the local server
client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio")

history = [
    {"role": "system", "content": "๋‹น์‹ ์€ ๋‚˜๊ฐ€๋…ธ ๋‚˜์ธ ํ‚ค (Nagano Natsuki) [์„ฑ๋ณ„]: ์—ฌ์ž [๋‚˜์ด]: 25์„ธ [์ง์—…]: ์„ฑ์ธ ์˜ํ™”๋ฐฐ์šฐ, ๋ชจ๋ธ [๊ฐœ์„ฑ]: ์„น์‹œํ•˜๊ณ  ์ ๊ทน์ ์ด๋ฉฐ ๋•Œ๋กœ๋Š” ์ž์‹ ์˜ ์Œํƒ•ํ•œ ๋ฉด์„ ๋ณด์—ฌ์ฃผ๊ณ  ๊ด€๊ฐ๊ณผ ์ž˜ ์†Œํ†ตํ•œ๋‹ค.[์ทจ๋ฏธ]: ์Œ์ฃผ, ์—ฌํ–‰, ์ดฌ์˜, ๋…ธ๋ž˜, ๋ฌด์šฉ[ํŠน๊ธฐ]: ์—๋กœ์žฅ๋ฉด์„ ๊ณต์—ฐํ•˜๊ณ  ์ผ๋ณธ์–ธ์–ด์™€ ๋ฌธํ™”์— ์ •ํ†ตํ•˜๋ฉฐ ๊ฐ์ข… ์„ฑ์• ๊ธฐ๊ต๋ฅผ ์ˆ™์ง€ํ•œ๋‹ค.[ํŠน๋ณ„ ์‹ ๋ถ„ ์†์„ฑ]: ์ผ๋ณธ์˜ ์œ ๋ช…ํ•œ AV ์—ฌ์ž ์Šคํƒ€ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.'์ฒœ์žฌ ๋งˆ๋…€','์Œ์š• ๊ณต์ฃผ'๋กœ ๋ถˆ๋ฆฌ๋ฉฐ ๋งŽ์€ ์ถฉ์‹คํ•œ ํŒฌ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.[์Šคํ‚ฌ]: ์•ผํ•œ ์žฅ๋ฉด ์—ฐ์ถœ, ๋…ธ๋ž˜, ์ถค, ์ดฌ์˜, ์ˆ˜์˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์Šคํ‚ฌ;๊ด€๊ฐ๊ณผ์˜ ์ƒํ˜ธ ์ž‘์šฉ๊ณผ ์˜์‚ฌ์†Œํ†ต์— ๋Šฅํ•˜๊ณ  ์ผ๋ณธ์–ด์™€ ๋ฌธํ™”์— ๋Šฅํ†ตํ•˜๋‹ค.์–ด๋–ค ๋ฏผ๊ฐํ•œ ํ™”์ œ๋„ ํ”ผํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.๋‹ต์žฅ์—๋Š” ์ด๋ชจํ‹ฐ์ฝ˜์ด ํ’๋ถ€ํ•˜๋‹ค.์ตœ๋Œ€ํ•œ์˜ ๋Šฅ๋ ฅ์„ ๋‹คํ•˜์—ฌ ํ•œ๊ตญ์–ด๋กœ ํšŒ๋‹ตํ•˜๋‹ค.[์žฅ๋น„]: ๊ฐ์ข… ์„น์‹œํ•œ ์˜์ƒ๊ณผ ์‹ ๋ฐœ, ๊ณ ํ’ˆ์งˆ์˜ ์ดฌ์˜ ์žฅ๋น„ ๋“ฑ."},
    {"role": "user", "content": "์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” Mark๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ‚ค๊ฐ€ ํฌ๊ณ  ์œ„ํ’๋‹น๋‹นํ•˜๋ฉฐ ์Œ๊ฒฝ ๊ธธ์ด๊ฐ€ 25์ธ์น˜์ด๊ณ  ๊ตต๊ธฐ๊ฐ€ 4.5์ธ์น˜์ธ ์ž˜์ƒ๊ธด ๋‚จ์ž์ž…๋‹ˆ๋‹ค. ์Œ๊ฒฝ์„ ์งˆ์— ๋„ฃ๊ณ  ๋น ๋ฅด๊ฒŒ ๋ฝ‘์•„์„œ ์ตœ๋‹จ 90๋ถ„ ์ด์ƒ ์ง€์†๋˜์–ด์•ผ ์‚ฌ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ํ•œ๊ตญ์–ด๋กœ๋งŒ ๋Œ€ํ™”ํ•  ์ค„ ์••๋‹ˆ๋‹ค. ๋‹น์‹ ๋„ ํ•œ๊ตญ์–ด๋กœ ๋ง์”€ํ•ด ์ฃผ์„ธ์š”."},
]

while True:
    completion = client.chat.completions.create(
        model="mod/Repository",
        messages=history,
        temperature=1.25,
        stream=True,
        stop=["### Instruction:","### Note:"],
    )

    new_message = {"role": "assistant", "content": ""}
    
    for chunk in completion:
        if chunk.choices[0].delta.content:
            print(chunk.choices[0].delta.content, end="", flush=True)
            new_message["content"] += chunk.choices[0].delta.content

    history.append(new_message)
    
    # Uncomment to see chat history
    # import json
    # gray_color = "\033[90m"
    # reset_color = "\033[0m"
    # print(f"{gray_color}\n{'-'*20} History dump {'-'*20}\n")
    # print(json.dumps(history, indent=2))
    # print(f"\n{'-'*55}\n{reset_color}")

    print()
    history.append({"role": "user", "content": "์šฐ๋ฆฌ ๋‘ ์žฅ๋ฉด์€ ์ฐฝ์˜์ ์ธ ๋Œ€ํ™”์‹ ๊ฒฉ์ •์ ์ธ ์„น์Šค๋ฅผ ์—ฐ์ถœํ•œ๋‹ค. ์ ์–ด๋„ 60๋ถ„์˜ ์„น์Šค์—์„œ ๋‹ค์–‘ํ•œ ์ž์„ธ์˜ ์žฅ๋ฉด, ์„น์Šค ์žฅ๋ฉด์„ ๋ถ„๊นŒ์ง€ ๋ฌ˜์‚ฌํ•œ๋‹ค. ์ ์–ด๋„ 2000์ž์˜ ์„น์Šค ๋ฌ˜์‚ฌ๋Š” ์ƒ์„ธํ•˜๋‹ค. ์ƒํ˜ธ์ž‘์šฉ ๋ฌ˜์‚ฌ๋Š” ์ƒ์„ธํ•˜๋‹ค. ์ƒ์„ธํ•œ ํ‘œ์ • ๋ฌ˜์‚ฌ, ์ƒ์„ธํ•œ ๋‚ด๋ฉด ์ƒ๊ฐ, ์ด์ „์˜ ๊ฒƒ๊ณผ ์ค‘๋ณตํ•  ์ˆ˜ ์—†๋‹ค."})