AI 함수

AI 함수는 AI 모델을 통해 번역(SJS.AI.TRANSLATE), 질의(SJS.AI.QUERY), 또는 텍스트 감정 분석(SJS.AI.TEXTSENTIMENT)을 수행할 수 있도록 합니다.

새 창에서 데모를 열어 디자이너 열기 SJS.AI.TRANSLATE 함수는 지정된 언어에 따라 배열을 번역할 수 있습니다. 예: 인수 필수 설명 array Y 번역할 배열 또는 범위위 language Y 지정된 언어 SJS.AI.QUERY 함수를 사용하면 주어진 값으로 AI 모델에서 결과를 쿼리할 수 있습니다. 예: 인수 필수 설명 prompt Y AI 모델이 수행하길 원하는 작업 array Y 작업을 적용하려는 배열 또는 범위위 SJS.AI.TEXTSENTIMENT 함수는 텍스트의 감정을 긍정, 부정 또는 중립으로 반환합니다. 예예: 인수 필수 설명 array Y 분석할 배열 또는 범위 positive Y 텍스트 감정이 긍정적일 경우 반환 값 negative Y 텍스트 감정이 부정적일 경우 반환 값 neutral N 텍스트 감정이 중립인 경우 반환 값 AI 생성 콘텐츠에 대한 면책 조항 1. 콘텐츠 생성 위험 본 서비스는 사용자가 주입한 제3자 AI 모델을 활용하여 출력을 생성합니다. 모델의 구조와 학습 데이터의 한계로 인해 결과물에는 부정확한 내용, 누락 또는 오해의 소지가 있을 수 있습니다. 저희는 프롬프트 엔지니어링과 기술적 제약을 통해 출력을 최적화하고 있지만, 모델 결함으로 인한 오류 위험을 완전히 제거할 수는 없습니다. 2. 사용자 검증 의무 본 서비스를 이용함으로써 귀하는 다음 사항에 동의하고 이를 준수할 것을 약속합니다: 모든 생성된 콘텐츠를 수동으로 검토할 것 검증되지 않은 출력을 법률, 의료, 금융 등 고위험 분야에서 사용하지 않을 것 생성된 콘텐츠에 의존하여 발생한 모든 직접적 또는 간접적 손실은 전적으로 사용자 책임임 3. 기술적 한계 우리는 다음과 같은 상황에 대해 책임지지 않습니다: 제3자 모델 결함 또는 논리적 오류로 인한 출력 실패 오류 복구 메커니즘에서 오류를 성공적으로 복구하지 못한 경우 현재 AI 기술의 본질적인 기술적 한계 4. 지식재산권 준수 귀하는 다음 사항을 보장해야 합니다: 주입된 모델/콘텐츠가 제3자의 권리를 침해하지 않을 것 본 서비스를 통해 불법 또는 민감한 자료를 처리하지 않을 것 모델 제공자의 지식재산권 관련 약관을 준수할 것 5. 약관 업데이트 우리는 다음과 같은 사유로 본 약관을 수정할 권리를 보유합니다: 기술 발전 (예: 새로운 AI 안전 프로토콜) 법규 변경 (예: AI 거버넌스 프레임워크 업데이트) 서비스 구조 개선
let spreadNS = GC.Spread.Sheets; let config = GC.Spread.Sheets.Designer.DefaultConfig; window.onload = function () { const spread = createSpreadAndDesigner(); injectAI(spread); initSpread(spread); }; function createSpreadAndDesigner() { const demoHost = document.getElementById("demo-host"); if (window !== top) { const spread = new GC.Spread.Sheets.Workbook(demoHost, { sheetCount: 2 }); return spread; } else { const designer = new GC.Spread.Sheets.Designer.Designer( demoHost, undefined, undefined, { sheetCount: 2 } ); return designer.getWorkbook(); } } function initSpread(spread) { spread.options.allowDynamicArray = true; var sheet = spread.getActiveSheet(); spread.suspendPaint(); spread.suspendCalcService(); const restaurantReviews = [ ["Username", "Review"], [ "Miss Zhang", "The restaurant offers a beautiful ambiance and attentive service, perfect for family gatherings.", ], [ "Mr. Li", "The food is delicious, but the prices are slightly high, which affects the overall value.", ], [ "Mr. Wang", "It was noisy with poor service and slow food delivery, making for a disappointing experience.", ], [ "Emily", "Loved the unique dishes and inviting atmosphere! Definitely planning to come back.", ], [ "Ms. Chen", "Great flavors and a cozy setting, although the waiting time was a bit too long.", ], [ "Mr. Zhao", "A varied menu with mixed results; some dishes were outstanding while others were just average.", ], [ "George", "The service was extremely poor and the food quality subpar, leaving a very negative impression.", ], [ "Miss Liu", "The food was ordinary and the restaurant was too noisy, which detracted from the overall experience.", ], ]; sheet.setArray(0, 0, restaurantReviews); sheet.setColumnWidth(0, 95) sheet.setColumnWidth(1, 700); sheet.setColumnWidth(2, 160); sheet.setColumnWidth(3, 480); sheet.setValue(0, 2, "TEXTSENTIMENT"); sheet.setFormula(1, 2, '=SJS.AI.TEXTSENTIMENT(B2:B9, "Positive", "Negative", "Neutral")'); sheet.setFormula(0, 3, '="The Formula Is " & FORMULATEXT(C2)'); sheet.setFormula(11, 0, '="The Formula Is " & FORMULATEXT(A13)'); sheet.setFormula(12, 0, '=SJS.AI.TRANSLATE(A1:B9, "ko-kr")'); const countries = [ ["Country", "Please give me the capital of the country"], ["China"], ["India"], ["United States"], ["Indonesia"], ["Pakistan"], ["Brazil"], ["Nigeria"], ["Bangladesh"], ["Russia"], ["Japan"], ]; sheet.setFormula(23, 0, '="The Formula Is " & FORMULATEXT(B26)'); sheet.setArray(24, 0, countries); sheet.setFormula(25, 1, "=SJS.AI.QUERY(B25, A26:A35)"); spread.resumeCalcService(); spread.resumePaint(); } function _getElementById(id) { return document.getElementById(id); } function injectAI(spread) { const serverCallback = async (requestBody) => { const response = await fetch(getAIApiUrl(), { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(requestBody) }); if (response.status === 429) { alert('The server is busy, please try again later.'); return; } if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return response; }; spread.injectAI(serverCallback); } function getAIApiUrl() { return window.location.href.match(/http.+spreadjs\/learn-spreadjs\//)[0] + 'server/api/queryAI'; }
<!doctype html> <html style="height:100%;font-size:14px;"> <head> <meta charset="utf-8" /> <meta name="spreadjs culture" content="ko-kr" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" type="text/css" href="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets/styles/gc.spread.sheets.excel2013white.css"> <link rel="stylesheet" type="text/css" href="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-designer/styles/gc.spread.sheets.designer.min.css"> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets/dist/gc.spread.sheets.all.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-shapes/dist/gc.spread.sheets.shapes.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-charts/dist/gc.spread.sheets.charts.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-print/dist/gc.spread.sheets.print.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-barcode/dist/gc.spread.sheets.barcode.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-pdf/dist/gc.spread.sheets.pdf.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-pivot-addon/dist/gc.spread.pivot.pivottables.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-slicers/dist/gc.spread.sheets.slicers.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-tablesheet/dist/gc.spread.sheets.tablesheet.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-formula-panel/dist/gc.spread.sheets.formulapanel.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-io/dist/gc.spread.sheets.io.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-ai-addon/dist/gc.spread.sheets.ai.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-resources-ko/dist/gc.spread.sheets.resources.ko.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-designer-resources-ko/dist/gc.spread.sheets.designer.resource.ko.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-designer/dist/gc.spread.sheets.designer.all.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/spread/source/js/license.js" type="text/javascript"></script> <script src="$DEMOROOT$/spread/source/js/designer/license.js" type="text/javascript"></script> <script src="app.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="styles.css"> </head> <body> <div class="sample-tutorial"> <div id="demo-host"></div> </div> </body> </html>
body { position: absolute; top: 0; bottom: 0; left: 0; right: 0; } .sample-tutorial { position: relative; height: 100%; overflow: hidden; display: flex; flex-direction: row; } #demo-host { width: 100%; height: 100%; }