구조화된 출력 예시

이 예시는 콘텐츠를 JSON 형식으로 변환하여 프로그램 처리를 용이하게 하는 방법을 보여줍니다.

작업

뉴스 콘텐츠를 구조화된 JSON 형식으로 변환하고 주요 정보를 추출합니다.

프롬프트

사용자가 뉴스 기사를 제공할 것입니다. 기사 내용을 분석하고 주요 정보를 JSON 형식으로 추출해 주세요. 출력 JSON은 다음 형식을 따라야 합니다: { "entity": <뉴스 주체>, "time": <뉴스 시간, YYYY-mm-dd HH:MM:SS 형식, 없으면 null>, "summary": <뉴스 내용 요약> }

예시

사용자 입력

8월 31일, 팰컨9 로켓이 미 동부시간 오전 3시 43분에 플로리다 주 케이프커내버럴에서 발사되어 21개의 스타링크 위성을 궤도에 진입시켰습니다. 이어서 같은 날 미 동부시간 오전 4시 48분에 또 다른 팰컨9 로켓이 캘리포니아 주 반덴버그 우주군 기지에서 발사되어 마찬가지로 21개의 스타링크 위성을 성공적으로 궤도에 진입시켰습니다. 두 발사 사이의 65분 간격은 팰컨9 로켓의 최단 발사 간격 기록을 세웠습니다.

연방항공국은 8월 30일, 스페이스X에 대한 조사가 계속되고 있음에도 불구하고 팰컨9 로켓의 발사 재개를 허가했다고 발표했습니다. 현재 8월 28일의 부스터 착륙 실패 사고에 대한 자세한 정보는 양측 모두 공개하지 않고 있습니다. 발사는 재개되었지만, 5일간의 우주 활동을 계획했던 '폴라리스 던' 임무는 연기되었습니다. 스페이스X는 이 임무를 위해 적극적으로 준비하고 있으며, 연방항공국의 최종 승인을 기다려 신속히 발사를 진행할 예정입니다.

어시스턴트 출력

{ "entity": "팰컨9 로켓", "time": "2023-08-31 03:43:00", "summary": "8월 31일, 팰컨9 로켓이 두 차례 성공적으로 발사되어 42개의 스타링크 위성을 궤도에 진입시키며 최단 발사 간격 기록을 수립했습니다. 연방항공국이 발사 재개를 허가했으나, 예정된 '폴라리스 던' 임무는 최종 승인을 기다리며 연기되었습니다." }

코드 구현

from openai import OpenAI client = OpenAI( base_url="https://api.deepseek.com/", api_key="<YOUR_API_KEY>" ) completion = client.chat.completions.create( model="deepseek-chat", messages=[ { "role": "system", "content": "사용자가 뉴스 기사를 제공할 것입니다. 기사 내용을 분석하고 주요 정보를 JSON 형식으로 추출해 주세요. 출력 JSON은 다음 형식을 따라야 합니다:\n\n{\n \"entity\": <뉴스 주체>,\n \"time\": <뉴스 시간, YYYY-mm-dd HH:MM:SS 형식, 없으면 null>,\n \"summary\": <뉴스 내용 요약>\n}" }, { "role": "user", "content": "8월 31일, 팰컨9 로켓이 미 동부시간 오전 3시 43분에 플로리다 주 케이프커내버럴에서 발사되어 21개의 스타링크 위성을 궤도에 진입시켰습니다. 이어서 같은 날 미 동부시간 오전 4시 48분에 또 다른 팰컨9 로켓이 캘리포니아 주 반덴버그 우주군 기지에서 발사되어 마찬가지로 21개의 스타링크 위성을 성공적으로 궤도에 진입시켰습니다. 두 발사 사이의 65분 간격은 팰컨9 로켓의 최단 발사 간격 기록을 세웠습니다.\n\n연방항공국은 8월 30일, 스페이스X에 대한 조사가 계속되고 있음에도 불구하고 팰컨9 로켓의 발사 재개를 허가했다고 발표했습니다. 현재 8월 28일의 부스터 착륙 실패 사고에 대한 자세한 정보는 양측 모두 공개하지 않고 있습니다. 발사는 재개되었지만, 5일간의 우주 활동을 계획했던 '폴라리스 던' 임무는 연기되었습니다. 스페이스X는 이 임무를 위해 적극적으로 준비하고 있으며, 연방항공국의 최종 승인을 기다려 신속히 발사를 진행할 예정입니다." } ] ) print(completion.choices[0].message.content)