π[Dev] μΉ΄μΉ΄μ€ μ€νλΉλμ λν΄μβ¦
μΉ΄μΉ΄μ€ μ€νλΉλ
μΉ΄μΉ΄μ€ μ€νλΉλλ
, μΉ΄μΉ΄μ€ν‘μμ μ§μνλ μ±λ΄ μλΉμ€ APIμ΄λ€.
https://i.kakao.com/μ λ€μ΄κ° μ¬μ©ν μ μλ€.
μΉ΄μΉ΄μ€ μ€νλΉλλ₯Ό μ¬μ©νλ©΄ μμ½κ² μΉ΄μΉ΄μ€ν‘ μ±λ΄μ λ§λ€ μ μλ€.
νμ§λ§ μΉ΄μΉ΄μ€ μ€νλΉλλ§μ μ¬μ©νλ©΄ λ΄κ° μ¬μ©μμ λ°νλ₯Ό 미리 μμνκ³ , κ·Έμ λ§λ λ΅λ³μ λ΄κ° 미리 μ€μ ν΄μΌ λμνλ€.
μλ₯Ό λ€μ΄, μ¬μ©μκ° βμλ
!βμ΄λΌκ³ λ°νν κ²μ΄λΌκ³ μμνκ³ λ΄κ° βμλ
!βμ λν λ΅λ³μΌλ‘ βμλ
μ€λλ§μ΄λ€!βλΌλ λ΅λ³μ μ§μ ν΄μΌ νλ€λ κ²μ΄λ€.
κ·Έλ¬λ©΄ μ΄ κ²μ μ΄λ»κ² ν΄μΌ λ΄κ° μνλ μ±λ΄μ μΉ΄μΉ΄μ€ν‘μμ μ¬μ©ν μ μμκΉ?
λ°λ‘ μ€ν¬μλ²
μ ν΄λ°±λΈλ‘
μ΄λ€.
μ€ν¬μλ²
μ€ν¬μλ²
λ λ΄κ° μ¬μ©ν μΈλΆ μ±λ΄ μμ§μ΄ λμνλ URLμ λ±λ‘νμ¬ μ΄ URLμμμ λμκ°λ μμ§μμ μ¬μ©μ λ°νλ₯Ό μ²λ¦¬ν μ μλ€.
λ΄κ° μ΄ν΄ν λ°λ‘λ μ¬μ©μλ°ν -> νμ΅λ λ°μ΄ν° μμ -> ν΄λ°±λΈλ‘ -> μ€ν¬μλ² -> μμ§ λμ / λ΅λ³ μΆλ ₯ -> ν΄λ°±λΈλ‘ -> μ¬μ©μμκ² λ΅λ³
μ΄λ κ² λμνλ κ²μΌλ‘ μ΄ν΄νλ€.
- μ€ν¬μλ² λ±λ‘νκΈ°
-
- μ€ν¬μλ² μ΄λ¦κ³Ό μ€λͺ μ λ ₯
-
- URL μ λ ₯ 곡κ°μ μμ§μ΄ λμκ°λ μ±λ΄μμ§ μλ² URL μ λ ₯
-
- μλμ βμ€ν¬μλ‘ μ μ‘βμ ν΄λ¦ν΄ μ μ λμνλμ§ νμΈ
-
- λ
ν΄λ°±λΈλ‘
ν΄λ°±λΈλ‘
μ΄λ, μ¬μ©μκ° λ±λ‘ν λ°νμμ λ²μ΄λ λ°νκ° λ€μ΄μ€λ©΄, κ·Έμ λ§λ λ΅λ³μ μΈλΆμμ κ°μ Έμ¬ μ μλ κΈ°λ₯μ΄λ€.
μ μμμ²λΌ βμλ
!βμ λν λ΅λ³μΌλ‘ βμλ
μ€λλ§μ΄λ€!βλΌκ³ μ§μ νμ§λ§, μ¬μ©μ λ°νλ‘ βλ°°κ³ νβλΌκ³ λ€μ΄μ€λ©΄ λ΄κ° μ€μ ν λ΅λ³μ΄ μμΌλ―λ‘ μΈλΆ λͺ¨λΈμμ μ¬μ©μ λ°νλ₯Ό
μ²λ¦¬νμ¬ λ΅λ³μ μ»μ΄ μΆλ ₯νλ λ°©μμ΄λ€.
- ν΄λ°±λΈλ‘ λ±λ‘νκΈ°
μλ리μ€
λ‘ λ€μ΄κ°ν΄λ°±λΈλ‘
ν΄λ¦νλΌλ―Έν° μ€μ
μμ λ΄κ° λ±λ‘ν μ€ν¬μλ²μ λ²μ μ ν- μλ
λ΄ μλ΅
μμμ€ν¬λ°μ΄ν°μ¬μ©
μ μ ν - μ μ₯νλ©΄ λ
μμ
- Flask μ±λ΄ μμ§ μλ²
- λ§μ μ½λκ° μλ΅λμ΄ μλ μ½λμ§λ§, μ¬μ©μ λ°νλ₯Ό
request.get_json()
μΌλ‘ λ°μμ¨λ€. - κ·Έ ν, [βuserRequestβ][βutteranceβ]μ ν΄λΉνλ κ°μ΄ μ¬μ©μ λ°νμ΄λ―λ‘, ν΄λΉ λ°νλ₯Ό νμ±νλ€.
- νμ±ν λ°μ΄ν°λ₯Ό μ λΉν κ°κ³΅ν ν,
answer
λ³μμ κ²°κ³Όκ°μ ν λΉνκ³ jsonννμ λ§μΆ°response
ν΄μ€λ€.
[μμ μ½λ]
from flask import Flask
from flask import request
import pandas as pd
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
import json
app = Flask(__name__)
@app.route("/model",methods=['POST'])
def decision():
json_data = request.get_json()
text = json_data['userRequest']['utterance']
# ... μλ΅
responseBody = {
"version": "2.0",
"template": {
"outputs": [
{
"simpleText": {
"text": answer
}
}
]
}
}
return responseBody
if __name__ == '__main__':
app.run(debug=True)
μμ μμ§ μλ²μ URLμ μ€ν¬μλ²μ λ±λ‘νκ³ ν΄λ°±λΈλ‘μμ μ€ν¬μλ²λ₯Ό μ§μ ν ν, λ΄ ν μ€νΈμμ νμΈν΄λ³΄λ©΄ λ!
λκΈλ¨κΈ°κΈ°