https://smithery.ai/server/@smithery-ai/filesystem 위 사이트의 파일시스템 연결하는 부분이 강의랑 좀 달라졌습니다. 경로를 Cursor에 직접 등록하는 부분이 아니라 아래의 Connect 부분에서 Configure 부분에 디렉토리를 입력하도록 변경됬네요. 우측 상단에 Configure 누르시면 allowedDirectories를 입력하는 창이 생깁니다. 주의! 리스트 형태로 넣어줘야 합니다. ["경로1", "경로2"] 처음에는 경로를 하나씩 넣고 Add Item으로 추가해줬는데.. 계속 빨간불 떠서 이것 저것 다해보다가 저 위의 방식으로 해결됬습니다. 참고들 하세요..
안녕하십니까 강사님! fastapi강의를 정말 유익하게 보고 있습니다. 정말 감사드립니다. 다름이 아니라 저는 현재 학생으로써 백엔드 개발을 빠르게 이해하고 싶어서 개발 속도가 빠른 fastapi를 선택하여 공부중입니다. fastapi의 기술 스택을 익히면 어느 방향성에서 강점을 보일까요? 물론 하고자 하는 목표를 정하고 그에 맞는 기술을 배우는 것이 훨씬 더 좋은 방향이라고 생각하나 수업을 듣던중에 그럼 이렇게 장점을 가진 fastapi기술은 어디에서 사용할까? 단순 백엔드 개발로써는 자바가 많이 보편화 되어있으니 국내에서는 자바가 훨씬 유리할 거 같은데 국내에서는 어떤 방식으로 이 프레임워크를 다룰까? 이런 부분들이 궁금해졌고 이런 부분들을 알아야 조금 더 fastapi의 강점을 생각하면서 공부에 도움이 될 거 같아서 질문드립니다. 강사님이 생각하시기에 fastapi는 어떤 분야에서 강점을 보이고 어떤 분야에서 이 프레임워크를 사용해 확장할 지 궁금합니다. 학생의 관점에서 보면 시야를 넓게 보는게 한계가 있어서 도움을 청합니다. 실례가 안된다면 뛰어난 경력을 가지신 강사님께 여쭙고 싶습니다! 만약에 바쁘시다면 키워드라도 주시면 제가 직접 자료 조사를 해서 알아가도록 하겠습니다. 다시 한번 좋은 강의를 제공해주심에 감사를 표합니다! 강의 관련 제 생각은 강의를 다 본 후에 강의평에 남기도록 하겠습니다!
Java의 구조와 기초 용어 9:49 용어 관련하여 생성된 객체는 몇 개이고, 변수는 무엇인가요? 라는 문제에서 생성된 객체는 new를 받는 것을 의미하는 것으로 ParentC parent, ChildC child 이렇게 2개 인데 변수도 parent, child라고 한다면 객체와 변수라는 용어는 같은 의미인가요?
다차원 배열과 문자열 배열 과정 챕터 19:24에서는 입력 구문에서 int arr[3][3]={1, 2, 3}, {4, 5, 6}, {7, 8, 9} 20:28에서는 입력 구문에서 const char *arr[2][2]={{Hello", "World"}, {"app", "dev"}}; 위 2개 입력 구문의 차이에서 첫번째는 왜 arr[3][3]이고, 두번째는 *arr[2][2]인지 모르겠습니다.
비전공자 신입 취준생입니다. 부트캠프 통해서 백엔드 과정을 수료 후 너무 부족해서 현재 인프런에서 자바하고 스프링공부를 다시하면서 알고리즘 공부도 준비를 해야할 것 같아서 강의를 듣고있습니다. 자바도 아직 많이 부족한데 파이썬으로 하다보니 더 헷갈리네요 제공해주신 파이썬 기초강의를 듣고 알고리즘 강의를 듣고있는데 기초강의와 다르게 파이참으로 할 땐 들여쓰기를 하더라고요 자바와 다른 방식으로 들여쓰기를 하다보니 아직은 어려운데 들여쓰기는 어떤식으로 익혀야할지 모르겠네요
출력값 str1==str2: true str1==str2: false 이부분 str2==str3: false 이게 맞죠? int형과 integer의 동일한 값은 ==나 equals 모두 true이지만 int와 int / integer와 integer끼리의 -128~127 외의 값은 ==로 비교 했을 때 false double은 == 비교 값은 모두 false new로 새로만든 생성자의 데이터 값은 값은 동일하여도 메모리 주소의 값이 달라서 ==와 equals(메서드 지정x)은 모두 false이며 같게 하려면 본 동영상 8분30초 부분 메서드와 같아야 equals가 true가 나오는 거죠? 처음 equals가 값만 같으면 ture라고 생각했는데, new생성자는 값이 같아도 메모리 값이 달라서 메서드가 없으면 equals도 결과 값이 false가 나오네요 처음 str="hello"가 같은 메모리 주소를 가르켜 equals메서드가 따로 없어도 ture가 나온다는 점을 잘 알아야 겠네요
한 번에 끝내는 AI 에이전트 개발 올인원 (w. LangGraph, Google ADK, CrewAI)
안녕하세요. 좋은 강의 항상 감사드립니다. 한 가지 문의드리고 싶습니다. 섹션 6의 28강에서 RAG 실행 부분을 실습하던 중, 제 로컬 환경에서는 코드가 에러 없이 정상적으로 실행되었지만 .chroma/esl_topics 폴더가 생성되지 않는 현상이 발생했습니다. 코드 상으로는 os.makedirs(PERSIST_DIR, exist_ok=True) 구문이 있으므로 폴더가 자동으로 생성될 것으로 예상했는데, 실제로는 생성되지 않는 것 같습니다. 혹시 해당 폴더가 생성되는 정확한 경로를 알려주실 수 있을까요? 또는 Windows 환경에서는 위 코드로 폴더가 생성되지 않는 경우가 있는지도 궁금합니다. 확인 부탁드립니다. 감사합니다. import os from typing import Type, Optional from crewai.tools import BaseTool from pydantic import BaseModel, Field from env import OPENAI_API_KEY from langchain_community.vectorstores import Chroma from langchain_openai import OpenAIEmbeddings, ChatOpenAI from langchain_community.document_loaders import PyPDFLoader from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain.chains import RetrievalQA os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY PDF_FILENAME = os.path.join("knowledge", "29ESLConversationTopic.pdf") PERSIST_DIR = os.path.join(".chroma", "esl_topics") def qa(question): os.makedirs(PERSIST_DIR, exist_ok=True) embeddings = OpenAIEmbeddings() try: has_index = bool(os.listdir(PERSIST_DIR)) except FileNotFoundError: has_index = False if has_index: vectordb = Chroma(persist_directory=PERSIST_DIR, embedding_function=embeddings) else: loader = PyPDFLoader(PDF_FILENAME) docs = loader.load() splitter = RecursiveCharacterTextSplitter(chunk_size=800, chunk_overlap=100) chunks = splitter.split_documents(docs) vectordb = Chroma.from_documents(chunks, embeddings, persist_directory=PERSIST_DIR) retriever = vectordb.as_retriever(search_kwargs={"k": 3}) llm = ChatOpenAI(model="gpt-4o-mini",temperature=0.3) return RetrievalQA.from_chain_type(llm=llm, chain_type="stuff", retriever=retriever).run(question) class RAGToolInput(BaseModel): question: str = Field(description="질문") class RAGTool(BaseTool): name: str = "ESL_Chroma_RAG" description: str = "Retrieves from '29 ESL Conversation Topics' PDF via ChromaDB and answers questions." args_schema: Type[BaseModel] = RAGToolInput def _run(self, question: str): try: return qa(question) except Exception as e: return str(e) rag_tool = RAGTool()
작업형 3의 문제 ## 심장마비 확률이 높은사람? - 성별, 나이, 혈압, 콜레스테롤, 공복혈당, 최대 심박수 등의 컬럼이 있음 - 평가: ROC-AUC, 정확도(Accuracy), F1 을 구하시오 - target : output (1:심장마비 확률 높음, 0:심장마비 확률 낮음) - csv파일 생성 : 수험번호.csv (예시 아래 참조) ~~~ 위와 같은 문제가 실제 시험 환경에서 문제 양식과 비슷한가요? 저렇게 문제가 나오면 전처리를 어떻게 해야 하는지... 궁금합니다. 만약, 시험 환경 문제가 저렇게 나온다면.. 결측치 제거를 그냥 컬럼을 보고 아무 컬럼이나 제거를 해도 되는지. 그게 채점 규정에 맞을지. 그리고 결측치 제거시, fillna()를 쓰는데 아무 값이나 넣어도 되는지. fillna(method='bfill') 이런걸 써도 되는지. 이상치 제거도 그냥 이것도 임의로 뭔가 이상치 인거 같다 싶으면 제거 하는건지.. 이게 채점 규정에 맞을지... 애매 한거 같은데요. ============ 그리고 혹시나 시험 유형이 저렇게 안나온다면, 문제를 좀 더 명확하게 서술 해주셔야 할 거 같아요
안녕하세요 혹시 문제에서는 전처리시에 열을 삭제하고, cols = ['name', 'host_name', 'last_review', 'host_id'] 열을 삭제하고, 값이 비어 있는거 train['reviews_per_month'] = train['reviews_per_month'].fillna(0) test['reviews_per_month'] = test['reviews_per_month'].fillna(0) 이렇게 채우는게 문제에서 지시 사항이 없었는데, 작업을 해도 되는건가요? 명확한 지시 사항이 있어야 하는게 아닌가 싶어서 여쭤봅니다. 시험 환경에서 저렇게 데이터를 삭제하거나 이상치를 처리 하는거 결측치 처리를 임의로 해도 되는지 궁금합니다.
from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split( train.drop('Attrition_Flag', axis=1), train['Attrition_Flag'], test_size=0.2, random_state=2022 ) 선생님, 데이터 분리 작성할 떄, train.drop('Attrition_Flag', axis=1) 이 부분이 이해가 가지 않아요. Attrition_Flag 컬럼은 pop함수로 따로 빼놓는거로 알고 있는데, 여기서 왜 drop으로 삭제를 하고, 뒤에 train['Attrition_Flag']를 다시 넣는건지 모르겠어요.. + 데이터 분리 전에, 먼저 target에 Attrition_Flag를 따로 분리시켜놓고 split함수를 작성해도 되나요?
안녕하세요. 영상 10:00쯤(정확히는 10:39)에 printf(*(*ptr_b+1)); 부분 설명해 주실 때 *ptr_b+1은 ptr_b주소에서 char크기만큼 증가시키는거라고 설명해 주셨습니다. 그런데 이전 영상에서는 출력할때 포인터변수명 앞에 *(별표)를 붙이면 주소가 아닌 값을 가져오는거라고 설명해 주셨는데, 여기서는 왜 값이 아닌 주소를 불러오는건지 문의드립니다.