inflearn logo
강의

講義

知識共有

LangGraphを活用したAI Agent開発(feat. MCP)

[アップデート] 3.8 カスタムツール(tool)を活用する方法

yfinance 429 Client Error 문제

解決済みの質問

242

Seunggu Kang

投稿した質問数 6

0

429 Client Error: Too Many Requests for url: https://query2.finance.yahoo.com/v10/finance/quoteSummary/SNOW?modules=secFilings&corsDomain=finance.yahoo.com&formatted=false&symbol=SNOW&crumb=Edge%3A+Too+Many+Requests

안녕하세요 강사님,

 

현재 3.7 Multi agent 강의 듣고 따라하고 있는데, yfinance 로 agent 를 통해 필요한 정보를 받아오도록 시키면 위와 같은 문제가 뜹니다. 확인해보니 url request를 단기간에 너무 많이 하는게 원인인것 같다는데, Agent를 통해 tool로 알아서 호출 하는 방식이니 횟수를 제한하거나 할 방법이 없습니다. 혹시 어떻게 해결해야 할지 아시면 해결책을 제시해주시면 감사하겠습니다.

프롬프트엔지니어링 llm ai-agent langgraph mcp

回答 2

0

Seunggu Kang

비슷한 다른 api 인 finnhub api 를 사용해서 해결했습니다.

하지만, gpt 모델을 쓰는 경우에는 token 한계가 있어서, 한꺼번에 너무 많은 내용을 불러오면 TPM에 걸리는 문제가 자주 발생하네요. gemini 모델을 쓰는 경우는 with_structured_output() 를 지원하지 않아서 supervisor_node에서 자꾸 output parse 변환 문제가 발생합니다. prompt로 keyword로만 반환하라고 명시해놔도, tool을 호출하고 나면

'```tool_code\n# 요청된 주식 티커에 대한 최신 가격 견적을 가져옵니다.\ntickers = ["SNOW"]\n```'

이런식으로 다시 무시하고 다른 형식으로 반환하고 이래가지고 gemini 모델은 거의 쓰기가 힘드네요..

 

혹시 어떤 모델이든 상관없이 확실하게 output 포맷이 보장되게 할 수 있는 방법이 없을까요? 아니면 gpt모델을 써도 TPM limit에 안 걸리게 할 수 있는 방법이 있을까요?

1

jasonkang

말씀하신 것처럼 yfinance에 요청이 너무 많이 보내져서 발생하는 이슈인데요, 저는 처음 보는 문제라 검색해보니 깃헙 이슈중에서 requests.session()을 써서 해결했다는 분들이 있네요. 링크를 전달 드립니다

  1. https://github.com/ranaroussi/yfinance/issues/2422#issuecomment-2840759533

  2. https://github.com/ranaroussi/yfinance/issues/2422#issuecomment-2840774505

with_structured_output의 경우에는, langchain에서 제공하는 기능이라, model provider와는 관련이 없습니다. 저번에 올려주신 질문에서 ChatGoogleGenerativeAI가 아니라 다른 패키지를 사용했다고 하셨던 것 같은데 한번 확인해보시고,

https://python.langchain.com/docs/integrations/chat/google_generative_ai/

 

GPT모델에서 토큰 리밋에 걸리지 않으려면 결제를 더 하는 수밖에 없습니다. 모델별로 tier에 따른 TPM과 RPM이 다른데요. GPT-4o를 예시로 보시면 Tier2만 되어도 꽤 많은 양을 쓸 수 있는데 그럼 $50을 결제하고 1주일이 지나야합니다

https://platform.openai.com/docs/guides/rate-limits/usage-tiers#usage_tiers

아래는 GPT-4o의 rate limit 정보입니다.

Screenshot 2025-08-02 at 9.30.13 AM.png

https://platform.openai.com/docs/models/gpt-4o

 

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. Seunggu Kang님.

