Skip to content

Commit

Permalink
feat: 출발역, 도착역 출력
Browse files Browse the repository at this point in the history
  • Loading branch information
hdddhdd committed Nov 12, 2023
2 parents 70bbbd3 + 066a2c6 commit 39695c9
Show file tree
Hide file tree
Showing 4 changed files with 128 additions and 65 deletions.
6 changes: 3 additions & 3 deletions api/findroad/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ module.exports = async function (context, req) {
console.log(`야삐 Arrival Station: ${arrival_station}`);
// console.log(`야삐 Route: ${route}`);
if (text_counter == 0) {
itineraryText += `{"dep": ${departure_station},`;
itineraryText += `"arr": ${arrival_station},}`;
itineraryText += `{"dep": "${departure_station}",`;
itineraryText += `"arr": "${arrival_station}"}`;
// itineraryText += `"Route": '${route}',}`;

text_counter += 1;
Expand All @@ -65,7 +65,7 @@ module.exports = async function (context, req) {
}
}
console.log(itineraryText)
context.res.body = JSON.parse(itineraryText);
// context.res.body = JSON.parse(itineraryText);

context.res = {
status: 200,
Expand Down
44 changes: 23 additions & 21 deletions api/onecall_script/chat.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,36 @@
"""
pip install requests
"""

import os
import requests
import openai
import sys

MODEL = "gpt-3.5-turbo"
def create_script(departure, arrival, date, time):

# 출발역, 도착역, 출발 날짜, 열차 번호, 이름, 발권 매수
CONTENT = departure + "에서 " + arrival + "으로 " + date + " " + time + "에 가는 기차 승차권을 예매하는 말을 1줄로 해줘"

departure = "물금역"
arrival = "대전역"
time = "12/11 12:23"
ticket_num = "3"
name = "홍길동"
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "동대구역에서 서울역으로 20231112 162300 에 가는 기차 승차권을 예매하는 말을 1줄로 해줘."},
{"role": "assistant", "content": "동대구역에서 서울역으로 11월 12일 16시 23분에 출발하는 기차 승차권을 예매하고 싶어요."},
{"role": "user", "content": CONTENT},
],
temperature=0,
)

CONTENT = departure + "에서 " + arrival + "으로 " + time + " 에 가는 기차 승차권을 " + ticket_num + "매 예매하는 말을 1줄로 해줘"
result = "안녕하세요, 원콜 서비스를 이용하려 합니다. "
result += response['choices'][0]['message']['content']

response = openai.ChatCompletion.create(
model=MODEL,
messages=[
{"role": "user", "content": "동대구역에서 서울역으로 11/15 16:24 에 가는 기차 승차권을 2매 예매하는 말을 1줄로 해줘."},
{"role": "assistant", "content": "동대구역에서 서울역으로 11월 15일 오후 4시 24분에 출발하는 기차 승차권 2매를 예매하고 싶어요."},
{"role": "user", "content": CONTENT},
],
temperature=0,
)
print(result)

result = "안녕하세요, 원콜 서비스를 이용하려 합니다. "
result += response['choices'][0]['message']['content']
result += " 제 이름은 " + name + "입니다."
if __name__ == "__main__":

dep = sys.argv[1] # 출발역
arr = sys.argv[2] # 도착역
date = sys.argv[3] # 출발 날짜
time = sys.argv[4] # 출발 시간

print(result)
create_script(dep, arr, date, time)
47 changes: 35 additions & 12 deletions api/onecall_script/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,36 @@
const fetch = require("node-fetch");

module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');

const name = (req.query.name || (req.body && req.body.name));
const responseMessage = name
? "Hello, " + name + ". This HTTP triggered function executed successfully."
: "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";

