묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결남박사의 파이썬으로 봇 만들기 with ChatGPT
can't open/read file: check file path/integrity 오류 발생 시 해결 방법
cv2.imread() 함수를 통해 이미지를 읽어 들일 때, 한글을 읽어오지 못해 오류가 발생하는 경우가 있습니다. 아래의 코드로 해결하시면 됩니다.참고로, 아래 코드 사용 시 cvtColor() 함수를 사용해서 색상을 변경하지 않아도 됩니다.import numpy as np img_path = "이미지 파일 경로" img_file= np.fromfile(img_path, np.uint8) cv_decode = cv2.imdecode(img_file, cv2.IMREAD_COLOR) qr_reader = pyzbar.decode(cv_decode) print(qr_reader)
-
해결됨[Python 초보] Flutter로 만드는 ChatGPT 음성번역앱
음성인식 번역
음성인식으로 영어 인식은 잘 되는데 한국어 인식을 잘 못합니다한국어로 이야기를 해도 영어로 인식이 되는 문제가 있습니다
-
해결됨RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
실습파일 003 CSVLoader, UnicodeDecodeError
안녕하세요, 판다스님강의를 보면서 실습 중 에러가 발생해서 문의드립니다.실습파일은 LangChain_003_Data_Processing.ipynb 입니다.2.4 CSV 문서에서 오류가 발생했습니다.에러 코드는 UnicodeDecodeError: 'cp949' codec can't decode byte 0xed in position 62: illegal multibyte sequence 입니다.혹시, 해결방법을 알고 계세요??
-
해결됨[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를 바로 읽어줌 }); } } }
-
해결됨RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
gradio를 사용하시는 이유에 대해 궁금합니다.
이 강의를 보며 공부하면서 따라하다가 궁금해졌습니다.streamlit을 사용하는 분도 있는데 gradio를 사용하시는 이유가 궁금합니다.그리고 streamlit과 gradio의 차이를 아신다면 알려주시겠습니까?
-
해결됨[Python 초보] Flutter로 만드는 ChatGPT 음성번역앱
음성 통신 테스트 안됨
음성 통신 테스트를 할때녹음을 못하는것 같습니다어떻게 해결해야하나요...?python test_total_mic.py 하면 밑에처럼 뜹니다.... 마이크 설정은 부록을 보고 켜져있는것을 확인했습니다,,,, 녹음을 시작합니다!녹음을 종료합니다.Error in sys.excepthook:Original exception was: 제가 친 코드 입니다from openai import OpenAI from pathlib import Path import sounddevice as sd from scipy.io.wavfile import write from playsound import playsoundclient = OpenAI() def record_audio(): #비트레이트 fs = 44100 seconds = 3 # 음성의 길이 print('녹음을 시작합니다!') record = sd.rec(int(seconds*fs), samplerate=fs, channels=2) sd.wait() #대기 print('녹음을 종료합니다.') audio_input_path = "audio_input.wav" write(audio_input_path,fs,record) return audio_input_pathdef conn_whisper(audio_input_path): audio_file= open(audio_input_path, "rb") transcription = client.audio.transcriptions.create( model="whisper-1", file=audio_file ) print(transcription.text) text_input = transcription.text return text_inputdef conn_chatgpt(text_input): completion = client.chat.completions.create( model="gpt-4o-mini", messages=[ {"role": "user","content": text_input} ] ) print(completion.choices[0].message.content) text_output = completion.choices[0].message.content return text_outputdef conn_tts(text_output): speech_file_path = Path(__file__).parent / "audio_output.mp3" response = client.audio.speech.create( model="tts-1", voice="alloy", input=text_output ) response.stream_to_file(speech_file_path) audio_output_path = str(speech_file_path) return audio_output_pathdef main(): #마이크 input => audio_intput_path audio_input_path = record_audio() audio_input = open(audio_input_path,"rb") text_input = conn_whisper(audio_input) text_output = conn_chatgpt(text_input) audio_output_path = conn_tts(text_output) playsound(audio_output_path) returnmain()
-
해결됨[Python 초보] Flutter로 만드는 ChatGPT 음성번역앱
chatgpt api 연결안되는거 같아요
섹션 3에서 chatgpt api 연결이 안되는거 같아요 python test_chatgpt.py 를 하면 선생님처럼 되지 않고 이런 오류가 뜹니다.해결 부탁드립니다...(desktop_venv) C:\desktop>python test_chatgpt.py Traceback (most recent call last): File "C:\desktop\test_chatgpt.py", line 4, in <module> completion = client.chat.completions.create( File "C:\desktop\desktop_venv\lib\site-packages\openai\_utils\_utils.py", line 274, in wrapper return func(*args, **kwargs) File "C:\desktop\desktop_venv\lib\site-packages\openai\resources\chat\completions.py", line 704, in create return self._post( File "C:\desktop\desktop_venv\lib\site-packages\openai\_base_client.py", line 1270, in post return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)) File "C:\desktop\desktop_venv\lib\site-packages\openai\_base_client.py", line 947, in request return self._request( File "C:\desktop\desktop_venv\lib\site-packages\openai\_base_client.py", line 1051, in _request raise self._make_status_error_from_response(err.response) from Noneopenai.AuthenticationError: Error code: 401 - {'error': {'message': 'Incorrect API key provided: sk-proj-********************************************************************************************************************************************************ndYA. You can find your API key at https://platform.openai.com/account/api-keys.', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_api_key'}}
-
미해결모두를 위한 대규모 언어 모델 LLM Part 4 - AI 고객센터 챗봇(AICC)을 만들며 배우는 RAG 구현
영상화질 열화가 너무 심각합니다.
스크롤이 일어 날 때 마다 화면이 다 뭉게지는게 너무 심해요. 2,3 강은 거의 보기 힘든 수준이고 다른 강의는 그나마 나은 수준입니다.
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
Bard API 실행 오류
bard api 관련 질문입니다.1.bard 에서 gemini 로 서비스가 변경이 되었습니다.변경된 교육이나 자료가 있을까요?강의 내용 대로 했는 오류가 나오네요 (쿠키 삭제하고 해도)ch06>python 01_bard_exp.py{'content': 'Response Error: b\')]}\\\'\\n\\n38\\n[["wrb.fr",null,null,null,null,[7]]]\\n56\\n[["di",29],["af.httprm",29,"-4302197897822373408",28]]\\n25\\n[["e",4,null,null,131]]\\n\'. \nUnable to get response.\nPlease double-check the cookie values and verify your network environment or google account.'}알려주세요~~
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
스트림릿 클라우드 배포시 외부접근 질문드립니다.
안녕하세요, 정말 좋은 강의 감사드립니다.현재 스트림릿으로 배포하는 단계를 따라해 보고 있는데요. 배포는 잘되는데 이게 외부에서 접근은 안되는 URL인가요? 배포한 깃헙과 연동된 상태로 url클릭하면 정상 접근되는데, 외부에서는 아래와 같은 화면이 뜹니다. 전세계사람들이 볼 수 있는건 또 다른 프로세스가 필요한가요? [ url클릭 ][배포 계정 말고 다른 계정으로 sign in 후]
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
오류문의
다른 컴퓨터에서 해보고있는데 또 똑같은오류가 발생하는거 같아 문의드립니다. 이전 컴퓨터에서는 해당오류 해결하였는데다른컴퓨터에서는 똑같이 발생합니다. lim.invok(prompt_text) 실행시 발생 RateLimitError Traceback (most recent call last) Cell In[21], line 1 ----> 1 response = llm.invoke(prompt_text) File c:\Users\hyunn\AppData\Local\pypoetry\Cache\virtualenvs\qa-bot-uxQSWlcO-py3.11\Lib\site-packages\langchain_core\language_models\chat_models.py:276, in BaseChatModel.invoke(self, input, config, stop, kwargs) 265 def invoke( 266 self, 267 input: LanguageModelInput, (...) 271 kwargs: Any, 272 ) -> BaseMessage: 273 config = ensure_config(config) 274 return cast( 275 ChatGeneration, --> 276 self.generate_prompt( 277 [self._convert_input(input)], 278 stop=stop, 279 callbacks=config.get("callbacks"), 280 tags=config.get("tags"), 281 metadata=config.get("metadata"), 282 run_name=config.get("run_name"), 283 run_id=config.pop("run_id", None), 284 **kwargs, 285 ).generations[0][0],... (...) 1049 retries_taken=options.get_max_retries(self.max_retries) - retries, 1050 ) RateLimitError: Error code: 429 - {'error': {'message': '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.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
llm.invoke(prompt_text) 실행시 에러 발생
llm.invoke(prompt_text) 실행시 에러 발생 강의보고 여러번 다시 설치해보았는데도 똑같은 에러 발생합니다. 해결방법 문의드립니다. --------------------------------------------------------------------------- RateLimitError Traceback (most recent call last) Cell In[7], line 1 ----> 1 llm.invoke(prompt_text) File c:\Users\hyunna.kim\AppData\Local\pypoetry\Cache\virtualenvs\qa-bot-aDTKY8ud-py3.11\Lib\site-packages\langchain_core\language_models\chat_models.py:276, in BaseChatModel.invoke(self, input, config, stop, kwargs) 265 def invoke( 266 self, 267 input: LanguageModelInput, (...) 271 kwargs: Any, 272 ) -> BaseMessage: 273 config = ensure_config(config) 274 return cast( 275 ChatGeneration, --> 276 self.generate_prompt( 277 [self._convert_input(input)], 278 stop=stop, 279 callbacks=config.get("callbacks"), 280 tags=config.get("tags"), 281 metadata=config.get("metadata"), 282 run_name=config.get("run_name"), 283 run_id=config.pop("run_id", None), 284 **kwargs, 285 ).generations[0][0],...(...) 1049 retries_taken=options.get_max_retries(self.max_retries) - retries, 1050 ) RateLimitError: Error code: 429 - {'error': {'message': '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.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
Tavily 검색 도구, CrewAI Sequential Agent 활용 방법 (실습) 수업자료.
안녕하세요! " Tavily 검색 도구, CrewAI Sequential Agent 활용 방법 (실습) "수업에서, dependencies를 제공된 수업자료에서 붙여넣으면 된다고 하셨는데, 제공된 수업자료에는 dependency 부분이 없습니다..수업자료는 test.ipynb밖에 없는데 해당 ipynb 파일에는 dependency 목록이 없어서 인강을 보고 tool poetry dependancies를 직접 쳐야 하는건지 난감한 상황이에요. 시간되실 때, 부디 회신 문의드립니다. 감사합니다.
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
OPENAI_API_KEY 인식중에 에러가 발생하네요,
안녕하세요. .env에서 OPENAI_API_KEY 설정도 제대로 했어요. 실행시 이미지 같은 에러는 어떻게 해야 할까요? 혹시나 해서 openaai에서 api상태도 확인했는데 사용 가능 상태이거든요.
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
카카오톡 챗봇연결 테스트(aws)
수업자료 chapter 15를 기준으로 그대로 따라했는데요.aws lamda, api gw gpt의 버전만 수정을 한 상태입니다(gpt4o)그런데 계속 "아직 제가 생각이 끝나지 않았어요잠시후 아래 말풍선을 눌러주세요"와 "생각이 다 끝났나요?"질문들만 주로 눌리게 되더라구요. 체크해봐야하는 부분이 있을까요?
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
ffmpy 설치 실패, ChefBuildError
poetry add python-dotenv langchain langchain_openai gradio 입력하니 powershell에서 이렇게 나옵니다.ffmpy 설치 실패와 함께 ChefBuildError가 뜨는데 어떻게 해야 하나요?아래의 글은 제가 모두 시도해본 방법입니다. 그러나 해결되지 않았습니다. cache 삭제도 해봤습니다.-------------------------------------------------------해결 방법빌드 환경에 setuptools 설치setuptools가 현재 빌드 환경에 설치되어 있는지 확인하고, 설치되어 있지 않다면 설치합니다. 다음 명령어를 사용하여 setuptools를 다시 설치해보세요:pip install --upgrade setuptoolswheel 패키지 설치wheel 패키지도 설치되어 있어야 합니다. 아래 명령어로 설치해 보세요:pip install wheel패키지의 버전 확인ffmpy의 다른 버전을 시도해 볼 수 있습니다. ffmpy의 최신 버전이 문제를 해결할 수 있을지 확인해 보세요. 예를 들어, 최신 버전을 설치하려면:pip install ffmpypip install ffmpy==0.2.3
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
커널에서 poetry env가 보이지 않습니다.
안녕하세요!vs code를 종료하고 재시작해봐도 poetry env 커널이 보이지 않습니다. poetry activate는 했습니다!알려주시면 정말 감사하겠습니다.
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
Chroma 오류
Chroma 오류가 발생합니다.오류가 발생하면서 커널이 끊어집니다.here 눌렀을 때jupyter log 눌렀을 때 입니다.다음 부분에서 오류가 나는 것 같습니다.from langchain_community.vectorstores import Chroma db = Chroma.from_documents(splits, embeddings_model)
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
RAG에서의 chain 코드
chain 연결하는 | 문법을 사용하지 않는 이유가 있을까요?
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
프롬프트 기법에 대한 소식을 어디서 얻을 수 있을까요?
단편적으로 프롬프트는 이렇다를 넘어서서 그런 최신의 정보를 얻으려면 어디서 얻어야할까요?감사합니다