Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add function #95

Merged
merged 3 commits into from
Aug 1, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions frontend/README.md
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@

## ⚠️ Requirements for Web Frontend

Below is the commands for installing dependency packages to run web prototype. <br/>
Below is the commands for installing dependency packages to run web frontend. <br/>
Run the following commands in proper order.
```bash
# install react
@@ -32,7 +32,21 @@ npm -v # v8.11.0
yarn start # npm start
```

## How to Configure nginx
## How to Configure nginx

- Below is the commands for installing dependency packages to run web frontend

```
sudo apt install nginx
sudo rm /etc/nginx/sites-available/default
sudo rm /etc/nginx/sites-enabled/default
sudo vim /etc/nginx/sites-available/frontend.conf
sudo ln -s /etc/nginx/sites-available/myapp.conf /etc/nginx/sites-enabled/myapp.conf
```

- The configuration files that you need to write in `/etc/nginx/sites-available`

```conf
server {
listen 80;
49 changes: 27 additions & 22 deletions frontend/src/App.js
Original file line number Diff line number Diff line change
@@ -11,6 +11,7 @@ function App() {
const [sentMessage, setSentMessage] = useState("");
const [aianswer, setAianswer] = useState("");
const [precedents, setPrecedents] = useState(null);
const ans = " 질문은 AI가 작성한 답변이며 실제와 다를 수 있으므로 참고 자료로만 활용하시고, 자세한 상담을 원하시는 경우에는 전문 법조인의 상담을 받으시기 바랍니다. LawBot은 법적 책임을 지지 않는다는 점 참고바랍니다."

const messagehandler = async (e) => {
e.preventDefault();
@@ -22,27 +23,31 @@ function App() {
setPrecedents(null);
try {
console.log(message);

const response = await fetch('/generate', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ q_sentence: message }),
});

const data = await response.json();
console.log(message);
console.log(data);

if (data != null) {
if (data.answer_sentence == null) {
setAianswer("죄송합니다. 저는 법률 상담을 도와드리는 AI LawBot입니다. 법률적인 내용 외의 질문은 답변해 드리지 않는 점 참고 부탁드립니다. 법률적인 질문이 있으시다면 언제든지 물어보세요. 제가 최대한 자연스럽고 이해하기 쉽게 답변해 드리겠습니다. 어떤 도움이 필요하신가요?");
setPrecedents(null);
} else {
setAianswer(data.answer_sentence);
setPrecedents(data.similar_precedent);
}
console.log(message.trim().length)
if (message.trim().length <= 5) {
setAianswer("죄송합니다. 입력하신 \""+message+"\"는 상세하게 설명되지 않아서 정확한 답변을 제공하기 어려운 점 양해해주시기 바랍니다. 본인이 처한 상황과 궁금한 부분에 대해 가능한 모든 세부 정보와 배경을 제공해주시면, 보다 정확하고 효과적인 답변을 드릴 수 있습니다. 감사합니다.");
} else {
const response = await fetch('/generate', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ q_sentence: message }),
});

const data = await response.json();
console.log(message);
console.log(data);

if (data != null) {
if (data.answer_sentence == null) {
setAianswer("죄송합니다. 저는 법률 상담을 도와드리는 AI LawBot입니다. 법률 내용 외의 질문은 답변해 드리지 않는 점 참고 부탁드립니다. 법률적인 질문이 있으시다면 언제든지 물어보세요. 제가 최대한 자연스럽고 이해하기 쉽게 답변해 드리겠습니다. 어떤 도움이 필요하신가요?");
setPrecedents(null);
} else {
setAianswer(data.answer_sentence+ans);
setPrecedents(data.similar_precedent);
}
}
}
} catch (error) {
console.error("에러 발생:", error);
@@ -91,7 +96,7 @@ function App() {
</div>
</div>
</div>)}
{!aianswer && loading && (<Loader />)}
{loading && (<Loader />)}
</div>
</div>
</div>
32 changes: 3 additions & 29 deletions frontend/src/components/ChattingSideBar.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions frontend/src/components/Loader.js
Original file line number Diff line number Diff line change
@@ -2,11 +2,11 @@ import React, { useState, useEffect } from "react";

function Loader() {
const phrases = [
"데이터를 처리하고 있습니다...",
"답변을 생성중입니다... 잠시만 기다려주세요!",
"답변을 생성하는데 최대 30초 정도의 시간이 걸립니다... 잠시만 기다려주세요",
"LawBot은 생성된 답변에 법적인 책임을 지지 않는 점 참고해주세요!",
"상원이는 카사노바",
"법조문을 읽고 있습니다...",
"당신의 법률 문제를 위한 판례를 찾아보는 중입니다. 잠시만 기다려 주세요.",
"답변을 생성하는데 최대 30초 정도의 시간이 걸립니다.",
"당신의 질문에 대한 법적 해결책을 찾아서 조금 있다가 돌아올게요. 티타임을 즐기세요.",
"답변을 생성중입니다 잠시만 기다려주세요.",
];

const [currentPhraseIndex, setCurrentPhraseIndex] = useState(0);