๋น ๋ฅธ ์์ (Quickstart)
R2R ์์ํ๊ธฐ๋ ์ฝ์ต๋๋ค.
1. ๋ฐฐํฌ ํ์ธ (Deployment Checks)
๋จผ์ R2R ์ธ์คํด์ค๊ฐ ๋ก์ปฌ์ ์ฌ๋ฐ๋ฅด๊ฒ ๋ฐฐํฌ๋์๋์ง ํ์ธํฉ๋๋ค:
curl http://localhost:7272/v3/health
# {"results":{"response":"ok"}}
SDK ์ค์น (Install the SDK)
R2R์ Python ๋ฐ JavaScript SDK๋ฅผ ์ ๊ณตํ์ฌ ์ํธ ์์ฉํ ์ ์์ต๋๋ค.
Python
pip install r2r
JavaScript
npm i r2r-js
ํ์ผ ์์ง (Ingesting files)
R2R์ ํ์ผ์ ์์งํ๋ฉด, ์๋ฒ๋ ์์ ์ ์๋ฝํ๊ณ , ํ์ผ์ ์ฒ๋ฆฌ ๋ฐ ์ฒญํฌ๋ก ๋ถํ ํ๋ฉฐ, ๋ฌธ์ ์์ฝ์ ์์ฑํฉ๋๋ค.
Python
client.documents.create_sample(hi_res=True)
# ์์ฒด ๋ฌธ์๋ฅผ ์์งํ๋ ค๋ฉด `client.documents.create(file_path="/path/to/file")`์ ์ฌ์ฉํ์ธ์
JavaScript
clients.documents.createSample({ ingestionMode: "hi-res" })
// ์์ฒด ๋ฌธ์๋ฅผ ์์งํ๋ ค๋ฉด `client.documents.create({filePath: </path/to/file>})`์ ์ฌ์ฉํ์ธ์
์์ ์ถ๋ ฅ:
IngestionResponse(message='Document created and ingested successfully.', task_id=None, document_id=UUID('e43864f5-a36f-548e-aacd-6f8d48b30c7f'))
ํ์ผ ์ํ ํ์ธ (Getting file status)
ํ์ผ ์์ง์ด ์๋ฃ๋๋ฉด, ๋ฌธ์๋ฅผ ๋ชฉ๋กํํ์ฌ ์ํ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
Python
client.documents.list()
JavaScript
clients.documents.list()
Curl
curl -X GET https://api.sciphi.ai/v3/documents \
-H "Content-Type: application/json"
์์ ์ถ๋ ฅ:
[
DocumentResponse(
id=UUID('e43864f5-a36f-548e-aacd-6f8d48b30c7f'),
collection_ids=[UUID('122fdf6a-e116-546b-a8f6-e4cb2e2c0a09')],
owner_id=UUID('2acb499e-8428-543b-bd85-0d9098718220'),
document_type=<DocumentType.PDF: 'pdf'>,
metadata={'title': 'DeepSeek_R1.pdf', 'version': 'v0'},
version='v0',
size_in_bytes=1768572,
ingestion_status=<IngestionStatus.SUCCESS: 'success'>,
extraction_status=<GraphExtractionStatus.PENDING: 'pending'>,
created_at=datetime.datetime(2025, 2, 8, 3, 31, 39, 126759, tzinfo=TzInfo(UTC)),
updated_at=datetime.datetime(2025, 2, 8, 3, 31, 39, 160114, tzinfo=TzInfo(UTC)),
ingestion_attempt_number=None,
summary="์ด ๋ฌธ์๋ DeepSeek-AI๊ฐ ๊ฐ๋ฐํ ์ถ๋ก ๋ชจ๋ธ ์๋ฆฌ์ฆ์ธ DeepSeek-R1์ ๋ํ ํฌ๊ด์ ์ธ ๊ฐ์๋ฅผ ๋ด๊ณ ์์ผ๋ฉฐ, DeepSeek-R1-Zero์ DeepSeek-R1์ ํฌํจํฉ๋๋ค. DeepSeek-R1-Zero๋ ์ง๋ ๋ฏธ์ธ ์กฐ์ ์์ด ๋๊ท๋ชจ ๊ฐํ ํ์ต(RL)์ ํ์ฉํ์ฌ ์ธ์์ ์ธ ์ถ๋ก ๋ฅ๋ ฅ์ ๋ณด์ฌ์ฃผ์ง๋ง, ๊ฐ๋
์ฑ ๋ฐ ์ธ์ด ํผํฉ๊ณผ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํฉ๋๋ค. ์ฑ๋ฅ ํฅ์์ ์ํด DeepSeek-R1์ ๋ค๋จ๊ณ ํ๋ จ๊ณผ ์ฝ๋ ์คํํธ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ์ฌ ๋ค์ํ ์ถ๋ก ์์
์์ OpenAI ๋ชจ๋ธ๊ณผ ์ ์ฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ฌ์ฑํฉ๋๋ค. ์ด ๋ฌธ์๋ ๋ชจ๋ธ์ ํ๋ จ ๊ณผ์ , ์ฌ๋ฌ ๋ฒค์น๋งํฌ์ ๊ฑธ์น ํ๊ฐ ๊ฒฐ๊ณผ, ๊ทธ๋ฆฌ๊ณ ์ถ๋ก ๋ฅ๋ ฅ์ ์ ์งํ๋ฉด์ ๋ ์๊ณ ํจ์จ์ ์ธ ์ฆ๋ฅ ๋ชจ๋ธ์ ๋์
์ ์์ธํ ์ค๋ช
ํฉ๋๋ค. ๋ํ ํ์ฌ ๋ชจ๋ธ์ ํ๊ณ(์: ์ธ์ด ํผํฉ ๋ฐ ํ๋กฌํํธ ๋ฏผ๊ฐ๋)๋ฅผ ๋
ผ์ํ๊ณ , ์ํํธ์จ์ด ์์ง๋์ด๋ง ์์
์์ ์ผ๋ฐ์ ์ธ ๋ฅ๋ ฅ๊ณผ ํจ์จ์ฑ์ ๊ฐ์ ํ๊ธฐ ์ํ ํฅํ ์ฐ๊ตฌ ๋ฐฉํฅ์ ์ ์ํฉ๋๋ค. ์ด ์ฐ๊ตฌ ๊ฒฐ๊ณผ๋ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ์์ ์ถ๋ก ๋ฅ๋ ฅ์ ๊ฐ๋ฐํ๋ ๋ฐ ์์ด RL์ ์ ์ฌ๋ ฅ๊ณผ ์๊ท๋ชจ ๋ชจ๋ธ์ ์ํ ์ฆ๋ฅ ๊ธฐ์ ์ ํจ๊ณผ๋ฅผ ๊ฐ์กฐํฉ๋๋ค.", summary_embedding=None, total_tokens=29673)] total_entries=1
), ...
]
๊ฒ์ ์คํ (Executing a search)
๊ฒ์ ์ฟผ๋ฆฌ๋ฅผ ์ํํฉ๋๋ค:
Python
client.retrieval.search(
query="What is DeepSeek R1?",
)
JavaScript
client.retrieval.search({
query: "What is DeepSeek R1?",
})
Curl
curl -X POST https://api.sciphi.ai/v3/retrieval/search \
-H "Content-Type: application/json" \
-d '{
"query": "What is DeepSeek R1?"
}'
๊ฒ์ ์ฟผ๋ฆฌ๋ ๊ธฐ๋ณธ์ ์ธ ์ ์ฌ๋ ๊ฒ์์ ์ฌ์ฉํ์ฌ ๊ฐ์ฅ ๊ด๋ จ์ฑ ๋์ ๋ฌธ์๋ฅผ ์ฐพ์ต๋๋ค. ์ฌ์ฉ ์ฌ๋ก์ ๋ฐ๋ผ ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์ ๋๋ ๊ทธ๋ํ ๊ฒ์๊ณผ ๊ฐ์ ๊ณ ๊ธ ๊ฒ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์์ ์ถ๋ ฅ:
AggregateSearchResult(
chunk_search_results=[
ChunkSearchResult(
score=0.643,
text="๋ฌธ์ ์ ๋ชฉ: DeepSeek_R1.pdf
ํ
์คํธ: 70% ์ด์์ ์ ํ๋๋ฅผ ๋ฌ์ฑํ ์ ์์์ต๋๋ค.
DeepSeek-R1์ ๋ํ ๋ชจ๋ธ์ด ํ์ ์ง์นจ์ ๋ฐ๋ฅด๋ ๋ฅ๋ ฅ์ ํ๊ฐํ๊ธฐ ์ํด ์ค๊ณ๋ ๋ฒค์น๋งํฌ์ธ IF-Eval์์๋ ์ธ์์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๊ฐ์ ์ ์ง๋ ๋ฏธ์ธ ์กฐ์ (SFT) ๋ฐ RL ํ๋ จ์ ์ต์ข
๋จ๊ณ์์ ์ง์นจ ์ค์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ์ ์์ต๋๋ค. ๋ํ AlpacaEval2.0 ๋ฐ ArenaHard์์ ๋๋ผ์ด ์ฑ๋ฅ์ด ๊ด์ฐฐ๋์์ผ๋ฉฐ, ์ด๋ DeepSeek-R1์ด ์ฐ๊ธฐ ์์
๋ฐ ๊ฐ๋ฐฉํ ์ง๋ฌธ ๋ต๋ณ์์ ๊ฐ์ ์ ๊ฐ์ง๊ณ ์์์ ๋ํ๋
๋๋ค. DeepSeek-V3๋ฅผ ํฌ๊ฒ ๋ฅ๊ฐํ๋ ์ฑ๋ฅ์ ๋๊ท๋ชจ RL์ ์ผ๋ฐํ ์ด์ ์ ๊ฐ์กฐํ๋ฉฐ, ์ด๋ ์ถ๋ก ๋ฅ๋ ฅ์ ํฅ์์ํฌ ๋ฟ๋ง ์๋๋ผ ๋ค์ํ ๋๋ฉ์ธ์์ ์ฑ๋ฅ์ ๊ฐ์ ํฉ๋๋ค. ๋์ฑ์ด DeepSeek-R1์ด ์์ฑํ๋ ์์ฝ ๊ธธ์ด๋ ๊ฐ๊ฒฐํ๋ฉฐ, ArenaHard์์ ํ๊ท 689 ํ ํฐ, AlpacaEval 2.0์์ 2,218 ๋ฌธ์๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ์ด๋ DeepSeek-R1์ด GPT ๊ธฐ๋ฐ ํ๊ฐ์์ ๊ธธ์ด ํธํฅ์ ๋์
ํ๋ ๊ฒ์ ํผํ๋ฉฐ, ์ฌ๋ฌ ์์
์์ ๊ฒฌ๊ณ ์ฑ์ ๋์ฑ ๊ณต๊ณ ํ ํจ์ ๋ํ๋
๋๋ค."
), ...
],
graph_search_results=[],
web_search_results=[],
context_document_results=[]
)
RAG (Retrieval-Augmented Generation)
RAG ์๋ต์ ์์ฑํฉ๋๋ค:
Python
client.retrieval.rag(
query="What is DeepSeek R1?",
)
JavaScript
client.retrieval.rag({
query: "What is DeepSeek R1?",
})
Curl
curl -X POST https://api.sciphi.ai/v3/retrieval/rag \
-H "Content-Type: application/json" \
-d '{
"query": "What is DeepSeek R1?"
}'
์์ ์ถ๋ ฅ:
RAGResponse(
generated_answer='DeepSeek-R1์ ๊ฐํ ํ์ต(RL)๊ณผ ์ง๋ ๋ฏธ์ธ ์กฐ์ (SFT)์ ํ์ฉํ์ฌ ๊ธฐ๋ฅ์ ํฅ์์ํค๊ณ ๋ค์ํ ์์
์์ ์ธ์์ ์ธ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ ๋ชจ๋ธ์
๋๋ค. ์ด ๋ชจ๋ธ์ ์ฐ๊ธฐ ์์
, ๊ฐ๋ฐฉํ ์ง๋ฌธ ๋ต๋ณ, IF-Eval, AlpacaEval2.0, ArenaHard์ ๊ฐ์ ๋ฒค์น๋งํฌ์์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค [1], [2]. DeepSeek-R1์ ์ฌ๋ฌ ์์ญ์์ ์ด์ ๋ฒ์ ์ธ DeepSeek-V3๋ฅผ ๋ฅ๊ฐํ๋ฉฐ, ๋ค์ํ ๋๋ฉ์ธ์์ ์ถ๋ก ๋ฐ ์ผ๋ฐํ ๋ฅ๋ ฅ์ ๋ณด์ฌ์ค๋๋ค [1]. ๋ํ SimpleQA์ ๊ฐ์ ์ฌ์ค ๊ธฐ๋ฐ ๋ฒค์น๋งํฌ์์ ๊ฒฝ์๋ ฅ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฌ์ฑํ์ง๋ง, ์์ RL ์ ์ฝ์ผ๋ก ์ธํด ์ค๊ตญ์ด SimpleQA ๋ฒค์น๋งํฌ์์๋ ์ฑ๋ฅ์ด ๋จ์ด์ง๋๋ค [2]. ๋ํ DeepSeek-R1์ ์ถ๋ก ๋ฅ๋ ฅ์ ์๊ท๋ชจ ๋ชจ๋ธ๋ก ์ ์ด์ํค๋ ์ฆ๋ฅ ํ๋ก์ธ์ค์ ๊ด์ฌํ๋ฉฐ, ์ด ์๊ท๋ชจ ๋ชจ๋ธ๋ค์ ๋ฒค์น๋งํฌ์์ ๋งค์ฐ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์
๋๋ค [4], [6]. ์ด ๋ชจ๋ธ์ ์์ด์ ์ค๊ตญ์ด์ ์ต์ ํ๋์ด ์์ผ๋ฉฐ, ํฅํ ์
๋ฐ์ดํธ์์ ์ธ์ด ํผํฉ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ณํ์
๋๋ค [8].',
search_results=AggregateSearchResult(
chunk_search_results=[ChunkSearchResult(score=0.643, text=Document Title: DeepSeek_R1.pdf ...)]
),
citations=[Citation(index=1, rawIndex=1, startIndex=305, endIndex=308, snippetStartIndex=288, snippetEndIndex=315, sourceType='chunk', id='e760bb76-1c6e-52eb-910d-0ce5b567011b', document_id='e43864f5-a36f-548e-aacd-6f8d48b30c7f', owner_id='2acb499e-8428-543b-bd85-0d9098718220', collection_ids=['122fdf6a-e116-546b-a8f6-e4cb2e2c0a09'], score=0.6433466439465674, text='Document Title: DeepSeek_R1.pdf\n\nText: could achieve an accuracy of over 70%.\nDeepSeek-R1 also delivers impressive results on IF-Eval, a benchmark designed to assess a\nmodels ability to follow format instructions. These improvements can be linked to the inclusion\nof instruction-following...]
metadata={'id': 'chatcmpl-B0BaZ0vwIa58deI0k8NIuH6pBhngw', 'choices': [{'finish_reason': 'stop', 'index': 0, 'logprobs': None, 'message': {'refusal': None, 'role': 'assistant', 'audio': None, 'function_call': None, 'tool_calls': None}}], 'created': 1739384247, 'model': 'gpt-4o-2024-08-06', 'object': 'chat.completion', 'service_tier': 'default', 'system_fingerprint': 'fp_4691090a87', ...}
)
์คํธ๋ฆฌ๋ฐ RAG (Streaming RAG)
์คํธ๋ฆฌ๋ฐ RAG ์๋ต์ ์์ฑํฉ๋๋ค:
Python
from r2r import (
CitationEvent,
FinalAnswerEvent,
MessageEvent,
SearchResultsEvent,
R2RClient,
)
client = R2RClient("http://localhost:7272")
result_stream = client.retrieval.rag(
query="What is DeepSeek R1?",
search_settings={"limit": 25},
rag_generation_config={"stream": True},
)
# can also do a switch on `type` field
for event in result_stream:
if isinstance(event, SearchResultsEvent):
print("Search results:", event.data)
elif isinstance(event, MessageEvent):
print("Partial message:", event.data.delta)
elif isinstance(event, CitationEvent):
print("New citation detected:", event.data.raw_index)
elif isinstance(event, FinalAnswerEvent):
print("Final answer:", event.data.generated_answer)
JavaScript
โฏ
Curl
curl -X POST https://api.sciphi.ai/v3/retrieval/rag \
-H "Content-Type: application/json" \
-d '{
"query": "What is DeepSeek R1?"
}'
์์ ์ถ๋ ฅ:
Search results: id='run_1' object='rag.search_results' data={'chunk_search_results': [{'id': '1e40ee7e-2eef-524f-b5c6-1a1910e73ccc', 'document_id': '652075c0-3a43-519f-9625-f581e7605bc5', 'owner_id': '2acb499e-8428-543b-bd85-0d9098718220', 'collection_ids': ['122fdf6a-e116-546b-a8f6-e4cb2e2c0a09'], 'score': 0.7945216641038179, 'text': 'data, achieving strong performance across various tasks. DeepSeek-R1 is more powerful,\nleveraging cold-start data alongside iterative RL fine-tuning. Ultimately ...
...
Partial message: {'content': [MessageDelta(type='text', text={'value': 'Deep', 'annotations': []})]}
Partial message: {'content': [MessageDelta(type='text', text={'value': 'Seek', 'annotations': []})]}
Partial message: {'content': [MessageDelta(type='text', text={'value': '-R', 'annotations': []})]}
...
Final answer: DeepSeek-R1์ DeepSeek-AI ์ฐ๊ตฌํ์ด ๊ฐ๋ฐํ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ์
๋๋ค. ์ด ๋ชจ๋ธ์ ๊ฐํ ํ์ต(RL) ์ ์ ๋ค๋จ๊ณ ํ๋ จ๊ณผ ์ฝ๋ ์คํํธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ จ๋ ์ถ๋ก ๋ชจ๋ธ์
๋๋ค. ์ด ๋ชจ๋ธ์ MMLU, MMLU-Pro, GPQA Diamond, FRAMES๋ฅผ ํฌํจํ ๋ค์ํ ๋ฒค์น๋งํฌ์์ ํนํ STEM ๊ด๋ จ ์ง๋ฌธ์์ ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋๋ค. ...
RAG๋ฅผ ํ์ฉํ ์ถ๋ก ์์ด์ ํธ (agentic-rag)
R2R ์ถ๋ก ์์ด์ ํธ๋ฅผ ์ฌ์ฉํ๋ฉด, ๊ฒ์ ์ฆ๊ฐ ์์ฑ(RAG)์ด ๋จ๊ณ๋ณ ์ถ๋ก ๊ณผ ๊ฒฐํฉ๋์ด ๋ฌธ์์์ ๋ ๋์ ํ์ง์ ์๋ต์ ์์ฑํฉ๋๋ค.
Python
streaming_response = client.retrieval.agentic-rag(
message={"role":"user", "content": "What does deepseek r1 imply?"},
rag_generation_config={
"stream": True,
"model": "anthropic/claude-3-5-sonnet-20241022",
}
)
for chunk in streaming_response:
print(chunk)
JavaScript
// 1) ์คํธ๋ฆฌ๋ฐ RAG ์์ฒญ ์์
const resultStream = await client.retrieval.rag({
query: "What is DeepSeek R1?",
searchSettings: { limit: 25 },
ragGenerationConfig: { stream: true },
});
// 2) ๋น๋๊ธฐ ์ดํฐ๋ ์ดํฐ(์คํธ๋ฆฌ๋ฐ)๋ฅผ ๋ฐ์๋์ง ํ์ธ
if (Symbol.asyncIterator in resultStream) {
// 2a) ์๋ฒ์์ ์ค๋ ๊ฐ ์ด๋ฒคํธ๋ฅผ ๋ฐ๋ณต
for await (const event of resultStream) {
switch (event.event) {
case "search_results":
console.log("๊ฒ์ ๊ฒฐ๊ณผ:", event.data);
break;
case "message":
console.log("๋ถ๋ถ ๋ฉ์์ง ๋ธํ:", event.data.delta);
break;
case "citation":
console.log("์๋ก์ด ์ธ์ฉ ์ด๋ฒคํธ:", event.data);
break;
case "final_answer":
console.log("์ต์ข
๋ต๋ณ:", event.data.generated_answer);
break;
// ... ๋ค๋ฅธ ์ด๋ฒคํธ ์ ํ(์: tool_call / tool_result)์ด ์๋ค๋ฉด ์ผ์ด์ค ์ถ๊ฐ
default:
console.log("์ ์ ์๊ฑฐ๋ ์ฒ๋ฆฌ๋์ง ์์ ์ด๋ฒคํธ:", event);
}
}
} else {
// 2b) ์คํธ๋ฆฌ๋ฐ์ด ํ์ฑํ๋์ง ์์๊ฑฐ๋ ์๋ฒ๊ฐ SSE๋ฅผ ๋ณด๋ด์ง ์์ ๊ฒฝ์ฐ,
// ๋จ์ผ ์๋ต ๊ฐ์ฒด๋ฅผ ๋ฐ๊ฒ ๋ฉ๋๋ค.
console.log("๋น์คํธ๋ฆฌ๋ฐ RAG ์๋ต:", resultStream);
}
์์ ์ถ๋ ฅ:
<Thought>ํจ์ ํธ์ถ: local_search, ํ์ด๋ก๋ {"query":"DeepSeek R1"}</Thought>
<Thought>๊ฒ์ ๊ฒฐ๊ณผ๋ DeepSeek-R1์ ๋ํ ํฌ๊ด์ ์ธ ๊ฐ์๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋ค์ํ ๋ฒค์น๋งํฌ ๋ฐ ์์
์์์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ์ ๊ฐ์กฐํฉ๋๋ค. DeepSeek-R1์ DeepSeek-AI๊ฐ ๊ฐ๋ฐํ ์ถ๋ก ๋ชจ๋ธ๋ก, ๊ฐํ ํ์ต(RL) ๋ฐ ์ง์นจ ์ค์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค. ์ด ๋ชจ๋ธ์ ์ฐ๊ธฐ, ๊ฐ๋ฐฉํ ์ง๋ฌธ ๋ต๋ณ, ์ฌ์ค ๊ธฐ๋ฐ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ์ ๊ฐ์ ์์
์์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค. ์ด ๋ชจ๋ธ์ ์ฌ๋ฌ ์์ญ์์ ์ด์ ๋ฒ์ ์ธ DeepSeek-V3๋ฅผ ๋ฅ๊ฐํ์ง๋ง, ํจ์ ํธ์ถ ๋ฐ ๋ค์ค ํด ์ํธ ์์ฉ๊ณผ ๊ฐ์ ์ผ๋ถ ๋ณต์กํ ์์
์์๋ ๋ถ์กฑํฉ๋๋ค. DeepSeek-R1์ ๋ํ ๊ต์ก ์์
๋ฐ ์ฐฝ์์ ๊ธ์ฐ๊ธฐ์์ ๊ฐ๋ ฅํ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ฉฐ, ๋ค์ฌ๋ค๋ฅํจ๊ณผ ๊ฒฌ๊ณ ์ฑ์ ์
์ฆํฉ๋๋ค. DeepSeek-R1์ ์ฃผ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:- IF-Eval, AlpacaEval2.0, ArenaHard์ ๊ฐ์ ๋ฒค์น๋งํฌ์์ ์ธ์์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ฌ์ฑํ์ฌ ์ฐ๊ธฐ ๋ฐ ์ง๋ฌธ ๋ต๋ณ ๋ฅ๋ ฅ์ ๋ณด์ฌ์ค๋๋ค [์ถ์ฒ 1].- ์ด ๋ชจ๋ธ์ ์ถ๋ก ๋ฅ๋ ฅ์ ์๊ท๋ชจ ๋ชจ๋ธ๋ก ์ฆ๋ฅํ๋ ๋ฐ ๊ต์ฌ๋ก ์ฌ์ฉ๋๋ฉฐ, ์ด ์๊ท๋ชจ ๋ชจ๋ธ๋ค๋ ๋ฒค์น๋งํฌ์์ ์ข์ ์ฑ๋ฅ์ ๋ณด์
๋๋ค [์ถ์ฒ 2].- SimpleQA์ ๊ฐ์ ์ฌ์ค ๊ธฐ๋ฐ ๋ฒค์น๋งํฌ์์ DeepSeek-V3๋ฅผ ๋ฅ๊ฐํ์ง๋ง, ์ธ์ด ํผํฉ ๋ฐ ํน์ ๋ณต์กํ ์์
์์ ํ๊ณ๊ฐ ์์ต๋๋ค [์ถ์ฒ 3, 5].- DeepSeek-R1์ ์ฝ๋ฉ ์์
์์ ์ ๋ฌธ๊ฐ ์์ค์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ฉฐ, MMLU ๋ฐ GPQA Diamond์ ๊ฐ์ ๊ต์ก ๋ฒค์น๋งํฌ์์ ๊ฐ๋ ฅํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋๋ค [์ถ์ฒ 6, 9].์ ๋ฐ์ ์ผ๋ก DeepSeek-R1์ ์ถ๋ก ๋ฐ ์ง์นจ ์ค์์ ์ค์ ์ ๋ ๊ฐ๋ ฅํ ๋ชจ๋ธ๋ก, ๊ด๋ฒ์ํ ์์
์์ ๊ฒฝ์๋ ฅ ์๋ ์ฑ๋ฅ์ ๋ฌ์ฑํฉ๋๋ค.</Thought>
<Response>DeepSeek-R1์ DeepSeek-AI๊ฐ ๊ฐ๋ฐํ ์ถ๋ก ๋ชจ๋ธ๋ก, ์ฐ๊ธฐ ์์
, ๊ฐ๋ฐฉํ ์ง๋ฌธ ๋ต๋ณ, ์ฌ์ค ๊ธฐ๋ฐ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ์์ ๊ฐ๋ ฅํ ์ฑ๋ฅ์ ๋ณด์ด๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค. ์ด ๋ชจ๋ธ์ ๊ฐํ ํ์ต๊ณผ ์ง์นจ ์ค์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ๊ธฐ๋ฅ์ ํฅ์์ํต๋๋ค. ์ด ๋ชจ๋ธ์ ์ฌ๋ฌ ์์ญ์์ ์ด์ ๋ฒ์ ์ธ DeepSeek-V3๋ฅผ ๋ฅ๊ฐํ๋ฉฐ, ์ถ๋ก ๋ฅ๋ ฅ์ ์๊ท๋ชจ ๋ชจ๋ธ๋ก ์ฆ๋ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ์ ์๋ ๋ถ๊ตฌํ๊ณ , ํจ์ ํธ์ถ ๋ฐ ์ธ์ด ํผํฉ๊ณผ ๊ฐ์ ๋ณต์กํ ์์
์์๋ ํ๊ณ๊ฐ ์์ต๋๋ค. ์ ๋ฐ์ ์ผ๋ก DeepSeek-R1์ ๋ค์ํ ๋ฒค์น๋งํฌ์์ ๊ฒฝ์๋ ฅ ์๋ ์ฑ๋ฅ์ ๊ฐ์ง ๋ค์ฌ๋ค๋ฅํ๊ณ ๊ฒฌ๊ณ ํ ๋ชจ๋ธ์
๋๋ค.
์ถ๊ฐ ๊ธฐ๋ฅ (Additional Features)
R2R์ ๋ฌธ์ ๊ด๋ฆฌ ๋ฐ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๊ธฐ ์ํด ์๋์ ๊ฐ์ ์ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
๊ทธ๋ํ (Graphs)
R2R์ ๋ฌธ์ ์ดํด ๋ฐ ๊ฒ์์ ํฅ์์ํค๋ ๊ฐ๋ ฅํ ๊ฐ์ฒด ๋ฐ ๊ด๊ณ ์ถ์ถ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ R2R ๋ด์์ ์ง์ ๊ทธ๋ํ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ํ์ฉ๋ ์ ์์ต๋๋ค. ์์คํ ์ ์๋์ผ๋ก ๊ฐ์ฒด๋ฅผ ์๋ณํ๊ณ , ๊ทธ๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ๊ตฌ์ถํ๋ฉฐ, ๋ฌธ์ ์ปฌ๋ ์ ์์ ํ๋ถํ ์ง์ ๊ทธ๋ํ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
๋ฌธ์์์ ๊ฐ์ฒด์ ๊ด๊ณ๋ฅผ ์๋์ผ๋ก ์ถ์ถํ์ฌ ์ง์ ๊ทธ๋ํ๋ฅผ ํ์ฑํฉ๋๋ค.
์ฌ์ฉ์ ๋ฐ ์ปฌ๋ ์ (Users and Collections)
R2R์ ์์ ํ ์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ, ์์ ํ๊ณ ๊ธฐ๋ฅ์ด ํ๋ถํ ์ธ์ฆ ์์คํ ์ ๊ตฌํํ๊ฑฐ๋ ์ ํธํ๋ ์ธ์ฆ ๊ณต๊ธ์์ ํตํฉํ ์ ์๋๋ก ํฉ๋๋ค. ๋ํ, ์ปฌ๋ ์ ์ ์ฌ์ฉ์ ๋ฐ ๋ฌธ์์ ๋ํ ํจ์จ์ ์ธ ์ ๊ทผ ์ ์ด ๋ฐ ๊ตฌ์ฑ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
R2R์ ๋ด์ฅ ์ธ์ฆ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ๋ฑ๋ก, ๋ก๊ทธ์ธ, ์ด๋ฉ์ผ ์ธ์ฆ ๋ฑ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
R2R์์ ์ธ๋ถํ๋ ์ ๊ทผ ์ ์ด ๋ฐ ๋ฌธ์ ๊ตฌ์ฑ์ ์ํด ์ปฌ๋ ์ ์ ์์ฑ, ๊ด๋ฆฌ ๋ฐ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
๋ค์ ๋จ๊ณ (Next Steps)
์ด์ R2R์ ํต์ฌ ๊ธฐ๋ฅ์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ดํด๋ฅผ ๋ง์ณค์ผ๋ฏ๋ก, ๋ ๊ณ ๊ธ ์ฃผ์ ๋ฅผ ํ์ํ ์ ์์ต๋๋ค:
- ๋ฌธ์ ์์ง ๋ฐ ๋ฌธ์ ์ฐธ์กฐ์ ๋ํด ์์ธํ ์์๋ณด์ธ์.
- ๊ฒ์ ๋ฐ RAG์ ๊ฒ์ ์ฐธ์กฐ์ ๋ํด ์์๋ณด์ธ์.
- ์ง์ ๊ทธ๋ํ์ ๊ฐ์ ๊ณ ๊ธ ๊ธฐ์ ์ ์๋ํ๊ณ ๊ทธ๋ํ ์ฐธ์กฐ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
- ์ ํ๋ฆฌ์ผ์ด์ ๊ถํ์ ๋ณดํธํ๊ธฐ ์ํ ์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ์ฌ์ฉ์ API ์ฐธ์กฐ์ ๋ํด ์์๋ณด์ธ์.
- ์ธ๋ถํ๋ ์ ๊ทผ ์ ์ด๋ฅผ ์ํด ์ปฌ๋ ์ ์ ์ฌ์ฉํ์ฌ ๋ฌธ์๋ฅผ ๊ตฌ์ฑํ์ธ์.