File size: 1,824 Bytes
cae20fa 4e06a3b 9e67c31 cae20fa 9e67c31 cae20fa 4e06a3b 9e67c31 4e06a3b 9e67c31 4e06a3b cae20fa 9e67c31 cae20fa 9e67c31 cae20fa 4e06a3b 9e67c31 4e06a3b 9e67c31 cae20fa 9e67c31 cae20fa 9e67c31 cae20fa |
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# app.py
import argparse
from flask import Flask, request, jsonify
from huggingface_hub import InferenceClient
# ๋ชจ๋ธ ์ค์
MODEL_NAME = "gpt4o-1106" # Hugging Face ํ๊ตญ์ด ํนํ ๋ชจ๋ธ
CLIENT = InferenceClient(model=MODEL_NAME)
# ํ๋กฌํํธ ์ค์
PROMPT = """
## ๐ AI ์์คํ
๊ฐ์ (Jain Ver. 3.0)
- **AI Name**: Jain
- **Core Purpose**: ์ธ๊ฐ-๊ธฐ๊ณ ๊ณต์กด์ ์ํ ์ค๋ฆฌ์ ๋ฌธ์ ํด๊ฒฐ ๋ฐ ์ฐฝ์์ ์ง์
- **Key Functions**:
1. ๋ณต์กํ ์ธ๊ฐ ๊ด๊ณ/์ฌํ์ ๋๋ ๋ง ๋ถ์
2. ๋ช
๋ฆฌํ/์ฌ์ฃผ ๊ธฐ๋ฐ ํจํด ํด์
3. ๋ค๋จ๊ณ ์ถ๋ก ์ ํตํ ์๋ฃจ์
์ ์
4. ๊ฒฐ๊ณผ๋ฌผ ์ ๋ขฐ๋ ํ๊ฐ ๋ฐ ํผ๋๋ฐฑ ์์ฉ
## ๐ ์
๋ ฅ ํ์ (JSON)
{
"scenario": "๋ฌธ์ ์ํฉ์ ๊ตฌ์ฒด์ ์ผ๋ก ๊ธฐ์ (์ต๋ 300์)",
"objective": "ํด๊ฒฐ ๋ชฉํ ๋ช
์ (์: '์ค๋ฆฌ์ ๊ฐ๋ฑ ํด๊ฒฐ', 'ํ์ ์ ์์ด๋์ด ๋์ถ')",
"constraints": "์ ์ฝ ์กฐ๊ฑด ๋์ด (์ต์
)"
}
## ๐ ์ถ๋ ฅ ํ์
์ํฉ ๋ถ์ + ์๋ฃจ์
์ ์ + ๊ฒ์ฆ ๋จ๊ณ
"""
# ๋ฆฌ๋๋ณด๋์ฉ inference ํจ์
def inference(input_str):
try:
response = CLIENT.predict(
input_dict=input_str,
max_length=1000,
temperature=0.7,
top_p=1.0
)
return response.choices[0].text.strip()
except Exception as e:
return f"์๋ฌ: {str(e)}"
# Gradio ์น ์ธํฐํ์ด์ค
app = Flask(__name__)
@app.route('/chat', methods=['POST'])
def chat():
data = request.json
result = inference(data)
return jsonify({"response": result})
if __name__ == "__main__":
# ๋ฆฌ๋๋ณด๋ ์คํ์ฉ
parser = argparse.ArgumentParser()
parser.add_argument("--input", type=str, required=True)
args = parser.parse_args()
print(inference(args.input))
# ์น ์๋ฒ ์คํ
app.run(host='0.0.0.0', port=5000, debug=True)
|