안녕하세요. 수업 내용 중 Ollama 임베딩 모델에서 아래와 같이 임베딩 모델을 설정하고 embed_documents 사용하면 아래와 같은 오류가 발생합니다. from langchain_ollama import OllamaEmbeddings embeddings_model = OllamaEmbeddings(model="bge-m3") documents = [ "인공지능은 컴퓨터 과학의 한 분야입니다.", "머신러닝은 인공지능의 하위 분야입니다.", "딥러닝은 머신러닝의 한 종류입니다.", "자연어 처리는 컴퓨터가 인간의 언어를 이해하고 생성하는 기술입니다.", "컴퓨터 비전은 컴퓨터가 디지털 이미지나 비디오를 이해하는 방법을 연구합니다." ] # 문서 임베딩 document_embeddings = embeddings_model.embed_documents(documents) # 임베딩 결과 출력 print(f"임베딩 벡터의 개수: {len(document_embeddings)}") print(f"임베딩 벡터의 차원: {len(document_embeddings[0])}") print(document_embeddings[0]) 오류의 캡처 사진과 문구는 아래와 같습니다. 오류문구 : ConnectError: [WinError 10061] 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다 해결방법 확인 부탁드립니다. 감사합니다.
5강 기상청사이트 날씨모듈 구현1 중에서 다음과 같이 날씨 태그를 살펴보는데 <span class="tmp">4.6<small>℃</small> <span class="minmax"><span>최저</span><span>-</span><span>최고</span><span>-</span></span></span> _span_tmp.span.decompose() 을 통하여 <span class="tmp">4.6<small>℃</small></span> 남기고 모두 지우는데 제가 알기로는 span 태그가 모두 사라지는 걸로 알고 있었는데 처음 span 태그는 원래 사라지지 않는건가요?? 보통의 블로그에서는 처음부터 삭제대상 태그인 경우가 없었던지라 좀 당황스럽습니다.
맥환경에서 아래와 같은 오류가 발생합니다. 그래서 pyarrow=="17.0.0"으로 내려서 설치하면 설치는 되는데 main.py 실행시 런타임 오류가 납니다. Terminal에는 output이 있네 그라지오에는 에러라고 나오는 등 poetry install명령을 치면 아래과 같은 설치오류 발생 (CrewAI 설치시) -- Configuring incomplete, errors occurred! error: command '/Library/Frameworks/Python.framework/Versions/3.12/bin/cmake' failed with exit code 1 at ~/Library/Application Support/pypoetry/venv/lib/python3.12/site-packages/poetry/installation/ chef.py: 164 in _prepare 160│ 161│ error = ChefBuildError( "\n\n" .join(message_parts)) 162│ 163│ if error is not None : → 164 │ raise error from None 165│ 166│ return path 167│ 168│ def prepare sdist( self , archive: Path, destination: Path | None = None ) -> Path: Note: This error originates from the build backend, and is likely not a problem with poetry but with pyarrow (18.0.0) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "pyarrow (==18.0.0)"'. 의존성에 문제가 있는 것 같습니다. 어떻게 해결해야 할까요?
초보자를 위한 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()
if timeMin is not None: if isinstance(timeMin, str): timeMin = datetime.strptime(timeMin, "%Y-%m-%d") timeMin -= timedelta(hours=9) url += f"&timeMin={timeMin.isoformat("T")}Z" 마지막 줄을 실행하면 원래 쌍따옴표 내 쌍따옴표라서 오류가 떠야 하는데, 영상에서는 오류가 없습니다. 반면 제 환경에서는 예상대로 오류가 발생했고, 혹시 몰라 강사님 코드 원본을 실행해 봐도 같은 오류가 발생했습니다. 오류 해결법이 아니라, 왜 영상에서는 해당 오류가 발생하지 않는지 궁금합니다!
from langchain_core.output_parsers import PydanticOutputParser from langchain_core.pydantic_v1 import BaseModel, Field, validator 예제 코드에 맞춰 pydantic_v1을 사용하였지만, deprecate되었다는 경고문이 떴습니다. pydantic_v2가 나왔으니 해당 라이브러리고 교체하라는 내용이였습니다. v1을 v2로 변경해서 적용해보았지만, 빨간줄이 떴습니다. 그래서 저는 임시 방편으로 다음과 같이 코드를 수정했습니다. from pydantic import BaseModel, Field, validator0 해당 부분에 대해서 왜 deprecate가 떴는지, 그리고 왜 deprecate된 코드를 사용할 수 없는 것인지 궁금하여 질문을 남기게 되었습니다. 감사합니다.
강의에서 제공된 코드는 영화 개봉 날짜, 평점을 가져오지 못하고 있는데 아래 코드 사용하시면 됩니다. 그리고 태그가 단일 요소일 경우 contents 속성을 사용하기 보다는 string 속성을 사용하면 리스트가 아닌 문자형으로 바로 출력할 수 있습니다. for dt, dd in zip(c_dt, c_dd): if dd.select_one('c-star'): rating = dd.select_one('c-star').next_element.strip() c_data[dt.string] = rating elif dd.select_one('span'): days = dd.select_one('span').string c_data[dt.string] = days else: c_data[dt.string] = dd.string
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)