대형 언어 모델 (LLMS)은 종종 고급 프롬프트를 통해서도 JSON과 같은 구조화 된 출력을 안정적으로 생산하기 위해 고군분투합니다. 신속한 엔지니어링이 도움이되지만 완벽하지 않아 가끔 오류가 발생합니다. 이 튜토리얼은 LLM에서 기능 호출이 정확하고 일관된 구조화 된 데이터를 보장하는 방법을 보여줍니다.
함수 호출을 통해 LLM은 구조화 된 데이터 (일반적으로 JSON)를 생성하고 외부 시스템, API 및 도구와 상호 작용하여 정확도를 유지하면서 복잡한 컨텍스트 인식 작업을 가능하게합니다. 우리는 정확성으로 알려진 GPT-4.5를 사용하여 기능을 부르는 스크립트를 작성합니다. 먼저, 주가를 가져 오는 기능을 만들어 낼 것입니다. 그런 다음 LLM이 프롬프트를 기반으로 여러 도구 중에서 LLM을 선택할 수 있도록 다른 것을 추가합니다. 최종 응용 프로그램은 주가와 뉴스 사료를 제공합니다.
저자의 이미지
GPT-4.5의 기능 호출 장점 :
GPT-4.5는 기능 호출을 향상시켜 외부 시스템과의 상호 작용 및 복잡한 작업 처리를 향상시킵니다. 주요 기능은 다음과 같습니다.
(OpenAI 모델에 대한 자세한 내용은 블로그 "GPT 4.5 : 기능, 액세스, GPT-4O 비교 등"을 참조하십시오.)
단일 기능 호출 (주가) :
GPT-4.5와 yahooquery
라이브러리 (Yahoo Finance Data 용)를 사용하여 간단한 시스템을 구축 할 것입니다. 사용자는 주가에 대해 묻고 가격을 검색하고 응답 할 기능을 유발합니다.
라이브러리 설치 :
! PIP 설치 Openai YahooQuery -Q.
주가 기능 : 이 파이썬 기능은 시세 기호 (예 : AAPL)를 사용하여 가격을 반환합니다.
OpenAi import OpenAi에서 JSON 수입 Yahooquery Import Ticker에서 def get_stock_price (Ticker) : 노력하다: t = 시세 (티커) price_data = t.price price_data 및 price_data [Ticker] .get의 시세가없는 경우 ( "일반 마켓 프리릭")가 없다면 : price = price_data [Ticker] [ "일반 마켓 가격"] 또 다른: return f "{ticker}에 대한 가격 정보는 사용할 수 없습니다." E로 예외를 제외하고 : return f "{ticker}에 대한 데이터를 검색하지 못했습니다 : {str (e)}" Return F "{Ticker}는 현재 $ {price : .2f}로 거래 중입니다."
도구 정의 : OpenAI에 대한 도구 정의 (사전 목록)를 만듭니다. 함수의 이름, 설명 및 출력 유형을 지정합니다.
도구 = [{ "유형": "기능", "기능": { "이름": "get_stock_price", "설명": "Yahoo Finance에서 현재 주가를 얻으십시오.", "매개 변수": { "유형": "개체", "속성": { "티커": { "type": "string"} }, "필수": [ "티커"], "추가 요점": 거짓 }, "엄격한": 사실 } }]
기능 호출 : 모델 및 도구를 지정하여 사용자 메시지를 GPT-4.5로 보냅니다.
클라이언트 = OpenAi () message = [{ "역할": "사용자", "내용": "메타 주식의 현재 가격은 얼마입니까?"}] 완료 = client.chat.completions.create (model = "gpt-4.5-preview", message = emsage, tools = tools) print (wompletion.choices [0] .message.tool_calls) # 기능 호출을 보여줍니다
실행 및 반환 : 시세를 추출하고 get_stock_price
실행하고 결과를 인쇄합니다. 그런 다음 응답을 자연어 형식을 위해 모델로 다시 보내어 응답을 개선합니다.
다중 기능 호출 (주가 및 뉴스) :
feedparser
라이브러리를 사용하여 재고 뉴스를 검색하는 기능을 추가합니다.
feedparser
설치 :
! PIP 설치 FeedParser -Q
주식 뉴스 기능 : 이 기능은 주어진시기에 대한 상위 3 개의 뉴스 헤드 라인을 가져옵니다.
FeedParser 가져 오기 def get_stock_news (Ticker) : rss_url = f "https://feeds.finance.yahoo.com/rss/2.0/headline?s= {ticker }®ion=us&lang=en-us" 노력하다: feed = feedparser.parse (rss_url) Feed.entries가 아닌 경우 : return f "{ticker}에 대한 뉴스가 없습니다." news_items = [f "{enterd.title} ({enterd.link})"feed.entries [: 3]에 대한 항목]] return f "{ticker}에 대한 최신 뉴스 : \ n {chr (10) .join (news_items)}" E로 예외를 제외하고 : return f "{ticker}에 대한 뉴스를 검색하지 못했습니다 : {str (e)}"
여러 도구 정의 : 두 기능을 모두 포함하도록 tools
목록을 업데이트합니다.
모델 선택 : 우리는 GPT-4.5에게 두 기능 (예 : "Google 주식 가격 및 뉴스")이 필요한 질문을 요청합니다. GPT-4.5는 적절한 기능을 자동으로 선택하고 호출합니다.
결과 처리 : LLM이 반환 한 함수 이름을 기반으로 조건부 로직을 사용하여 두 기능의 결과를 처리합니다. 그런 다음 결과는 최종적이고 인간이 읽을 수있는 반응을 위해 LLM으로 다시 전달됩니다.
결론:
이 튜토리얼은 기능 호출이 LLM에 구조화 된 출력을 생성하고 외부 리소스와 상호 작용하는 방법을 보여줍니다. 이 접근법은 LLM 중심 애플리케이션의 신뢰성과 정확성을 향상시켜보다 정교한 AI 시스템을위한 길을 열어줍니다. GPT-5와 같은 미래의 발전은이 분야에서 더 큰 기능을 약속합니다. 제공된 코드 스 니펫을 결합하여 확장하여보다 복잡하고 강력한 응용 프로그램을 만들 수 있습니다.
위 내용은 GPT-4.5 기능 호출 자습서 : AI와 함께 주가 및 뉴스 추출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!