Spaces:
Runtime error
Runtime error
| import { HlList, HlLayerContainer, HlLayer } from 'react-transformer-qa-decode-visualize' | |
| import 'react-transformer-qa-decode-visualize/dist/index.css' | |
| import { useState } from 'react' | |
| const axios = require('axios').default; | |
| function App() { | |
| const [qa_data, set_qa_data] = useState([[]]) | |
| const [question, set_question] = useState("What's my name?") | |
| const [context, set_context] = useState("My name is Clara and I live in Berkeley.") | |
| let request_qa_data = () => { | |
| const { REACT_APP_IN_DEV = 'false' } = process.env; | |
| let api_url = 'https://hf.space/embed/p208p2002/Transformer-QA-Decode-Visualize/question-answer' | |
| if (REACT_APP_IN_DEV === 'true') { | |
| api_url = 'http://127.0.0.1:7860/question-answer' | |
| } | |
| axios.post(api_url, { | |
| question, | |
| context | |
| }) | |
| .then(function (response) { | |
| console.log(response.data) | |
| set_qa_data(response.data) | |
| }) | |
| } | |
| return ( | |
| <div style={{ width: 800, padding: 20 }}> | |
| <h4>Question</h4> | |
| <input | |
| style={{ width: 600 }} | |
| type="text" | |
| value={question} | |
| onChange={(e) => { | |
| set_question(e.target.value) | |
| // set_qa_data([[]]) | |
| setTimeout(() => { | |
| request_qa_data() | |
| }, 20); | |
| }} | |
| /> | |
| <br /> | |
| <h4>Context</h4> | |
| <textarea | |
| name="" | |
| id="" | |
| cols="80" | |
| rows="8" | |
| value={context} | |
| onChange={(e) => { | |
| set_context(e.target.value) | |
| set_qa_data([[]]) | |
| }} | |
| /> | |
| <br /><br /> | |
| <button | |
| type="submit" | |
| onClick={request_qa_data} | |
| >Submit | |
| </button> | |
| <br /> | |
| <hr /> | |
| { | |
| qa_data.map((stride_qa_data, i) => { | |
| stride_qa_data = stride_qa_data.slice(0, 5) | |
| stride_qa_data = stride_qa_data.map((data) => { | |
| if (data.global_context_start === 0 && data.global_context_end === 0) { | |
| data.answer_span = "** NO_ANSWER **" | |
| } | |
| const answer_text = data.answer_span | |
| data.answer_span = `logit:${data.start_logit.toFixed(2)}, ${data.end_logit.toFixed(2).padStart(4)} - ${answer_text}` | |
| return data | |
| }) | |
| return ( | |
| <div key={i}> | |
| <div> | |
| <h4>Transformer QA Model <small>(stride: {i + 1})</small></h4> | |
| <p>{question}</p> | |
| <HlList | |
| data={{ | |
| result: stride_qa_data | |
| }} | |
| color='yellow' /> | |
| <hr /> | |
| </div> | |
| <h4>Context</h4> | |
| <HlLayerContainer | |
| context={context}> | |
| <HlLayer | |
| data={{ | |
| result: stride_qa_data, | |
| context: context | |
| }} | |
| color='yellow' | |
| /> | |
| <HlLayer | |
| data={{ | |
| result: stride_qa_data.slice(0, 1), | |
| context: context | |
| }} | |
| color='orange' | |
| /> | |
| </HlLayerContainer > | |
| </div> | |
| ) | |
| }) | |
| } | |
| </div> | |
| ); | |
| } | |
| export default App; | |