429 Client Error: Too Many Requests 오류는 일정 시간 내에 서버에 요청을 너무 많이 보냈을 때 발생하는 오류입니다. 이는 특히 데이터를 수집하거나 API를 사용할 때 빈번하게 발생하는 문제입니다. yfinance와 같은 API를 통해 데이터를 요청할 경우, 다음의 방법들로 이 문제를 해결해 보실 수 있습니다.

해결 방법

  1. 요청 제한/타임아웃 설정:
    • 요청 사이에 일정한 대기 시간을 주어 서버 요청을 완화시킬 수 있습니다. Python에서는 time.sleep() 함수를 사용할 수 있습니다. 예를 들어, 각 요청 후 1초나 그 이상의 시간을 대기시킵니다.
   import time

   for symbol in symbols:
       data = yfinance.Ticker(symbol).history()
       time.sleep(1)  # 1초 대기
  1. 세션 관리:

    • 요청 세션을 관리하고 재활용하여 서버와의 연결을 보다 효율적으로 사용할 수 있습니다. requests 라이브러리의 Session 객체를 활용하여 관리하시면 됩니다.
  2. 쿼리 수 줄이기:

    • 중요도가 높은 데이터만 선택하여 쿼리 수를 줄이는 것도 고려해 볼 수 있습니다. 한번에 요청하는 데이터의 양을 줄이고, 필요 최소한의 정보만 요청하세요.
  3. 代理 서버 사용:

    • 프록시 서버를 설정하여 요청을 분산할 수 있습니다. 이는 각 서버에 요청되는 수를 줄일 수 있는 효과적인 방법입니다.
  4. API 호출 속도 조절:

    • Agent 작동을 중간중간 멈추고, 필요에 따라 호출 속도를 조절하세요. 이는 API 호출의 빈도를 낮추고, 서버 과부하를 방지할 수 있습니다.

관련 질문 URL

비슷한 문제를 다룬 질문들을 참고하시면 추가적인 해결책에 대해 이해하는 데 도움이 될 것입니다:

위의 방법 중 하나 이상을 적용하여 429 Client Error 문제를 해결할 수 있으리라 생각됩니다. 추가적인 궁금한 점이 있으시면, 이어서 질문해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

마크다운을 텍스트 파일로 변환하기

0

15

1

max token을 제한하는게 왜 성능을 개선하게 되는걸까요?

0

42

2

pyzerox 유니코드 에러

0

75

2

영상 메타데이터 생성 관련 LLM 활용 질문

0

72

1

종합부동산세 부분 tool 사용 질문 드립니다.

0

74

2

uv sync 파이썬 버전문제 onnxruntime

-1

106

2

MCP를 활용해서 간단한 에이전트를 만들어보세요

0

97

1

PDF 형식

0

66

1

5.3 langchain-mcp-adpater를 활용한 MCP 도구 사용 tool_list 지연 사유

0

91

2

3.6 human_in_the_loop 3rd case

0

81

1

summary 를. 시스템메세지에 추가하는 부분에 관하여

0

70

3

병렬 처리 중 retrieve 관련 궁금한 사항

0

76

1

query 에 대한 answer 결과값이 나오지 않습니다.

0

96

2

사람과 관련된 표현이 없는데 rewrite 로 이동하지 않는경우

0

77

1

retriever 관련 질문

0

65

1

인터룹 관련 질문

0

49

2

2.4 Self-RAG 결과가 달라요!

0

79

2

md vs txt 차이..

0

140

2

OpenAI API 호출 때문에 발생하는 Error code: 429 문제

0

115

2

단순 도구 사용과 도구를 가진 에이전트를 사용하는 것의 차이가 궁금합니다.

0

88

1

LangChain과 LangGraph v1

0

137

1

2.4 강의 관련 질문(답변을 검증하는 self rag)

0

75

2

후속강의 문의

0

74

2

3.6 강의 관련 질문(interrupt 관련)

0

51

1