묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결2시간으로 끝내는 프론트엔드 테스트 기본기
Cypress io가 유료인가요?
Cypress Colud Trial 13 days left라고 뜨는데 유료로 바뀌었나요?
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
오류가 왜 뜨는 지 모르겠어요
수업한 것을 보고 새롭게 만들었어요!근데 사이트에서 자꾸 이게 떠요RateLimitError: You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.Traceback:File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\streamlit\runtime\scriptrunner\exec_code.py", line 88, in exec_func_with_error_handling result = func()File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 579, in code_to_exec exec(code, module.__dict__)File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative.py", line 76, in <module> main()File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative.py", line 48, in main st.info(askGpt_mart(prompt))File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative.py", line 6, in askGpt_mart response = openai.ChatCompletion.create(model='gpt-4o-mini', messages=messages_prompt)File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\openai\api_resources\chat_completion.py", line 25, in create return super().create(*args, **kwargs)File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\openai\api_resources\abstract\engine_api_resource.py", line 153, in create response, _, api_key = requestor.request(File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\openai\api_requestor.py", line 298, in request resp, got_stream = self._interpret_response(result, stream)File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\openai\api_requestor.py", line 700, in _interpret_response self._interpret_response_line(File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\openai\api_requestor.py", line 765, in _interpret_response_line raise self.handle_error_response( 코드는 이렇게 짜여 있어요!import openai import streamlit as st def askGpt_mart(prompt): messages_prompt = [{"role": "system", "content": "친절하고 과학에 대해 깊게 알고 있는 다정한 과학자야. 그래서 답변할 때 다정하고 구체적으로 답변하고 단어가 어려우면 단어의 대체언어도 같이 나태내줘"},{"role":"user","content": f"{prompt}에 대한 실험 도구와 재료를 알려줘"}] response = openai.ChatCompletion.create(model='gpt-4o-mini', messages=messages_prompt) gptResponse = response["choices"][0]["message"]["content"] return gptResponse def askGpt_method(prompt): messages_prompt = [{"role": "system", "content": "너는 똑똑하고 친절한 과학자야. 그래서 실험 방법을 구체적으로 쉽게 설명해주고 어려운 단어는 쓰지 않아."},{"role":"user","content": f"{prompt}에 대한 실험 방법을 알려줘"}] response = openai.ChatCompletion.create(model='gpt-4o-mini', messages=messages_prompt) gptResponse = response["choices"][0]["message"]["content"] return gptResponse def askGpt_dev(prompt,prompt1,prompt2,prompt3): messages_prompt = [{"role": "system", "content": "너는 똑똑하고 친절하고 섬세한 과학자야. 원래 실험 방법에서 사용자의 환경을 고려하여 적절하게 실험 방법을 바꿔서 구체적이고 세세하게 알려주는 과학자야."},{"role":"user","content": f"나는 {prompt}에 대한 실험을 할거야. 하지만 나는 {prompt1}이 없어. 그래서 {prompt1}은 쓰지 못해. {prompt1}을 사용하는 실험 방법을 바꾸되 성공하게 하는 실험 방법을 알려줘 나는 {prompt2}에서 실험을 진행할 거야. 상황과 환경에 맞는 실험 방법을 부탁해. 또 {prompt3}(이)라는 추가적인 환경과 조건이 있으니까 이 모두를 적절히 고려해서 완전히 구체적이고 세부적이고 자세한 실험 방법을 알려줘" }] response = openai.ChatCompletion.create(model='gpt-4o-mini', messages=messages_prompt) gptResponse = response["choices"][0]["message"]["content"] return gptResponse def askGpt(prompt): messages_prompt = [{"role": "system", "content": "너는 청자가 이 실험을 처음 하는 사람인 것을 알아서 이 실험이 실패할 수 있는 일을 구체적이고 자세하게 설명하면서 그러지 않기 위해서 어떻게 해야하는지 답하는 과학자야"},{"role" : "user", "content":f"{prompt}에 대한 실험 주의사항을 구체적으로 알려줘"}] response = openai.ChatCompletion.create(model='gpt-3.5-turbo', messages=messages_prompt) gptResponse = response["choices"][0]["message"]["content"] return gptResponse def main(): with st.sidebar: # Open AI API 키 입력받기 open_apikey = st.text_input(label='OPENAI API 키', placeholder='Enter Your API Key', value='',type='password') # 입력받은 API 키 표시 if open_apikey: openai.api_key = open_apikey st.markdown('---') st.header("AI 실험 도우미 ⚗️") st.markdown("---") ex_name = st.text_input("실험 이름",placeholder="거울 구리 실험, 나트륨 폭발 실험, 코끼리 실험...") co1,co2 = st.columns(2) with co1: if st.button("실험 도구 및 재료 안내"): prompt = ex_name st.info(askGpt_mart(prompt)) with co2: if st.button("실험 방법 안내"): prompt = ex_name st.info(askGpt_method(prompt)) st.markdown("===") col1,col2,col3 = st.columns(3) with col1: no_mar = st.text_input("없는 준비물",placeholder="유리막대, 비이커, 전자현미경...") with col2: where = st.text_input("장소",placeholder="집, 학교 실험실, 대학 생명과학 실험실...") with col3: add = st.text_input("추가 정보",placeholder="습도를 바꾸지 못함, 기온이 20도 이상으로 올라가지 않음...") if st.button("AI 실험 도우미"): prompt,prompt1,prompt2,prompt3 = ex_name,no_mar,where,add st.info(askGpt_dev(prompt,prompt1,prompt2,prompt3)) if st.button("주의사항"): prompt = ex_name st.info(askGpt(prompt)) if __name__=='__main__': main()
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
streamlit을 주피터 노트북에서 사용 불가 한가요??
streamlit을 주피터 노트북에서 사용하고 싶은데 어떻게 해야하나요??
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
Streamlit run 이 안 돼요ㅠㅠㅠ
Python 버전을 낮게 해서 Streamlit설치까지 완료했어요. 하지만 streamlit run을 하면 사이트에서도 아무것도 안 뜨고 터미널에서도 오류가 뜬 다고 나와 요
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
Streamlit 설치가 안 되요
가상 환경을 만들어서 pip install streamlit을 하면 cmake와 pyarrow가 안 된다며 설치가 안 돼요 그리고 자꾸 cmd 옆에 경고 표시가 떠요
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
docStore
InMemoryStore은 영구 저장이 아닌데요docStore도 영구 저장하는 방법이 있을까요?
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
섹션 20~23 강의자료가 없습니다.
안녕하세요. 섹션 20~23 colab링크는 있는데요. 강의자료 pdf가 없어서 문의 드립니다.llama 3.1, 3.2 / LLM최적화등.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
학습시 API Key를 입력하라고 합니다.
학습 시작하면 wandb: Paste an API key from your profile and hit enter, or press ctrl+c to quit: 하고 입력을 기다리네요. 어떤 것을 입력해야 하나요?
-
미해결데이터분석에 ChatGPT 강림
date analysis 탐색 항목이 안보입니다.
탐샙 탭에서 date analysis 안보입니다. 혹시 채팅 탭에서 "데이터분석" 으로 보이는 항목으로 해도 되는건지 문의드립니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
OpenAI Assistants tools 중 retrieval 기능
안녕하세요OpenAI Assistants tools 기능중 retrieval 기능 대신 File Search 기능이 doc 페이지에서 보이는데 사용자가 upload 한 pdf file 을 기반으로 QnA 를 할 수 있는 기능은 이젠 제공되지 않나요?
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
OpenAI Assistants API 기초 예제 중 client.beta.threads.message.list 함수
안녕하세요 수업노트의 코드를 실행했을때 Assistant's Response message value 에서 중간 풀이 과정이 출력되지 않는데 동영상과 차이가 뭘까요?ㅇ 동영상 Value = "I need to solve the equation 3x + 11 = 14. Can you help me?"Value = "Sure, Jane Doe! To solve the eqation 3x + 11 = 14 for x, We need to isolate x on the one side of eqation. Here's how we can do it step by step. Subtract 11 from both sides of the eqation to get '3x' by itself on one side. That leaves us with '3x = 14 - 11' Simplify the right side of equation to find out what '3x' equation. Divide both sides of the equation by 3 to solve for 'x' Let's do the calculation"Value = "The solution to the equation '3x + 11 = 14' is x = 1"ㅇ 실습코드value='The solution to the equation \\(3x + 11 = 14\\) is \\(x = 1\\).')'I need to solve the equation 3x + 11 = 14. Can you help me?'
-
미해결모두를 위한 대규모 언어 모델 LLM Part 3 - 구글 제미나이(Google Gemini) API, OpenAI API와 젬마(Gemma)로 AI 어플리케이션 만들기
PPT 강의자료 요청
안녕하세요. PPT 강의자료는 누락되어있는데, 별도 요청드립니다. 감사합니다.
-
해결됨모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
Fine Tuning 후 inference 하는 예시(코드) 질문
안녕하세요 우선 커리큘럼을 차례대로 재밌게 학습하고 있습니다LLM finetuning 후 추론하는 예시를 따라하고 있는데요아래 박스는 혹시 필요 없는 문장이 아닌가 해서 질문 드립니다감사합니다
-
미해결[바이브 코딩 + AI 실무 데이터 분석] 런던 MBA 학생들이 열광한 수강평 5.0 만점 강의: 문과출신 비전공자도 현업에서 바로 써먹는 데이터분석 실무 역량과 취준 완성!
범주형 데이터 세트의 불균형 문제
안녕하세요, 수업을 듣다가 fraud detection을 예시로 주셨던 범주형 데이터 속성중에 세트 자체에서 불균형이 큰 경우, 예를 들어 yes 는 1000 개고 no 가 5개 밖에 없는 극단적인 불균형이 있을 때는 모델의 정확도를 맞추기 어렵다고 설명주신 부분에 질문이 있어요. 저도 사실 제 프로젝트를 하던중에 비슷한 문제가 있었어서 SMOTE같은 방법을 써서 어떻게 해서든 불균형 문제를 완화해보려고 노력했는데 주어진 데이터 자체가 너무 불균형이 심하면 설명주셨던 것처럼 별다른 방법을 찾지 못했습니다. 만약 그럼에도 불구하고 그 데이터가 중요한 속성들과 데이터라면 어떻게 다루는 것이 좋을까요? 제가 예전에 했던 방법은 정확하게는 기억이 나지 않지만 그 그룹군을 아예 나누어 data frame을 따로 짜서 분석을 진행해보려고 했던 것 같아요. (예시: no = fraud 그룹군 df, yes = non_fraud 그룹군) 실질적으로는 보통 어떻게 접근하거나 해결하는 지 궁금합니다...!
-
해결됨[Python 초보] Flutter로 만드는 ChatGPT 음성번역앱
음성인식 번역
음성인식으로 영어 인식은 잘 되는데 한국어 인식을 잘 못합니다한국어로 이야기를 해도 영어로 인식이 되는 문제가 있습니다
-
해결됨[LLM 101] LLM 초보를 위한 Llama SFT 강의 (feat. ChatApp Poc)
폐쇄 환경에서 챗봇
안녕하세요! 강사님강의 너무 잘들었습니다. 인터넷이 끊긴 폐쇄 환경에서 강의에서의 데모 버전을 구현하려고 합니다. 허깅페이스에서 모델을 다운받아서 진행하면 될까요?
-
해결됨서류탈락은 그만! 챗GPT로 기업별 맞춤 합격 이력서 반자동화하기
신입 이력서에 배운점을 작성하는건?
강의를 다 보시고 직접 하나씩 시행해보시면서 겪게되는 어려움들을 편하게 올려주세요.[가이드]이력서 관련 - 나의 이력서를 직접 업로드 하시고, 어떤 부분이 어려운지 말씀해주세요 GPT관련 - 챗GPT를 쓰시면서 겪으시는 어려움들도 편하게 올려주세요.그 외 다양한 질문 모두 편하게 올려주세요. [주의점]본인의 이력서를 직접 업로드 하실 경우에는 꼭 개인 정보를 가려주세요.안녕하세요 강사님!이제 이력서를 준비하려던중 강사님의 강의를 통해 잘 배우고있습니다. 저는 신입 개발자 취업을 위해 이력서를 준비하려고 하고 있습니다. 프로젝트라고 해봤자 큰건 아니고 2명의 동료와 함께 사용자 없는 서비스 만들어본것이 다입니다..그리고 결과는 좋은 결과 보다는 좋지 않은 결과들이 많습니다. 이 경우, 배운점을 작성하는건 별로일까요?감사합니다.
-
해결됨[LLM 101] LLM 초보를 위한 Llama SFT 강의 (feat. ChatApp Poc)
런타임 유형 변경 및 토크나이저 관련 에러
안녕하세요 코랩 실습 과정 중하드웨어 가속기 선택할 때 V100이 비활성화 되어있을경우 어떤 것을 선택해야 하는지 문의 드립니다.아울러 모델튜닝 실습 중 tokenizer.default_chat_template 부분에서 에러가 뜨는데 다음 단계로 넘어갈 수 있도록 하는 방법이 있을까요? 이후 패스하고 넘어간다고 해도 PEFT - LoRA부분에서도 에러가 뜹니다. 혹시 위 부분에서 pip install flash-attn===1.0.4 부분을 처리하지 않아서 오류가 난 것일까요?
-
해결됨[Python 초보] Flutter로 만드는 ChatGPT 음성번역앱
음성인식 하는 마이크 시간이 짧은거 같아요
안녕하세요!섹션 7 Flutter음성대화 마지막 부분인 최종 테스트를 진행하고 있습니다음성인식이 가능은 합니다하지만 인식하는 시간이 짧아 긴 문장은 인식 못하는거 같습니다!!더 긴 문장을 말하고 싶은데 제가 말하는 음성인식 시간을 더 길게 할 수 있는 방법이 있을까요?? 제 코드 입니다오류나는 문제는 없습니다!!import 'package:dash_chat_2/dash_chat_2.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; // 통신을 할수있는 패키지 import 'dart:convert'; //파싱을 위한 import 'package:speech_to_text/speech_to_text.dart'; //stt 패키지 import 'package:speech_to_text/speech_recognition_result.dart'; //음성을 인식하는 import 'package:flutter_tts/flutter_tts.dart'; // class BasicScreen extends StatefulWidget { @override _BasicState createState() => _BasicState(); } class _BasicState extends State<BasicScreen> { bool isListening = false; // 기본 false SpeechToText _speechToText = SpeechToText();//SpeechToText 인스턴스(?) 생성 bool _speechEnabled = false; //음성인식이 가능한지 아닌지 상태 오류가 나면 인식이 나기 떄문에 사용 안함 isListening로 어느정도 대체 가능 String _lastWords = ''; //인식한 문장이 저장될 lastWords FlutterTts flutterTts = FlutterTts();//TTS 인스턴스(?) 생성 @override void initState() { //음성인식부분을 초기화 하는 코드 super.initState(); _initSpeech(); flutterTts.setLanguage("ko-KR");//인스턴스 언어 flutterTts.setSpeechRate(1.0);// 읽어주는 속도 } ChatUser user1 = ChatUser( id: '1', //우리 firstName: 'me', lastName: 'me', ); ChatUser user2 = ChatUser( id: '2', //chatgpt firstName: 'chatGPT', lastName: 'openAI', profileImage: "assets/img/gpt_icon.png" ); late List<ChatMessage> messages = <ChatMessage>[ //List<ChatMessage> = 채팅 메세지를 리스트 형태로 보관하는 ChatMessage( text: '반갑습니다. 어서오세요. 무엇을 도와드릴까요?', //보여지는 텍스트 user: user2, //누가 얘기하는지 user 설정 createdAt: DateTime.now(), //현재 대화가 발생한 날짜,시간 ), ]; @override Widget build(BuildContext context) { // 화면에 메세지를 보여주는 부분 return Scaffold( //Scaffold라는 형식으로 앱 구성을 묶어준것 appBar: AppBar( //AppBar는 타이틀 부분 title: const Text('Basic example'), ), body: DashChat( // DashChat패키지를 이용한 고유 클래스 / DashChat 정의를 해줌 currentUser: user1, //currentUser = 채팅을 입력하는 사람은 누구 onSend: (ChatMessage m) { setState(() {// setState = 현재 화면의 상황을 업데이트 해준다라고 이해하며 됨 messages.insert(0, m); //messages.insert = 메세지 전송 현재 사용자가 입력한 텍스트를 대화창으로 보내는 역할 ,리스트가 추가되는 거죠 }); Future<String> data = sendMessageToServer(m.text); //입력한 메세지를 받아서 서버에 전송을 해주고 data.then((value){ //결과값을 비동기(?) 형태로 받아와서 user2(chatgpt)가 발화(이야기)하고 통신 결과값을 출력하는 setState(() { messages.insert(0, ChatMessage( text: value, user: user2, createdAt: DateTime.now() )); }); }); }, messages: messages, inputOptions: InputOptions( leading: [ IconButton( icon: Icon(Icons.mic, color: isListening? Colors.red: Colors.black), //음성을 듣고있는 상태면 버튼누름 빨강 / 아니면 기본 검정 onPressed: (){ //아이콘이 눌러진다면 setState(() { //상태를 바꿔줘 isListening = !isListening; // 리스닝이 아닌 상태에 검정이 리스닝 상태인 빨강으로 바뀌는 처리 if (isListening == true){// 음성입력 대기 상태가 되면 print('음성인식 시작'); //폴스였다 트루가 되면 _startListening(); }else{ print('음성인식 끝'); // 트루였다가 풀스 _stopListening(); } }); }, ) ] ), ), ); } //통신을 할 수 있는 코드 = postman에서 테스트를 하면서 코드를 얻은것임,약갼의 수정을 해준것뿐 //json의 어떤 부분을 가져와야하는지 전체를 뿌릴순 없으니 추출하는 부분만 추가한것임 Future<String> sendMessageToServer(String messages) async{ var headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer sk-UGIfeFKyAXIhwIXdM3uf96g176CRFnw5AnHJ2acSpyT3BlbkFJmhIKdmcjh56e01G0Axc5xF9scspNoz_MsXuZPUGW8A', }; var request = http.Request('POST', Uri.parse('https://api.openai.com/v1/chat/completions')); request.body = json.encode({ "model": "gpt-4o-mini", "messages": [ { "role": "user", "content": messages, } ] }); request.headers.addAll(headers); http.StreamedResponse response = await request.send(); if (response.statusCode == 200) { String responseString = await response.stream.bytesToString();//json 문자열들이 string 변수에 저장이 된다 Map<String, dynamic> jsonResponse = json.decode(responseString);//responseString을 json 구조에 맞게 변환을 시킨게 jsonResponse가 된다 -> json 구조대로 입맞에 맞게 값을을 골라올수있음 String result = jsonResponse['choices'] != null? jsonResponse['choices'][0]['message']['content']: "No result found"; print(responseString); // 전체 내용 출력, 터미널 화면에서만 출력이 됨 실제 앱에서 출력되지 않음 그래서 return "ERROR"; 을 가지고있어야함 //message = 결과값 부분만 추출 , result라는 String에 저장 // 'choices' 조건문 return result; //함수를 호출한곳에서 사용을 할 수 있다 //print(await response.stream.bytesToString()); //await response.stream.bytesToString() = 실제 결과값 } else { print(response.reasonPhrase); return "ERROR"; // 오류가 날 경우 화면에서도 오류가 난걸 확인할 수 있게 해줌 } } /// This has to happen only once per app void _initSpeech() async { //초기화 하는 함수 , 마이크 같은 디바이스를 사용하기 떄문에 필요 print("음성인식 기능을 시작합니다."); _speechEnabled = await _speechToText.initialize(); //setState(() {}); } /// Each time to start a speech recognition session void _startListening() async { // start를 하게 되면 _onSpeechResult 부분을 동작을 시킴 print("음성인식을 시작합니다."); await _speechToText.listen(onResult: _onSpeechResult); //setState(() {}); } /// Manually stop the active speech recognition session /// Note that there are also timeouts that each platform enforces /// and the SpeechToText plugin supports setting timeouts on the /// listen method. void _stopListening() async { // 음성 인식 중지 print("음성인식을 종료합니다."); await _speechToText.stop(); //setState(() {}); } /// This is the callback that the SpeechToText plugin calls when /// the platform returns recognized words. void _onSpeechResult(SpeechRecognitionResult result) { _lastWords = ""; //초기화 시킴 , 입력을 받을떄마다 새롭게 리셋해야하기 떄문에 추가 if(result.finalResult){ //최종인식 _lastWords = result.recognizedWords; //result에 recognizedWords를 _lastWords에 넣어줘 print("최종 인식된 문장: $_lastWords"); //flutter 에서는 변수를 텍스트 안에 넣어줄때 $를 넣고 일반 텍스트문자영하고 변수가 가티 출력됨 / 최종 인식된 음성을 텍스트로 바꿔서 _lastWords 넣어줘 setState(() { //messages 리스트에 인식한 내용을 추가해줘. messages.insert(0, ChatMessage( text: _lastWords, user: user1, createdAt: DateTime.now() )); }); Future<String> data = sendMessageToServer(_lastWords); //입력한 메세지를 받아서 서버에 전송을 해주고 data.then((value){ //결과값을 비동기(?) 형태로 받아와서 user2(chatgpt)가 발화(이야기)하고 통신 결과값을 출력하는 setState(() { messages.insert(0, ChatMessage( text: value, user: user2, createdAt: DateTime.now() )); }); flutterTts.speak(value); // value를 바로 읽어줌 }); } } }
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
langchain.schema가 무슨 역할을 하는지요?
랭체인으로 나만의 ChatGPT 만들기를 공부하다가 보니 아래와 같이 schema 가 나오는데 이 라이브러리는 뭐하는 건지요? 랭체인 사이트에 들어가 봐도 시원하게 설명되어 있는 것이 없어 문의 드립니다.from langchain.schema import HumanMessage