- Elice | Frontend Development Internship ( 2024.03 - 2024.06 )
- DND 9th ( 2023.07 - 2023.08 )
- Gachon University ( 2019.03 - )
-
used as the main
-
used at least once
인공지능 기반의 약물 정보 제공 챗봇 서비스
Home Page: https://aldaa.vercel.app/chat
우선, 질문 선택지는 다음과 같다.
�우선, 각 사용자 별로 데이터가 있다. 각 사용자는 각각의 PK를 가지고 있다. 이를테면 전화번호.
[Fine-Tuning](https://platform.openai.com/docs/guides/fine-tuning/preparing-your-dataset)을 하기 위해 file업로드를 하려고하는데, 자꾸 `no such file or directory, open~'`에러가 뜬다.
const createFineTune = async () => {
const response = await openai.createFile(
fs.createReadStream("data2.csv"),
"fine-tune"
);
console.log(response);
};
Originally posted by @guesung in #17 (comment)
chatMessageList는 현재 recoil로 전역으로 관리하고 있다. runOpenAI에서도 chatMessageList를 바꾸는 로직이 계속 있기에, chatMessageList를 인자로 넘겨줄 때 해당 요소의 isSelected를 true로 바꿔서 전달해주면 될 것이다.
즉, isSelected를 runOpenAI바깥에서 먼저 변경하고, 변경한 값을 인자로 넘겨 runOpenAI 안에서 set함수(recoil)를 이용해 변경하여 렌더링을 수행한다.
순서는 다음과 같다.
![Jun-02-2023 16-21-24](https://github.com/guesung/teck-tree/assets/62178788/9465d40e-e836-4e66-83a8-3f077fa26fe7)
recoil을 이용하여 구현하였다. stream 메시지를 받을 때마다 렌더링이 일어난다. 메시지를 받고 있는 말풍선은 re-rendering이 일어나는 것이 맞는데, 다른 컴포넌트에서 일어나는 렌더링은 불필요하다.
Originally posted by @guesung in #43 (comment)
그런데, CSV 파일 모양이 이상하다.
그 이유는, encoding의 default값이 'utf-8'인데, 현재 csv파일은 한글을 포함하고 있기 때문이다.
추가 공부 : UTF8과 EUC-KR
Originally posted by @guesung in #6 (comment)
selectQuestion: [ "복용 방법과 시간", "피해야 할 약, 음식", "부작용 대법", "보관 방법", ],
[
new Document({ pageContent: "Harrison went to Harvard." }),
new Document({ pageContent: "Ankush went to Princeton." }),
]
에는 적용이 되지만, Next.js API를 이용하여 불러온 data에서는 적용이 안됨
Originally posted by @guesung in #9 (reply in thread)
LLM -> 약 정보 DB에서만 데이터를 검색하여 오류 없는 데이터 전달할 수 있도록
폴더 구조 : src > components
// src/utils/makeTTS.ts
export class TTS {
message: string;
isPlaying: boolean;
constructor(message: string) {
this.message = message;
this.isPlaying = false;
}
play() {
const tts = new SpeechSynthesisUtterance(this.message);
tts.lang = "ko-KR";
tts.pitch = 1;
tts.rate = 0.8;
window.speechSynthesis.speak(tts);
window.speechSynthesis.resume();
this.isPlaying = true;
}
stop() {
window.speechSynthesis.pause();
this.isPlaying = false;
}
}
export const makeTTS = (message: string) => {
const tts = new SpeechSynthesisUtterance(message);
tts.lang = "ko-KR";
tts.pitch = 1;
tts.rate = 0.8;
window.speechSynthesis.speak(tts);
};
// src/components/chatMessage.tsx
const handleSpeaker = () => {
if (tts.isPlaying) tts.stop();
else tts.play();
};
TTS class를 만들어, 버튼을 눌렀을 때 isPlaying===true이면 재생 중이므로 멈추고, else이면 멈춰 있으므로 다시 재생합니다.
svg파일을 읽기 위해서는 Node.js환경이 필요하다. 그래서 Node.js환경인 Next.js API를 활용하고자 한다.
// app>api>get-data>route.ts
import { CSVLoader } from "langchain/document_loaders/fs/csv";
import { NextResponse } from "next/server";
export async function GET() {
const loader = new CSVLoader("public/data.csv");
const docs = await loader.load();
return NextResponse.json(docs);
}
Next.js API에서는 csv파일을 불러와 CSVLoader로 parsing을 한 data를 response로 넘겨준다.
Given the following extracted parts of a long document and a question, create a final answer. If you don't know the answer, just say that you don't know. Don't try to make up an answer.
사용자의 이름은 ${userInfo.name}이야
${inputValue} 에 대해 말해줘
=> inputValue : 효능/복용 방법과 시간 혹은 사용자가 입력하는 메시지사용자는 ${word}약물을 복용하고 있어.
Originally posted by @guesung in #71 (comment)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.