GST 특허 관리 시스템의 REST API, LLM API 연동 및 벡터 데이터베이스 인터페이스에 대한 상세한 API 문서입니다.
Base URL: https://api.gst-patents.com
API Version: v1
Protocol: HTTPS
Content Type: application/json
Charset: UTF-8
Rate Limit: 1000 requests/hour
| 코드 | 의미 | 설명 |
|---|---|---|
200 |
OK | 요청 성공 |
201 |
Created | 리소스 생성 성공 |
400 |
Bad Request | 잘못된 요청 |
401 |
Unauthorized | 인증 필요 |
404 |
Not Found | 리소스 없음 |
500 |
Internal Server Error | 서버 오류 |
현재 정적 웹사이트 환경에서는 API 키 인증이 제한적입니다. 실제 구현 시 JWT 토큰 기반 인증을 권장합니다.
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
X-API-Version: v1
100
요청/시간
1,000
요청/시간
10,000
요청/시간
등록된 모든 특허의 목록을 페이지네이션과 함께 반환합니다.
GET /api/v1/patents
| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
page |
integer | ❌ | 페이지 번호 (기본값: 1) |
limit |
integer | ❌ | 페이지당 항목 수 (기본값: 10, 최대: 100) |
category |
string | ❌ | 기술 분야 필터 |
status |
string | ❌ | 특허 상태 필터 |
search |
string | ❌ | 검색 키워드 |
{
"data": [
{
"id": "1",
"patent_number": "10-0719225",
"title": "반도체 제조 공정용 온도조절 시스템",
"abstract": "반도체 제조 공정에서 정밀한 온도 제어를...",
"category": "temperature",
"technology_field": "온도제어",
"registration_date": "2007-05-18",
"status": "active",
"priority_score": 9,
"inventors": ["김철수", "이영희"],
"assignee": "글로벌 스탠다드 테크놀로지 주식회사"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 78,
"pages": 8
},
"meta": {
"total_active": 65,
"total_expired": 10,
"total_pending": 3
}
}
GET /api/v1/patents/{patent_id}
| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
patent_id |
string | ✅ | 특허 고유 ID |
주의: 특허 등록은 관리자 권한이 필요합니다.
POST /api/v1/patents
{
"patent_number": "10-1234567",
"title": "새로운 특허 제목",
"abstract": "특허 요약 내용...",
"category": "temperature",
"technology_field": "온도제어",
"application_date": "2023-01-15",
"registration_date": "2024-01-15",
"inventors": ["발명자1", "발명자2"],
"assignee": "글로벌 스탠다드 테크놀로지",
"main_claims": "주요 청구항 내용...",
"technical_keywords": ["키워드1", "키워드2"],
"priority_score": 8,
"file_path": "/patents/10-1234567.pdf"
}
GET /api/v1/search
| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
q |
string | ✅ | 검색 쿼리 |
type |
string | ❌ | 검색 타입 (title, abstract, full) |
limit |
integer | ❌ | 결과 수 제한 (기본값: 10) |
GET /api/v1/search?q=플라즈마 토치&type=title&limit=5
POST /api/v1/search/vector
{
"query": "반도체 공정에서 온도 제어하는 방법",
"similarity_threshold": 0.7,
"max_results": 10,
"include_metadata": true,
"filters": {
"category": "temperature",
"status": "active"
}
}
{
"results": [
{
"id": "1",
"patent_number": "10-0719225",
"title": "반도체 제조 공정용 온도조절 시스템",
"similarity_score": 0.89,
"matched_chunks": [
{
"content": "반도체 제조 장비의 온도를 실시간으로...",
"score": 0.92,
"chunk_id": "chunk_1_0"
}
],
"metadata": {
"category": "temperature",
"registration_date": "2007-05-18",
"priority_score": 9
}
}
],
"query_time": 0.045,
"total_results": 5
}
참고: 현재 정적 웹사이트 환경에서는 LLM API 직접 연동이 제한됩니다. 실제 구현 시 서버사이드 프록시를 통해 LLM API를 호출해야 합니다.
POST /api/v1/llm/chat
{
"message": "플라즈마를 이용한 가스 처리 방법에 대해 알려주세요",
"conversation_id": "conv_123456",
"model": "gpt-4",
"max_tokens": 1000,
"temperature": 0.7,
"include_sources": true,
"search_filters": {
"category": "plasma"
}
}
{
"response": {
"message": "플라즈마를 이용한 가스 처리는...",
"conversation_id": "conv_123456",
"message_id": "msg_789012"
},
"sources": [
{
"patent_number": "10-0822048",
"title": "플라즈마 토치를 이용한 폐가스 처리장치",
"relevance_score": 0.95,
"chunk": "고온 플라즈마를 이용하여..."
}
],
"metadata": {
"model_used": "gpt-4",
"tokens_used": 234,
"processing_time": 1.23,
"confidence": 0.87
}
}
GET /api/v1/llm/stream
const eventSource = new EventSource('/api/v1/llm/stream?message=' + encodeURIComponent(question));
eventSource.onmessage = function(event) {
const data = JSON.parse(event.data);
if (data.type === 'chunk') {
// 부분 응답 처리
appendToAnswer(data.content);
} else if (data.type === 'done') {
// 완료 처리
eventSource.close();
displaySources(data.sources);
}
};
eventSource.onerror = function(event) {
console.error('스트리밍 오류:', event);
eventSource.close();
};
벡터 DB API, 분석 API, 예제 코드 섹션은 현재 개발 중입니다. 완성되는 대로 업데이트될 예정입니다.