모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
안녕하세요. 강의 잘 듣고 있습니다. 한 가지 궁금한 것이 있는데, SQL agent로 많은 데이터셋을 넣어주면서 질문을 할 경우 GPT4 api 를 사용했을 때 금방 하루 토큰을 다 사용했다고 뜹니다. 개인 api는 하루용 토큰이 이렇게 금방 소진 되어 테스트를 많이 해볼 수가 없어서요, 그러면 기업용으로 api를 구매하면 하루에 사용 가능한 토큰에 제한이 없는지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] HTTP API URI 설계 중 POST 등록 시에는 클라이언트는 URI를 모르니 컬렉션만 지정해서 URI를 /members까지만 하고 요청하면 서버가 URI를 부여해서 회원 등록이 완료되고PUT 등록 시에는 클라이언트가 URI를 알고 있으므로 스토어 및 식별자까지 지정해서 /files/star.jpg라는 완전한 URI를 서버에 요청해서 등록된다고 이해했습니다.그런데 의문점이 POST /members 는 다수의 객체 등록이고 PUT /files/star.jpg는 단일 객체 등록이니 PUT으로 등록 시에는 클라이언트가 특정 식별자를 지정해서 단일로만 등록되는 것이고, POST로 등록 시에는 클라이언트는 특정 식별자를 모르니 컬렉션만 URI에 지정함으로써 다수가 등록되는 걸로 이해해도 될까요? 만일 맞다면 앞으로 외울 때 PUT : 단일 등록 , POST : 다수 등록으로 제가 이해해도 될까요?
안녕하세요 api 서버 호출이 안됩니다 api 서버 연결까지는 되는데 호출에서 문제가 있습니다 post가 안되는건가 싶어서 get으로 바꾸고 직설적으로 json 호출만 해보려고해도 안됩니다.. get으로 바꾸고 아예 주소에서 http://IP주소:3105/user 찍어봐도 요런화면뿐... 서버쪽 파일은 강사님이 주신 폴더 그대로 받아서 설치했습니다 폴더 위치는 root > back 이렇게 들어있는데 폴더 위치가 문제인걸까요.. axios 문제는 아닌게 다른 open api 호출은 잘만됩니다
상품 주문 API 개발 POJO로 상품 주문 구현하기 강의에서 OrderService 구현 시 OrderPort를 주입받고, OrderAdapter에서 ProductRepository를 이용하여 Product를 Read해오는데, OrderService에서 ProductPort를 주입받은후, productPort.getProduct(productId)로 Product를 Read해온 후에 Order를 Create하는 방식은 문제가 있는 방식인지 궁금합니다. 또 강사님이 구현하신 코드와 설계 부분에서 어떤 차이가 있을지 궁금해서 질문드립니다.
org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "PRODUCTS" not found (this database is empty); SQL statement: select product0_.name as name1_0_0_, product0_.discount_policy as discount2_0_0_, product0_.id as id3_0_0_, product0_.price as price4_0_0_ from products product0_ where product0_.name=? [42104-214] 이런 에러가 나옵니다.. application.properties 에서 jpa 관련 설정해준건 없고 따라하기만 했을 뿐인데 저런 에러가 뜨네요.. 제가 알기론 jpa 의 ddl-auto 가 create 라서 저절로 생성해주는걸로 알고있는데 ,, 왜 저런 에러가 뜨는지 그리고 강사님이랑 같은 코드를 입력했는데 발생하는지 궁금하네요
안녕하세요 좋은 강의를 무료로 올려주셔서 정말 잘 보고있습니다. 보여주신 패키지 구조가 헥사고날 패키지 구조에 기반 하셨다고 다른 글에서 말씀을 해주셨던 것을 봤습니다. 그럼 controller 를 넣게 된다면 port 에 in 폴더를 넣고 다시 나누는 작업을 하시나요? 그리고 실무에서도 Controller 없이 Service 에 바로 GetMapping 을 넣어도 괜찮을까요? 감사합니다!
https://velog.io/@dasd412/ec2-%EC%9E%AC%EB%B6%80%ED%8C%85-%ED%9B%84-%EC%97%B0%EA%B2%B0-%EB%B6%88%EA%B0%80-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0 이걸 참고해도 보안 다시 해도 전 여전히 안되더라구요.. 결론적으로 배포를 성공했고 배포한 주소가 회원가입에 접근을 못해서 시큐리티 설정 때문에 그런줄 알았는데 여기서 멈췄어야 했나봅니다.. 로컬에서는 되고 ec2주소로는 접속이 안되어서 찾아보던 중 ec2를 재부팅 하면 해결된다고 해서 따라 했더니 https://github.com/jojoldu/freelec-springboot2-webservice/issues/485 이제는 아예 ec2주소에 접근이 불가능합니다 ㅠㅠㅠㅠㅠ 이걸 해결해야 하는데 어떡하나요..
안녕하세요..! 여쭤보고 싶은게 있어서 질문 남깁니다. 현재 테스트의 구조가 ApiTest 라는 클래스를 상속받아서 ProductApiTest를 만들게 되었습니다. class ProductApiTest extends ApiTest {} 제가 하고 싶은 것은 코드의 중복을 줄이고 싶습니다. class ProductApiTest extends ApiTest { @BeforeEach void setUp() { ProductSteps.상품등록요청(ProductSteps.상품등록요청_생성()); } } 이런식으로 상품 조회와 상품 수정을 하게 될때 상품을 등록하게 되는데 이런 코드를 한번만 작성하면 어떨까 생각합니다. 근데 이렇게 테스트를 돌리니 Connection refused 이라는 에러 메세지가 나오면서 테스트가 안돌아갑니다. 아마 RestAssured.port 가 설정이 안되어서 그런것같습니다. 이제 그러면 ApiTest의 필드들은 protected로 수정합니다. class ProductApiTest extends ApiTest { @BeforeEach void setUp() { if (RestAssured.port == RestAssured.UNDEFINED_PORT) { RestAssured.port = port; databaseCleanup.afterPropertiesSet(); } databaseCleanup.execute(); ProductSteps.상품등록요청(ProductSteps.상품등록요청_생성()); } } 이렇게 하면 잘 돌아가는것을 확인했습니다. SET REFERENTIAL_INTEGRITY FALSE Hibernate: TRUNCATE TABLE products Hibernate: ALTER TABLE products ALTER COLUMN ID RESTART WITH 1 Hibernate: SET REFERENTIAL_INTEGRITY TRUE 위의 DatabaseCleanup도 한번씩만 돌아가는것을 확인했습니다. 근데 이렇게 재정의 해서 사용하는것이 맞는 방식인가..? 하는 생각이 들기도하고 이런 상황에서는 어떻게 해결하면 될까 싶어서 질문 남깁니다!
MySQL이나 H2 에서 TRUNCATE TABLE 시 AUTO_INCREMENT 컬럼값도 1로 초기화되는 걸로 알고 있습니다. 그런데 강의에서는 TRUNCATE 후 AUTO_INCREMENT 컬럼인 ID 를 1부터 다시 시작하게 하는 쿼리를 추가하셔서 어떤게 맞는건지 헷갈립니다 좋은 강의 감사합니다