context.res = {
// status: 200, /* Defaults to 200 */
body: responseMessage
};
}
try {
const { dep, arr, date, time } = req.body; // 매개변수로부터 위도, 경도 정보를 받음

const call_command = `python3 ./onecall_script/chat.py ${dep} ${arr} ${date} ${time}`;

const execSync = require('child_process').execSync;
const resultBuffer = execSync(call_command, { encoding: 'utf-8' });
const result = resultBuffer.toString();

var jsonData = ""
try {
jsonData = JSON.parse(result);
} catch (error) {
console.error('JSON 파싱 오류:', error.message);
}

context.res.json({
// status: 200, /* Defaults to 200 */
res: jsonData
});

} catch (error) {
console.error("Error fetching data:", error);

context.res = {
status: 500,
body: { error: "Error fetching data" },
headers: {
'Content-Type': 'application/json'
}
};
}
};
96 changes: 67 additions & 29 deletions src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,8 @@ <h1>Vanilla JavaScript App</h1>

<p>Findroad API: <b id="findroad">...</b></p>

<p>Script: <b id="script">...</b></p>


</main>
</main>
Expand Down Expand Up @@ -243,24 +245,25 @@ <h1>Vanilla JavaScript App</h1>
const resultEndElement = document.getElementById('resultEnd');
resultEndElement.innerHTML = `도착지 (위도: ${resultEnd.latitude}, 경도: ${resultEnd.longitude})`;

// 변환된 좌표로 Tmap API 호출 및 결과 표시
const text = await (
await fetch(`/api/findroad`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
startX: resultStart.longitude,
startY: resultStart.latitude,
endX: resultEnd.longitude,
endY: resultEnd.latitude,
"lang": 0,
"format": "json",
"count": 10
}),
})
).json();
// 변환된 좌표로 Tmap API 호출 및 결과 표시
const { text } = await (
await fetch(`/api/findroad`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
startX: resultStart.longitude,
startY: resultStart.latitude,
endX: resultEnd.longitude,
endY: resultEnd.latitude,
}),
})
).json();

// 문제의 구간
console.log(typeof text);
document.querySelector('#findroad').textContent = text;

console.log(text);
document.querySelector('#findroad').textContent = text;
Expand Down Expand Up @@ -290,18 +293,53 @@ <h1>Vanilla JavaScript App</h1>
</script>

<script>
Kakao.init('391acf89e1f687dc86a1818add37f25a'); // 초기화

function sendLink() { // 카카오톡 공유하기
Kakao.Link.sendDefault({
objectType: 'text',
text: '안녕하세요, 원콜 서비스를 이용하려 합니다. 물금역에서 대전역으로 12월 11일 오후 12시 23분에 출발하는 기차 승차권 3매를 예매하고 싶어요. 제 이름은 홍길동입니다.',
link: {
mobileWebUrl: 'https://developers.kakao.com/docs/js/kakaotalklink#텍스트-템플릿-보내기',
webUrl: 'https://developers.kakao.com/docs/js/kakaotalklink#텍스트-템플릿-보내기',
},
})
async function submitRowAsync(dep, arr, date, time) {
try {
const response = await fetch('/api/onecall_script', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: new URLSearchParams({
dep: dep,
arr: arr,
date: date,
time: time,
}),
});

if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}

const responseData = await response.json();
const resultData = responseData.result;
// 여기에서 서버 응답 처리
console.log(responseData);
document.querySelector('#script').textContent = responseData;

Kakao.init('391acf89e1f687dc86a1818add37f25a'); // 초기화

function sendLink() { // 카카오톡 공유하기
Kakao.Link.sendDefault({
objectType: 'text',
text: '안녕하세요, 원콜 서비스를 이용하려 합니다. 물금역에서 대전역으로 12월 11일 오후 12시 23분에 출발하는 기차 승차권 3매를 예매하고 싶어요. 제 이름은 홍길동입니다.',
link: {
mobileWebUrl: 'https://developers.kakao.com/docs/js/kakaotalklink#텍스트-템플릿-보내기',
webUrl: 'https://developers.kakao.com/docs/js/kakaotalklink#텍스트-템플릿-보내기',
},
})
}

} catch (error) {
// 오류 처리
console.error('Error submitting form:', error);
}
}

// 예시 호출
// submitRowAsync('departureValue', 'arrivalValue', 'dateValue', 'timeValue');

</script>

<div>
Expand Down

0 comments on commit 39695c9

Please sign in to comment.