
पूरी तरह से स्वायत्त एआई एजेंट प्रणाली जो जटिल पैठ परीक्षण कार्यों को करने में सक्षम है।
समुदाय में शामिल हों! सुरक्षा शोधकर्ताओं, AI उत्साही और नैतिक हैकर्स से जुड़ें। समर्थन प्राप्त करें, अंतर्दृष्टि साझा करें, और PentAGI के नवीनतम विकासों के साथ अपडेट रहें।
PentAGI एक नवीन उपकरण है जो स्वचालित सुरक्षा परीक्षण के लिए अत्याधुनिक कृत्रिम बुद्धिमत्ता तकनीकों का उपयोग करता है। यह प्रोजेक्ट सूचना सुरक्षा पेशेवरों, शोधकर्ताओं और उत्साही लोगों के लिए डिज़ाइन किया गया है, जिन्हें पेनिट्रेशन परीक्षण करने के लिए एक शक्तिशाली और लचीले समाधान की आवश्यकता है।
आप PentAGI अवलोकन वीडियो देख सकते हैं:

flowchart TB classDef person fill:#08427B,stroke:#073B6F,color:#fff classDef system fill:#1168BD,stroke:#0B4884,color:#fff classDef external fill:#666666,stroke:#0B4884,color:#fff
pentester["👤 Security Engineer
(User of the system)"]
pentagi["✨ PentAGI
(Autonomous penetration testing system)"]
target["🎯 target-system
(System under test)"]
llm["🧠 llm-provider
(OpenAI/Anthropic/Ollama/Bedrock/Gemini/Custom)"]
search["🔍 search-systems
(Google/DuckDuckGo/Tavily/Traversaal/Perplexity/Sploitus/Searxng)"]
langfuse["📊 langfuse-ui
(LLM Observability Dashboard)"]
grafana["📈 grafana
(System Monitoring Dashboard)"]
pentester --> |Uses HTTPS| pentagi
pentester --> |Monitors AI HTTPS| langfuse
pentester --> |Monitors System HTTPS| grafana
pentagi --> |Tests Various protocols| target
pentagi --> |Queries HTTPS| llm
pentagi --> |Searches HTTPS| search
pentagi --> |Reports HTTPS| langfuse
pentagi --> |Reports HTTPS| grafana
class pentester person
class pentagi system
class target,llm,search,langfuse,grafana external
linkStyle default stroke:#ffffff,color:#ffffff
<details>
<summary><b>कंटेनर आर्किटेक्चर</b> (विस्तार करने के लिए क्लिक करें)</summary>```mermaid
graph TB
subgraph Core Services
UI[Frontend UI<br/>React + TypeScript]
API[Backend API<br/>Go + GraphQL]
DB[(Vector Store<br/>PostgreSQL + pgvector)]
MQ[Task Queue<br/>Async Processing]
Agent[AI Agents<br/>Multi-Agent System]
end
subgraph Knowledge Graph
Graphiti[Graphiti<br/>Knowledge Graph API]
Neo4j[(Neo4j<br/>Graph Database)]
end
subgraph Monitoring
Grafana[Grafana<br/>Dashboards]
VictoriaMetrics[VictoriaMetrics<br/>Time-series DB]
Jaeger[Jaeger<br/>Distributed Tracing]
Loki[Loki<br/>Log Aggregation]
OTEL[OpenTelemetry<br/>Data Collection]
end
subgraph Analytics
Langfuse[Langfuse<br/>LLM Analytics]
ClickHouse[ClickHouse<br/>Analytics DB]
Redis[Redis<br/>Cache + Rate Limiter]
MinIO[MinIO<br/>S3 Storage]
end
subgraph Security Tools
Scraper[Web Scraper<br/>Isolated Browser]
PenTest[Security Tools<br/>20+ Pro Tools<br/>Sandboxed Execution]
end
UI --> |HTTP/WS| API
API --> |SQL| DB
API --> |Events| MQ
MQ --> |Tasks| Agent
Agent --> |Commands| PenTest
Agent --> |Queries| DB
Agent --> |Knowledge| Graphiti
Graphiti --> |Graph| Neo4j
API --> |Telemetry| OTEL
OTEL --> |Metrics| VictoriaMetrics
OTEL --> |Traces| Jaeger
OTEL --> |Logs| Loki
Grafana --> |Query| VictoriaMetrics
Grafana --> |Query| Jaeger
Grafana --> |Query| Loki
API --> |Analytics| Langfuse
Langfuse --> |Store| ClickHouse
Langfuse --> |Cache| Redis
Langfuse --> |Files| MinIO
classDef core fill:#f9f,stroke:#333,stroke-width:2px,color:#000
classDef knowledge fill:#ffa,stroke:#333,stroke-width:2px,color:#000
classDef monitoring fill:#bbf,stroke:#333,stroke-width:2px,color:#000
classDef analytics fill:#bfb,stroke:#333,stroke-width:2px,color:#000
classDef tools fill:#fbb,stroke:#333,stroke-width:2px,color:#000
class UI,API,DB,MQ,Agent core
class Graphiti,Neo4j knowledge
class Grafana,VictoriaMetrics,Jaeger,Loki,OTEL monitoring
class Langfuse,ClickHouse,Redis,MinIO analytics
class Scraper,PenTest tools
Flow {
string id PK
string name "Flow name"
string description "Flow description"
string status "active/completed/failed"
json parameters "Flow parameters"
timestamp created_at
timestamp updated_at
}
Task {
string id PK
string flow_id FK
string name "Task name"
string description "Task description"
string status "pending/running/done/failed"
json result "Task results"
timestamp created_at
timestamp updated_at
}
SubTask {
string id PK
string task_id FK
string name "Subtask name"
string description "Subtask description"
string status "queued/running/completed/failed"
string agent_type "researcher/developer/executor"
json context "Agent context"
timestamp created_at
timestamp updated_at
}
Action {
string id PK
string subtask_id FK
string type "command/search/analyze/etc"
string status "success/failure"
json parameters "Action parameters"
json result "Action results"
timestamp created_at
}
Artifact {
string id PK
string action_id FK
string type "file/report/log"
string path "Storage path"
json metadata "Additional info"
timestamp created_at
}
Memory {
string id PK
string action_id FK
string type "observation/conclusion"
vector embedding "Vector representation"
text content "Memory content"
timestamp created_at
}
subgraph "Working Memory"
Context[Current Context<br/>Task State]
Goals[Active Goals<br/>Objectives]
State[System State<br/>Resources]
end
subgraph "Episodic Memory"
Actions[Past Actions<br/>Commands History]
Results[Action Results<br/>Outcomes]
Patterns[Success Patterns<br/>Best Practices]
end
Context --> |Query| VS
VS --> |Retrieve| Context
Goals --> |Consult| KB
KB --> |Guide| Goals
State --> |Record| Actions
Actions --> |Learn| Patterns
Patterns --> |Store| VS
Tools --> |Inform| State
Results --> |Update| Tools
VS --> |Enhance| KB
KB --> |Index| VS
classDef ltm fill:#f9f,stroke:#333,stroke-width:2px,color:#000
classDef wm fill:#bbf,stroke:#333,stroke-width:2px,color:#000
classDef em fill:#bfb,stroke:#333,stroke-width:2px,color:#000
class VS,KB,Tools ltm
class Context,Goals,State wm
class Actions,Results,Patterns em
</details>
<details>
<summary><b>श्रृंखला सारांशीकरण</b> (विस्तार करने के लिए क्लिक करें)</summary>
श्रृंखला सारांशीकरण प्रणाली पुराने संदेशों को चुनिंदा रूप से सारांशित करके वार्तालाप संदर्भ के विकास का प्रबंधन करती है। यह टोकन सीमा से अधिक होने से रोकने और वार्तालाप की सुसंगति बनाए रखने के लिए महत्वपूर्ण है।```mermaid
flowchart TD
A[Input Chain] --> B{Needs Summarization?}
B -->|No| C[Return Original Chain]
B -->|Yes| D[Convert to ChainAST]
D --> E[Apply Section Summarization]
E --> F[Process Oversized Pairs]
F --> G[Manage Last Section Size]
G --> H[Apply QA Summarization]
H --> I[Rebuild Chain with Summaries]
I --> J{Is New Chain Smaller?}
J -->|Yes| K[Return Optimized Chain]
J -->|No| C
classDef process fill:#bbf,stroke:#333,stroke-width:2px,color:#000
classDef decision fill:#bfb,stroke:#333,stroke-width:2px,color:#000
classDef output fill:#fbb,stroke:#333,stroke-width:2px,color:#000
class A,D,E,F,G,H,I process
class B,J decision
class C,K output
</details>
<details>
<summary><b>एजेंट इंटरैक्शन</b> (विस्तार के लिए क्लिक करें)</summary>```mermaid
sequenceDiagram
participant O as Orchestrator
participant R as Researcher
participant D as Developer
participant E as Executor
participant VS as Vector Store
participant KB as Knowledge Base
Note over O,KB: Flow Initialization
O->>VS: Query similar tasks
VS-->>O: Return experiences
O->>KB: Load relevant knowledge
KB-->>O: Return context
Note over O,R: Research Phase
O->>R: Analyze target
R->>VS: Search similar cases
VS-->>R: Return patterns
R->>KB: Query vulnerabilities
KB-->>R: Return known issues
R->>VS: Store findings
R-->>O: Research results
Note over O,D: Planning Phase
O->>D: Plan attack
D->>VS: Query exploits
VS-->>D: Return techniques
D->>KB: Load tools info
KB-->>D: Return capabilities
D-->>O: Attack plan
Note over O,E: Execution Phase
O->>E: Execute plan
E->>KB: Load tool guides
KB-->>E: Return procedures
E->>VS: Store results
E-->>O: Execution status
एल्गोरिदम वार्तालाप श्रृंखलाओं (चेन AST) की एक संरचित प्रस्तुति पर काम करता है जो टूल कॉल और उनके प्रतिक्रियाओं सहित संदेश प्रकारों को संरक्षित करता है। सभी सारांश ऑपरेशन संदर्भ आकार को कम करते हुए महत्वपूर्ण वार्तालाप प्रवाह को बनाए रखते हैं।
| पैरामीटर | पर्यावरण चर | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
| अंतिम संरक्षित करें | SUMMARIZER_PRESERVE_LAST | true | क्या अंतिम अनुभाग में सभी संदेशों को अपरिवर्तित रखना है |
| QA जोड़ियों का उपयोग करें | SUMMARIZER_USE_QA | true | क्या QA जोड़ी सारांश रणनीति का उपयोग करना है |
| QA में मानव सारांशित करें | SUMMARIZER_SUM_MSG_HUMAN_IN_QA | false | क्या QA जोड़ियों में मानव संदेशों को सारांशित करना है |
| अंतिम अनुभाग आकार | SUMMARIZER_LAST_SEC_BYTES | 51200 | अंतिम अनुभाग के लिए अधिकतम बाइट आकार (50KB) |
| अधिकतम निकाय जोड़ी आकार | SUMMARIZER_MAX_BP_BYTES | 16384 | एकल निकाय जोड़ी के लिए अधिकतम बाइट आकार (16KB) |
| अधिकतम QA अनुभाग | SUMMARIZER_MAX_QA_SECTIONS | 10 | संरक्षित करने के लिए अधिकतम QA जोड़ी अनुभाग |
| अधिकतम QA आकार | SUMMARIZER_MAX_QA_BYTES | 65536 | QA जोड़ी अनुभागों के लिए अधिकतम बाइट आकार (64KB) |
| QA अनुभाग रखें | SUMMARIZER_KEEP_QA_SECTIONS | 1 | सारांश के बिना रखने के लिए हाल के QA अनुभागों की संख्या |
सहायक इंस्टेंस संदर्भ प्रबंधन व्यवहार को ठीक करने के लिए अनुकूलित सारांश सेटिंग्स का उपयोग कर सकते हैं:
| पैरामीटर | पर्यावरण चर | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
| अंतिम संरक्षित करें | ASSISTANT_SUMMARIZER_PRESERVE_LAST | true | क्या सहायक के अंतिम अनुभाग में सभी संदेशों को संरक्षित करना है |
| अंतिम अनुभाग आकार | ASSISTANT_SUMMARIZER_LAST_SEC_BYTES | 76800 | सहायक के अंतिम अनुभाग के लिए अधिकतम बाइट आकार (75KB) |
| अधिकतम निकाय जोड़ी आकार | ASSISTANT_SUMMARIZER_MAX_BP_BYTES | 16384 | सहायक संदर्भ में एकल निकाय जोड़ी के लिए अधिकतम बाइट आकार (16KB) |
| अधिकतम QA अनुभाग | ASSISTANT_SUMMARIZER_MAX_QA_SECTIONS | 7 | सहायक संदर्भ में संरक्षित करने के लिए अधिकतम QA अनुभाग |
| अधिकतम QA आकार | ASSISTANT_SUMMARIZER_MAX_QA_BYTES | 76800 | सहायक के QA अनुभागों के लिए अधिकतम बाइट आकार (75KB) |
| QA अनुभाग रखें | ASSISTANT_SUMMARIZER_KEEP_QA_SECTIONS | 3 | सारांश के बिना संरक्षित करने के लिए हाल के QA अनुभागों की संख्या |
सहायक सारांशक विन्यास वैश्विक सेटिंग्स की तुलना में संदर्भ प्रतिधारण के लिए अधिक मेमोरी प्रदान करता है, अधिक हाल के वार्तालाप इतिहास को संरक्षित करता है जबकि कुशल टोकन उपयोग सुनिश्चित करता है।
SUMMARIZER_PRESERVE_LAST=true SUMMARIZER_USE_QA=true SUMMARIZER_SUM_MSG_HUMAN_IN_QA=false SUMMARIZER_LAST_SEC_BYTES=51200 SUMMARIZER_MAX_BP_BYTES=16384 SUMMARIZER_MAX_QA_SECTIONS=10 SUMMARIZER_MAX_QA_BYTES=65536 SUMMARIZER_KEEP_QA_SECTIONS=1
ASSISTANT_SUMMARIZER_PRESERVE_LAST=true ASSISTANT_SUMMARIZER_LAST_SEC_BYTES=76800 ASSISTANT_SUMMARIZER_MAX_BP_BYTES=16384 ASSISTANT_SUMMARIZER_MAX_QA_SECTIONS=7 ASSISTANT_SUMMARIZER_MAX_QA_BYTES=76800 ASSISTANT_SUMMARIZER_KEEP_QA_SECTIONS=3
</details>
<a id="advanced-agent-supervision"></a>
<details>
<summary><b>उन्नत एजेंट पर्यवेक्षण</b> (विस्तार के लिए क्लिक करें)</summary>
PentAGI में कुशल कार्य निष्पादन सुनिश्चित करने, अनंत लूप को रोकने और अटके हुए राज्यों से बुद्धिमानी से पुनर्प्राप्ति प्रदान करने के लिए परिष्कृत बहु-स्तरीय एजेंट पर्यवेक्षण तंत्र शामिल है:
### निष्पादन निगरानी (बीटा)
- **स्वचालित परामर्शदाता हस्तक्षेप**: जब निष्पादन पैटर्न संभावित समस्याओं का संकेत देते हैं तो सलाहकार एजेंट (मेंटर) स्वचालित रूप से सक्रिय हो जाता है
- **पैटर्न पहचान**: समान टूल कॉल की निगरानी (सीमा: 5, कॉन्फ़िगरेबल) और कुल टूल कॉल की निगरानी (सीमा: 10, कॉन्फ़िगरेबल)
- **प्रगति विश्लेषण**: मूल्यांकन करता है कि एजेंट उप-कार्य उद्देश्य की ओर बढ़ रहा है या नहीं, लूप और अक्षमताओं का पता लगाता है
- **वैकल्पिक रणनीतियाँ**: जब वर्तमान रणनीति विफल होती है तो भिन्न दृष्टिकोणों की सिफारिश करता है
- **सूचना पुनर्प्राप्ति मार्गदर्शन**: पुनः आविष्कार करने के बजाय स्थापित समाधानों की खोज का सुझाव देता है
- **उन्नत प्रतिक्रिया प्रारूप**: टूल प्रतिक्रियाओं में `<original_result>` और `<mentor_analysis>` दोनों खंड शामिल हैं
- **कॉन्फ़िगरेबल**: `EXECUTION_MONITOR_ENABLED` के माध्यम से सक्षम करें (डिफ़ॉल्ट: false), `EXECUTION_MONITOR_SAME_TOOL_LIMIT` और `EXECUTION_MONITOR_TOTAL_TOOL_LIMIT` के साथ सीमाएँ अनुकूलित करें
**सर्वोत्तम के लिए**: छोटे मॉडल (< 32B पैरामीटर), जटिल हमले परिदृश्य जिनमें निरंतर मार्गदर्शन की आवश्यकता होती है, एजेंटों को एक ही दृष्टिकोण पर अटकने से रोकता है
**प्रदर्शन प्रभाव**: निष्पादन समय और टोकन उपयोग में 2-3 गुना वृद्धि, लेकिन Qwen3.5-27B-FP8 के साथ परीक्षण के आधार पर **परिणाम गुणवत्ता में 2 गुना सुधार** प्रदान करता है
### बुद्धिमान कार्य योजना (बीटा)
- **स्वचालित विघटन**: विशेषज्ञ एजेंटों के कार्य शुरू करने से पहले योजनाकार (योजना मोड में सलाहकार) 3-7 विशिष्ट, कार्रवाई योग्य चरण उत्पन्न करता है
- **संदर्भ-जागरूक योजनाएँ**: सूचित योजनाएँ बनाने के लिए संवर्धक एजेंट के माध्यम से पूर्ण निष्पादन संदर्भ का विश्लेषण करता है
- **संरचित असाइनमेंट**: मूल अनुरोध को निष्पादन योजना और निर्देशों के साथ `<task_assignment>` संरचना में लपेटा गया है
- **दायरा प्रबंधन**: एजेंटों को केवल वर्तमान उप-कार्य पर केंद्रित रखकर दायरे के विस्तार को रोकता है
- **समृद्ध निर्देश**: योजनाएँ महत्वपूर्ण कार्यों, संभावित नुकसानों और सत्यापन बिंदुओं को उजागर करती हैं
- **कॉन्फ़िगरेबल**: `AGENT_PLANNING_STEP_ENABLED` के माध्यम से सक्षम करें (डिफ़ॉल्ट: false)
**सर्वोत्तम के लिए**: < 32B पैरामीटर वाले मॉडल, जटिल पैठ परीक्षण कार्यप्रवाह, परिष्कृत कार्यों पर सफलता दर में सुधार
**उन्नत सलाहकार कॉन्फ़िगरेशन**: जब सलाहकार एजेंट मजबूत मॉडल या उन्नत सेटिंग्स का उपयोग करता है तो असाधारण रूप से अच्छी तरह से काम करता है। उदाहरण: सलाहकार के लिए अधिकतम तर्क मोड के साथ समान आधार मॉडल का उपयोग करना (देखें [`vllm-qwen3.5-27b-fp8.provider.yml`](https://github.com/vxcontrol/pentagi/blob/HEAD/examples/configs/vllm-qwen3.5-27b-fp8.provider.yml)) समान मॉडल आर्किटेक्चर से व्यापक कार्य विश्लेषण और रणनीतिक योजना सक्षम करता है।
**प्रदर्शन प्रभाव**: योजना ओवरहेड जोड़ता है लेकिन पूर्णता दर में उल्लेखनीय सुधार करता है और अनावश्यक कार्य को कम करता है
### टूल कॉल सीमाएँ (हमेशा सक्रिय)
- **कठोर सीमाएँ**: पर्यवेक्षण मोड स्थिति की परवाह किए बिना अनियंत्रित निष्पादन को रोकें
- **एजेंट प्रकार के अनुसार विभेदित**:
- सामान्य एजेंट (सहायक, प्राथमिक एजेंट, पेंटेस्टर, कोडर, इंस्टॉलर): `MAX_GENERAL_AGENT_TOOL_CALLS` (डिफ़ॉल्ट: 100)
- सीमित एजेंट (खोजकर्ता, संवर्धक, यादगार, जनरेटर, रिपोर्टर, सलाहकार, रिफ्लेक्टर, योजनाकार): `MAX_LIMITED_AGENT_TOOL_CALLS` (डिफ़ॉल्ट: 20)
- **सुव्यवस्थित समाप्ति**: सीमा के करीब पहुंचने पर रिफ्लेक्टर एजेंटों को उचित समाप्ति की ओर मार्गदर्शन करता है
- **संसाधन संरक्षण**: सिस्टम स्थिरता सुनिश्चित करता है और संसाधन की कमी को रोकता है
### रिफ्लेक्टर एकीकरण (हमेशा सक्रिय)
- **स्वचालित सुधार**: जब LLM 3 प्रयासों के बाद टूल कॉल उत्पन्न करने में विफल रहता है तो सक्रिय हो जाता है
- **रणनीतिक मार्गदर्शन**: विफलताओं का विश्लेषण करता है और एजेंटों को उचित टूल उपयोग या बाधा उपकरणों (`done`, `ask`) की ओर मार्गदर्शन करता है
- **पुनर्प्राप्ति तंत्र**: विशिष्ट विफलता पैटर्न के आधार पर प्रासंगिक मार्गदर्शन प्रदान करता है
- **सीमा प्रवर्तन**: टूल कॉल सीमा तक पहुंचने पर सुव्यवस्थित समाप्ति का समन्वय करता है
### ओपन सोर्स मॉडल के लिए अनुशंसाएँ
**< 32B पैरामीटर वाले मॉडल के लिए अनिवार्य**:
Qwen3.5-27B-FP8 के साथ परीक्षण से पता चलता है कि छोटे ओपन सोर्स मॉडल के लिए निष्पादन निगरानी और कार्य योजना दोनों को सक्षम करना **आवश्यक** है:
- **गुणवत्ता में सुधार**: पर्यवेक्षण के बिना आधारभूत निष्पादन की तुलना में 2 गुना बेहतर परिणाम
- **लूप रोकथाम**: अनंत लूप और अनावश्यक कार्य को काफी कम करता है
- **हमले विविधता**: एकल दृष्टिकोण पर टिके रहने के बजाय कई हमले वैक्टरों की खोज को प्रोत्साहित करता है
- **एयर-गैप्ड डिप्लॉयमेंट**: स्थानीय LLM अनुमान के साथ बंद नेटवर्क वातावरण में उत्पादन-ग्रेड स्वायत्त पैठ परीक्षण सक्षम करता है
**व्यापार-बंद**:
- टोकन खपत: मेंटर/योजनाकार आह्वान के कारण 2-3 गुना वृद्धि
- निष्पादन समय: विश्लेषण और योजना चरणों के कारण 2-3 गुना लंबा
- परिणाम गुणवत्ता: पूर्णता, सटीकता और हमले के कवरेज में 2 गुना सुधार
- मॉडल आवश्यकताएँ: सबसे अच्छा तब काम करता है जब सलाहकार उन्नत कॉन्फ़िगरेशन (उच्च तर्क पैरामीटर, मजबूत मॉडल वैरिएंट, या भिन्न मॉडल) का उपयोग करता है
**कॉन्फ़िगरेशन रणनीति**:
छोटे मॉडलों के साथ इष्टतम प्रदर्शन के लिए, सलाहकार एजेंट को उन्नत सेटिंग्स के साथ कॉन्फ़िगर करें:
- अधिकतम तर्क मोड के साथ समान मॉडल का उपयोग करें (उदाहरण: [`vllm-qwen3.5-27b-fp8.provider.yml`](https://github.com/vxcontrol/pentagi/blob/HEAD/examples/configs/vllm-qwen3.5-27b-fp8.provider.yml))
- या अन्य एजेंटों के लिए आधार मॉडल रखते हुए सलाहकार के लिए मजबूत मॉडल का उपयोग करें
- कार्य जटिलता और मॉडल क्षमताओं के आधार पर निगरानी सीमाएँ समायोजित करें
</details>
PentAGI की आर्किटेक्चर मॉड्यूलर, स्केलेबल और सुरक्षित होने के लिए डिज़ाइन की गई है। यहाँ मुख्य घटक हैं:
1. **कोर सेवाएँ**
- फ्रंटएंड UI: टाइप सुरक्षा के लिए TypeScript के साथ React-आधारित वेब इंटरफ़ेस
- बैकएंड API: प्रोग्रामेटिक एक्सेस के लिए Bearer टोकन प्रमाणीकरण के साथ Go-आधारित REST और GraphQL API
- वेक्टर स्टोर: सिमैंटिक सर्च और मेमोरी स्टोरेज के लिए PostgreSQL pgvector के साथ
- टास्क क्यू: विश्वसनीय संचालन के लिए एसिंक्रॉनस कार्य प्रसंस्करण प्रणाली
- AI एजेंट: कुशल परीक्षण के लिए विशिष्ट भूमिकाओं वाली बहु-एजेंट प्रणाली
2. **नॉलेज ग्राफ**
- Graphiti: सिमैंटिक संबंध ट्रैकिंग और प्रासंगिक समझ के लिए नॉलेज ग्राफ API
- Neo4j: संस्थाओं, क्रियाओं और परिणामों के बीच संबंधों को संग्रहीत करने और क्वेरी करने के लिए ग्राफ डेटाबेस
- व्यापक नॉलेज बेस बनाने के लिए एजेंट प्रतिक्रियाओं और टूल निष्पादन का स्वचालित कैप्चर
3. **मॉनिटरिंग स्टैक**
- OpenTelemetry: एकीकृत अवलोकनीयता डेटा संग्रह और सहसंबंध
- Grafana: रीयल-टाइम विज़ुअलाइज़ेशन और अलर्टिंग डैशबोर्ड
- VictoriaMetrics: उच्च-प्रदर्शन समय-श्रृंखला मीट्रिक्स स्टोरेज
- Jaeger: डीबगिंग के लिए एंड-टू-एंड वितरित ट्रेसिंग
- Loki: स्केलेबल लॉग एग्रीगेशन और विश्लेषण
4. **एनालिटिक्स प्लेटफॉर्म**
- Langfuse: उन्नत LLM अवलोकनीयता और प्रदर्शन एनालिटिक्स
- ClickHouse: कॉलम-ओरिएंटेड एनालिटिक्स डेटा वेयरहाउस
- Redis: उच्च-गति कैशिंग और दर सीमितकरण
- MinIO: आर्टिफैक्ट्स के लिए S3-संगत ऑब्जेक्ट स्टोरेज
5. **सुरक्षा उपकरण**
- वेब स्क्रेपर: सुरक्षित वेब इंटरैक्शन के लिए पृथक ब्राउज़र वातावरण
- पैठ परीक्षण उपकरण: 20+ पेशेवर सुरक्षा उपकरणों का व्यापक सूट
- सैंडबॉक्स्ड निष्पादन: सभी संचालन पृथक कंटेनरों में चलते हैं
6. **मेमोरी सिस्टम**
- दीर्घकालिक मेमोरी: ज्ञान और अनुभवों का स्थायी भंडारण
- कार्यशील मेमोरी: वर्तमान संचालन के लिए सक्रिय संदर्भ और लक्ष्य
- एपिसोडिक मेमोरी: ऐतिहासिक क्रियाएँ और सफलता पैटर्न
- नॉलेज बेस: संरचित डोमेन विशेषज्ञता और उपकरण क्षमताएँ
- संदर्भ प्रबंधन: श्रृंखला सारांश का उपयोग करके बढ़ते LLM संदर्भ विंडो का बुद्धिमानी से प्रबंधन
सिस्टम अलगाव और आसान तैनाती के लिए Docker कंटेनरों का उपयोग करता है, जिसमें उचित सुरक्षा सीमाएँ सुनिश्चित करने के लिए कोर सेवाओं, मॉनिटरिंग और एनालिटिक्स के लिए अलग-अलग नेटवर्क हैं। प्रत्येक घटक क्षैतिज रूप से स्केल करने के लिए डिज़ाइन किया गया है और उत्पादन वातावरण में उच्च उपलब्धता के लिए कॉन्फ़िगर किया जा सकता है।
## त्वरित आरंभ
### सिस्टम आवश्यकताएँ
- Docker और Docker Compose (या Podman - [Podman कॉन्फ़िगरेशन](#running-pentagi-with-podman) देखें)
- न्यूनतम 2 vCPU
- न्यूनतम 4GB RAM
- 20GB मुक्त डिस्क स्थान
- इमेज और अपडेट डाउनलोड करने के लिए इंटरनेट एक्सेस
### इंस्टॉलर का उपयोग करना (अनुशंसित)
PentAGI सुव्यवस्थित कॉन्फ़िगरेशन और तैनाती के लिए टर्मिनल-आधारित UI के साथ एक इंटरैक्टिव इंस्टॉलर प्रदान करता है। इंस्टॉलर आपको सिस्टम जाँच, LLM प्रदाता सेटअप, सर्च इंजन कॉन्फ़िगरेशन और सुरक्षा सख्तीकरण के माध्यम से मार्गदर्शन करता है।
**समर्थित प्लेटफॉर्म:**
- **Linux**: amd64 [डाउनलोड](https://pentagi.com/downloads/linux/amd64/installer-latest.zip) | arm64 [डाउनलोड](https://pentagi.com/downloads/linux/arm64/installer-latest.zip)
- **Windows**: amd64 [डाउनलोड](https://pentagi.com/downloads/windows/amd64/installer-latest.zip)
- **macOS**: amd64 (Intel) [डाउनलोड](https://pentagi.com/downloads/darwin/amd64/installer-latest.zip) | arm64 (M-series) [डाउनलोड](https://pentagi.com/downloads/darwin/arm64/installer-latest.zip)
**त्वरित स्थापना (Linux amd64):**```bash
# Create installation directory
mkdir -p pentagi && cd pentagi
# Download installer
wget -O installer.zip https://pentagi.com/downloads/linux/amd64/installer-latest.zip
# Extract
unzip installer.zip
# Run interactive installer
./installer
प्रारंभिक आवश्यकताएँ और अनुमतियाँ:
इंस्टॉलर को उचित संचालन के लिए Docker API के साथ इंटरैक्ट करने हेतु उपयुक्त अनुमतियों की आवश्यकता होती है। डिफ़ॉल्ट रूप से, यह Docker सॉकेट (/var/run/docker.sock) का उपयोग करता है, जिसके लिए निम्नलिखित में से किसी एक की आवश्यकता होती है:
विकल्प 1 (उत्पादन के लिए अनुशंसित): इंस्टॉलर को रूट के रूप में चलाएँ: ```bash sudo ./installer
Option 2 (Development environments): अपने उपयोगकर्ता को docker समूह में जोड़कर Docker सॉकेट तक पहुंच प्रदान करें: ```bash
sudo usermod -aG docker $USER
newgrp docker
docker ps
⚠️ सुरक्षा नोट: docker समूह में उपयोगकर्ता जोड़ने से रूट-समकक्ष विशेषाधिकार मिलते हैं। इसे केवल नियंत्रित वातावरणों में विश्वसनीय उपयोगकर्ताओं के लिए करें। उत्पादन तैनातियों के लिए, रूटलेस डॉकर मोड का उपयोग करने या sudo के साथ इंस्टॉलर चलाने पर विचार करें।
इंस्टॉलर निम्नलिखित कार्य करेगा:
.env फ़ाइल को इष्टतम डिफ़ॉल्ट के साथ बनाएं और कॉन्फ़िगर करेंPentAGI वेब कंसोल पहले से ही सर्वर चालू होने के बाद कई सेटिंग्स क्षेत्रों का प्रबंधन करता है:
निम्नलिखित कॉन्फ़िगरेशन क्षेत्रों को अभी भी पर्यावरण चर, कंपोज़ फ़ाइलों या माउंटेड कॉन्फ़िग फ़ाइलों के माध्यम से सर्वर पर सेट करने की आवश्यकता है:
OLLAMA_SERVER_CONFIG_PATH और LLM_SERVER_CONFIG_PATH।DUCKDUCKGO_*, GOOGLE_*, TAVILY_API_KEY, TRAVERSAAL_API_KEY, PERPLEXITY_*, SEARXNG_*, और SPLOITUS_ENABLED।उत्पादन और उन्नत सुरक्षा के लिए:
उत्पादन तैनातियों या सुरक्षा-संवेदनशील वातावरणों के लिए, हम दृढ़ता से अनुशंसा करते हैं कि एक वितरित दो-नोड आर्किटेक्चर का उपयोग करें जहाँ वर्कर संचालन एक अलग सर्वर पर अलग किया गया हो। यह आपके मुख्य सिस्टम पर अविश्वसनीय कोड निष्पादन और नेटवर्क एक्सेस समस्याओं को रोकता है।
विस्तृत गाइड देखें: वर्कर नोड सेटअप
दो-नोड सेटअप प्रदान करता है:
2. कॉपी करें `.env.example` को `.env` में या इसे डाउनलोड करें:```bash
curl -o .env https://raw.githubusercontent.com/vxcontrol/pentagi/master/.env.example
example.custom.provider.yml, example.ollama.provider.yml) या इसे डाउनलोड करें:```bash
curl -o example.custom.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/master/examples/configs/custom-openai.provider.yml
curl -o example.ollama.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/master/examples/configs/ollama-llama318b.provider.yml4. `.env` फ़ाइल में आवश्यक API कुंजियाँ भरें।```bash
# Required: At least one of these LLM providers
OPEN_AI_KEY=your_openai_key
ANTHROPIC_API_KEY=your_anthropic_key
GEMINI_API_KEY=your_gemini_key
# Optional: AWS Bedrock provider (enterprise-grade models)
BEDROCK_REGION=us-east-1
# Choose one authentication method:
BEDROCK_DEFAULT_AUTH=true # Option 1: Use AWS SDK default credential chain (recommended for EC2/ECS)
# BEDROCK_BEARER_TOKEN=your_bearer_token # Option 2: Bearer token authentication
# BEDROCK_ACCESS_KEY_ID=your_aws_access_key # Option 3: Static credentials
# BEDROCK_SECRET_ACCESS_KEY=your_aws_secret_key
# Optional: Ollama provider (local or cloud)
# OLLAMA_SERVER_URL=http://ollama-server:11434 # Local server
# OLLAMA_SERVER_URL=https://ollama.com # Cloud service
# OLLAMA_SERVER_API_KEY=your_ollama_cloud_key # Required for cloud, empty for local
# Optional: Chinese AI providers
# DEEPSEEK_API_KEY=your_deepseek_key # DeepSeek (strong reasoning)
# GLM_API_KEY=your_glm_key # GLM (Zhipu AI)
# KIMI_API_KEY=your_kimi_key # Kimi (Moonshot AI, ultra-long context)
# QWEN_API_KEY=your_qwen_key # Qwen (Alibaba Cloud, multimodal)
# Optional: Local LLM provider (zero-cost inference)
OLLAMA_SERVER_URL=http://localhost:11434
OLLAMA_SERVER_MODEL=your_model_name
# Optional: Additional search capabilities
DUCKDUCKGO_ENABLED=true
DUCKDUCKGO_REGION=us-en
DUCKDUCKGO_SAFESEARCH=
DUCKDUCKGO_TIME_RANGE=
SPLOITUS_ENABLED=true
GOOGLE_API_KEY=your_google_key
GOOGLE_CX_KEY=your_google_cx
TAVILY_API_KEY=your_tavily_key
TRAVERSAAL_API_KEY=your_traversaal_key
PERPLEXITY_API_KEY=your_perplexity_key
PERPLEXITY_MODEL=sonar-pro
PERPLEXITY_CONTEXT_SIZE=medium
# Searxng meta search engine (aggregates results from multiple sources)
SEARXNG_URL=http://your-searxng-instance:8080
SEARXNG_CATEGORIES=general
SEARXNG_LANGUAGE=
SEARXNG_SAFESEARCH=0
SEARXNG_TIME_RANGE=
SEARXNG_TIMEOUT=
## Graphiti knowledge graph settings
GRAPHITI_ENABLED=true
GRAPHITI_TIMEOUT=30
GRAPHITI_URL=http://graphiti:8000
GRAPHITI_MODEL_NAME=gpt-5-mini
# Neo4j settings (used by Graphiti stack)
NEO4J_USER=neo4j
NEO4J_DATABASE=neo4j
NEO4J_PASSWORD=devpassword
NEO4J_URI=bolt://neo4j:7687
# Assistant configuration
ASSISTANT_USE_AGENTS=false # Default value for agent usage when creating new assistants
.env फ़ाइल में सभी सुरक्षा-संबंधित पर्यावरण चर बदलें।COOKIE_SIGNING_SALT - कुकी हस्ताक्षर के लिए नमक, यादृच्छिक मान में बदलेंPUBLIC_URL - आपके सर्वर का सार्वजनिक URL (जैसे https://pentagi.example.com)SERVER_SSL_CRT और SERVER_SSL_KEY - HTTPS के लिए आपके मौजूदा SSL प्रमाणपत्र और कुंजी के कस्टम पथ (इन पथों का उपयोग docker-compose.yml फ़ाइल में वॉल्यूम के रूप में माउंट करने के लिए किया जाना चाहिए)SCRAPER_PUBLIC_URL - सार्वजनिक URL के लिए अलग स्क्रैपर सर्वर का उपयोग करने के लिए स्क्रैपर का सार्वजनिक URLSCRAPER_PRIVATE_URL - स्क्रैपर का निजी URL (docker-compose.yml फ़ाइल में स्थानीय URL तक पहुँचने के लिए स्थानीय स्क्रैपर सर्वर)PENTAGI_POSTGRES_USER और PENTAGI_POSTGRES_PASSWORD - PostgreSQL क्रेडेंशियल्सNEO4J_USER और NEO4J_PASSWORD - Neo4j क्रेडेंशियल्स (Graphiti ज्ञान ग्राफ के लिए).env फ़ाइल से सभी इनलाइन टिप्पणियाँ हटाएँ:```bash
perl -i -pe 's/\s+#.*$//' .env7. PentAGI स्टैक चलाएँ:```bash
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/master/docker-compose.yml
docker compose up -d
Visit localhost:8443 to access PentAGI Web UI (default is [email protected] / admin)
PentAGI लॉगिन पृष्ठ से सार्वजनिक सेल्फ-सर्विस साइन-अप प्रदर्शित नहीं करता है। एक नई स्थापना डिफ़ॉल्ट स्थानीय प्रशासक खाता बनाती है:
[email protected]adminपहले लॉगिन पर, वास्तविक कार्य के लिए इंस्टेंस का उपयोग करने से पहले डिफ़ॉल्ट पासवर्ड बदलें। यदि बाद में प्रशासक पासवर्ड खो जाता है, तो डिफ़ॉल्ट [email protected] खाता पासवर्ड रीसेट करने के लिए इंस्टॉलर मेंटेनेंस मेनू का उपयोग करें।
मल्टी-यूज़र सेटअप के लिए, एक प्रमाणित प्रशासक Users REST API (/api/v1/users/) के माध्यम से स्थानीय उपयोगकर्ताओं का प्रबंधन कर सकता है। इंस्टेंस चलने के बाद OpenAPI UI https://localhost:8443/api/v1/swagger/index.html पर उपलब्ध है।
[!NOTE] यदि आपको
pentagi-networkयाobservability-networkयाlangfuse-networkके बारे में कोई त्रुटि मिलती है, तो आपको पहले ये नेटवर्क बनाने के लिएdocker-compose.ymlचलाना होगा और उसके बाद Langfuse, Graphiti, और Observability सेवाओं का उपयोग करने के लिएdocker-compose-langfuse.yml,docker-compose-graphiti.yml, औरdocker-compose-observability.ymlचलाना होगा।PentAGI का उपयोग करने के लिए आपको कम से कम एक Language Model प्रदाता (OpenAI, Anthropic, Gemini, AWS Bedrock, या Ollama) सेट करना होगा। AWS Bedrock प्रमुख AI कंपनियों के कई फाउंडेशन मॉडलों तक एंटरप्राइज़-ग्रेड पहुँच प्रदान करता है, जबकि Ollama पर्याप्त कम्प्यूटेशनल संसाधन होने पर शून्य-लागत स्थानीय अनुमान प्रदान करता है। सर्च इंजनों के लिए अतिरिक्त API कुंजियाँ वैकल्पिक हैं लेकिन बेहतर परिणामों के लिए अनुशंसित हैं।
उन्नत मॉडलों के साथ पूरी तरह से स्थानीय तैनाती के लिए: प्रोडक्शन-ग्रेड स्थानीय LLM सेटअप के लिए Running PentAGI with vLLM and Qwen3.5-27B-FP8 पर हमारी व्यापक मार्गदर्शिका देखें। यह कॉन्फ़िगरेशन 4× RTX 5090 GPUs पर प्रॉम्प्ट प्रोसेसिंग के लिए ~13,000 TPS और पूर्णता के लिए ~650 TPS प्राप्त करता है, जो क्लाउड प्रदाताओं से पूर्ण स्वतंत्रता के साथ 12+ समवर्ती प्रवाह का समर्थन करता है।
LLM_SERVER_*पर्यावरण चर प्रयोगात्मक सुविधा हैं और भविष्य में बदल जाएंगे। अभी आप उनका उपयोग कस्टम LLM सर्वर URL और सभी एजेंट प्रकारों के लिए एक मॉडल निर्दिष्ट करने के लिए कर सकते हैं।
PROXY_URLसभी LLM प्रदाताओं और बाहरी खोज प्रणालियों के लिए एक वैश्विक प्रॉक्सी URL है। आप इसका उपयोग बाहरी नेटवर्क से अलगाव के लिए कर सकते हैं।
docker-compose.ymlफ़ाइल PentAGI सेवा को रूट उपयोगकर्ता के रूप में चलाती है क्योंकि इसे कंटेनर प्रबंधन के लिए docker.sock तक पहुँच की आवश्यकता होती है। यदि आप सॉकेट फ़ाइल के बजाय Docker के लिए TCP/IP नेटवर्क कनेक्शन का उपयोग कर रहे हैं, तो आप रूट विशेषाधिकारों को हटा सकते हैं और बेहतर सुरक्षा के लिए डिफ़ॉल्टpentagiउपयोगकर्ता का उपयोग कर सकते हैं।
डिफ़ॉल्ट रूप से, PentAGI सुरक्षा के लिए 127.0.0.1 (केवल लोकलहोस्ट) से बाइंड होता है। अपने नेटवर्क पर अन्य मशीनों से PentAGI तक पहुँचने के लिए, आपको बाहरी पहुँच कॉन्फ़िगर करनी होगी।
.env फ़ाइल अपडेट करें अपने सर्वर के IP पते के साथ:```bashPENTAGI_LISTEN_IP=0.0.0.0 PENTAGI_LISTEN_PORT=8443
PUBLIC_URL=https://192.168.1.100:8443
CORS_ORIGINS=https://localhost:8443,https://192.168.1.100:8443
> [!IMPORTANT]
> - `192.168.1.100` को अपने वास्तविक सर्वर के IP पते से बदलें
> - `PUBLIC_URL` या `CORS_ORIGINS` में `0.0.0.0` का उपयोग न करें - वास्तविक IP पते का उपयोग करें
> - लचीलेपन के लिए `CORS_ORIGINS` में localhost और अपने सर्वर IP दोनों शामिल करें
2. **कंटेनरों को पुनः बनाएं** परिवर्तनों को लागू करने के लिए:```bash
docker compose down
docker compose up -d --force-recreate
आपको `0.0.0.0:8443->8443/tcp` या `:::8443->8443/tcp` देखना चाहिए।
यदि आप `127.0.0.1:8443->8443/tcp` देखते हैं, तो पर्यावरण चर नहीं उठाया गया। इस मामले में, सीधे `docker-compose.yml` की पंक्ति 31 को संपादित करें:```yaml
ports:
- "0.0.0.0:8443:8443"
फिर कंटेनरों को फिर से बनाएं।
sudo ufw allow 8443/tcp sudo ufw reload
sudo firewall-cmd --permanent --add-port=8443/tcp sudo firewall-cmd --reload
5. **PentAGI तक पहुँच:**
- **स्थानीय पहुँच:** `https://localhost:8443`
- **नेटवर्क पहुँच:** `https://your-server-ip:8443`
> [!NOTE]
> आपको IP पते के माध्यम से पहुँचने पर अपने ब्राउज़र में स्व-हस्ताक्षरित SSL प्रमाणपत्र चेतावनी को स्वीकार करना होगा।
---
### Podman के साथ PentAGI चलाना
PentAGI Podman को Docker विकल्प के रूप में पूरी तरह से समर्थन करता है। हालाँकि, **रूटलेस मोड (rootless mode)** में Podman का उपयोग करते समय, स्क्रैपर सेवा (scraper service) को विशेष कॉन्फ़िगरेशन की आवश्यकता होती है क्योंकि रूटलेस कंटेनर विशेषाधिकार प्राप्त पोर्ट (1024 से नीचे के पोर्ट) को बाइंड नहीं कर सकते।
#### Podman रूटलेस कॉन्फ़िगरेशन
डिफ़ॉल्ट स्क्रैपर कॉन्फ़िगरेशन पोर्ट 443 (HTTPS) का उपयोग करता है, जो एक विशेषाधिकार प्राप्त पोर्ट है। Podman रूटलेस के लिए, एक गैर-विशेषाधिकार प्राप्त पोर्ट का उपयोग करने के लिए स्क्रैपर को पुन: कॉन्फ़िगर करें:
**1. `docker-compose.yml` संपादित करें** - `scraper` सेवा को संशोधित करें (लगभग पंक्ति 199 पर):```yaml
scraper:
image: vxcontrol/scraper:latest
restart: unless-stopped
container_name: scraper
hostname: scraper
expose:
- 3000/tcp # Changed from 443 to 3000
ports:
- "${SCRAPER_LISTEN_IP:-127.0.0.1}:${SCRAPER_LISTEN_PORT:-9443}:3000" # Map to port 3000
environment:
- MAX_CONCURRENT_SESSIONS=${LOCAL_SCRAPER_MAX_CONCURRENT_SESSIONS:-10}
- USERNAME=${LOCAL_SCRAPER_USERNAME:-someuser}
- PASSWORD=${LOCAL_SCRAPER_PASSWORD:-somepass}
logging:
options:
max-size: 50m
max-file: "7"
volumes:
- scraper-ssl:/usr/src/app/ssl
networks:
- pentagi-network
shm_size: 2g
2. .env फ़ाइल अपडेट करें - स्क्रैपर URL को HTTP और पोर्ट 3000 का उपयोग करने के लिए बदलें:```bash
SCRAPER_PRIVATE_URL=http://someuser:somepass@scraper:3000/ LOCAL_SCRAPER_USERNAME=someuser LOCAL_SCRAPER_PASSWORD=somepass
> [!IMPORTANT]
> Podman के लिए मुख्य बदलाव:
> - `SCRAPER_PRIVATE_URL` के लिए HTTPS के बजाय **HTTP** का उपयोग करें
> - 443 के बजाय पोर्ट **3000** का उपयोग करें
> - आंतरिक `expose` को `3000/tcp` में बदलें
> - पोर्ट मैपिंग को 443 के बजाय `3000` को लक्षित करने के लिए अपडेट करें
**3. कंटेनर पुनः बनाएं:**```bash
podman-compose down
podman-compose up -d --force-recreate
4. स्क्रैपर कनेक्टिविटी का परीक्षण करें:```bash
podman exec -it pentagi wget -O- "http://someuser:somepass@scraper:3000/html?url=http://example.com"
यदि आप HTML आउटपुट देखते हैं, तो स्क्रैपर सही ढंग से काम कर रहा है।
#### Podman Rootful Mode
यदि आप Podman को रूटफुल मोड (sudo के साथ) में चला रहे हैं, तो आप बिना संशोधनों के डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग कर सकते हैं। स्क्रैपर इच्छित अनुसार पोर्ट 443 पर काम करेगा।
#### Docker Compatibility
सभी Podman कॉन्फ़िगरेशन Docker के साथ पूरी तरह से संगत रहते हैं। गैर-विशेषाधिकार प्राप्त पोर्ट दृष्टिकोण दोनों कंटेनर रनटाइम पर समान रूप से काम करता है।
### Assistant Configuration
PentAGI आपको सहायकों के लिए डिफ़ॉल्ट व्यवहार कॉन्फ़िगर करने की अनुमति देता है:
| Variable | Default | विवरण |
| ---------------------- | ------- | ----------------------------------------------------------------------- |
| `ASSISTANT_USE_AGENTS` | `false` | नए सहायक बनाते समय एजेंट उपयोग के लिए डिफ़ॉल्ट मान को नियंत्रित करता है |
`ASSISTANT_USE_AGENTS` सेटिंग UI में नया सहायक बनाते समय 'Use Agents' टॉगल की प्रारंभिक स्थिति को प्रभावित करती है:
- `false` (डिफ़ॉल्ट): नए सहायक डिफ़ॉल्ट रूप से एजेंट प्रतिनिधिमंडल अक्षम के साथ बनाए जाते हैं
- `true`: नए सहायक डिफ़ॉल्ट रूप से एजेंट प्रतिनिधिमंडल सक्षम के साथ बनाए जाते हैं
ध्यान दें कि उपयोगकर्ता सहायक बनाते या संपादित करते समय UI में 'Use Agents' बटन को टॉगल करके इस सेटिंग को हमेशा ओवरराइड कर सकते हैं। यह पर्यावरण चर केवल प्रारंभिक डिफ़ॉल्ट स्थिति को नियंत्रित करता है।
## How to Use PentAGI After Login
एक बार स्टैक चालू हो जाने और आप वेब UI में साइन इन कर सकें, तो शुरू करने का सबसे तेज़ तरीका Flows वर्कफ़्लो के माध्यम से है।
### 1. Create your first flow
1. साइडबार में **Flows** खोलें।
2. **New Flow** पर क्लिक करें।
3. अपने लक्ष्य के अनुकूल मोड चुनें:
- **Automation**: एक परीक्षण लक्ष्य के लिए पूरी तरह से स्वायत्त निष्पादन जिसे आप PentAGI से एंड-टू-एंड करवाना चाहते हैं
- **Assistant**: जब आप जांच को कदम दर कदम संचालित करना चाहते हैं तो इंटरैक्टिव आगे-पीछे की मदद। इस मोड में आप **Use Agents** टॉगल को सक्षम कर सकते हैं ताकि PentAGI अधिक जटिल जांचों के लिए विशेष उप-एजेंटों को उप-कार्य सौंप सके।
4. इस फ़्लो के लिए आप जिस LLM प्रदाता का उपयोग करना चाहते हैं उसे चुनें।
5. संदेश बॉक्स में लक्ष्य और उद्देश्य को प्राकृतिक भाषा में वर्णित करें।
अच्छे पहले प्रॉम्प्ट में आमतौर पर शामिल होते हैं:
- लक्ष्य सिस्टम या URL
- आप जिस प्रकार का मूल्यांकन चाहते हैं
- कोई भी दायरा सीमाएं या संलग्नता नियम
- आप जिस परिणाम की अपेक्षा करते हैं, जैसे भेद्यता रिपोर्ट या परिकल्पना का सत्यापन
उदाहरण:```text
Assess https://target.example for common web application vulnerabilities. Focus on authentication, file handling, and injection issues. Stay within the provided target only and summarize confirmed findings with reproduction steps.
केवल उन सिस्टम्स का परीक्षण करें जिनके आप मालिक हैं या जिनके मूल्यांकन के लिए आपको स्पष्ट रूप से अधिकृत किया गया है। स्वीकार्य उपयोग आवश्यकताओं के लिए EULA.md देखें।
नए फ़्लो फ़ॉर्म में एक टेम्पलेट पिकर शामिल है, जो संदेश बॉक्स को एक सहेजे गए फ़्लो टेम्पलेट से पहले से भर सकता है। यह तब उपयोगी होता है जब आप समान मूल्यांकन बार-बार चलाते हैं।
examples/prompts/base_web_pentest.md में दिए गए उदाहरण प्रॉम्प्ट से शुरू करेंटेम्पलेट शुरुआती बिंदु हैं। PentAGI का उपयोग करने के लिए विशेष सिंटैक्स की आवश्यकता नहीं है: सादे प्राकृतिक भाषा के निर्देश तब तक अच्छी तरह से काम करते हैं जब तक लक्ष्य और उद्देश्य स्पष्ट हों।
फ़्लो सबमिट करने के बाद, PentAGI स्वचालित रूप से फ़्लो पेज खोलता है।
एक बार जब फ़्लो में पर्याप्त परिणाम आ जाएं, तो फ़्लो पेज पर Report मेनू का उपयोग करें:
प्रत्येक फ़्लो में इंटरैक्टिव मार्गदर्शन के लिए एक Assistant व्यू भी शामिल है। यह तब उपयोगी होता है जब स्वायत्त रन कुछ ऐसा सामने लाता है जिसके लिए हार्ड रीस्टार्ट के बजाय मानवीय दिशा की आवश्यकता होती है।
प्रत्येक फ़्लो के फ़्लो पेज पर अपना स्वयं का Files टैब होता है। फ़ाइलें मूल फ़्लो तक सीमित होती हैं: वे होस्ट पर {dataDir}/flow-{id}-data/ में रहती हैं और कभी भी अन्य फ़्लो में लीक नहीं होती हैं।
टैब फ़ाइलों के तीन स्रोतों को प्रदर्शित करता है:
uploads/): वे फ़ाइलें जो आप वेब UI से प्रदान करते हैं। Upload files क्रिया का उपयोग करें, या सीधे Files टैब पर ड्रैग और ड्रॉप करें। जब एजेंट कंटेनर चल रहा हो, तो अपलोड की गई फ़ाइलें /work/uploads/ पर कंटेनर में भी पुश की जाती हैं ताकि एजेंट सामान्य शेल टूल से उन्हें पढ़ सके।resources/): आपकी सहेजी गई उपयोगकर्ता संसाधन लाइब्रेरी से Attach resources from library के माध्य से जुड़ी फ़ाइलें। जुड़े हुए संसाधनों को फ़्लो में कॉपी किया जाता है और चल रहे कंटेनर में /work/resources/ पर पुश किया जाता है।container/): Pull file or directory from container के माध्य से चल रहे एजेंट कंटेनर से लिए गए स्नैपशॉट। ये फ़्लो पक्ष पर केवल-पढ़ने योग्य होते हैं और कंटेनर में वापस नहीं भेजे जाते हैं।Files टैब में प्रति-फ़ाइल क्रियाओं में Download, Copy path, Save as resource (एक फ़्लो फ़ाइल को आपकी पुन: उपयोग योग्य संसाधन लाइब्रेरी में प्रमोट करना), और Delete शामिल हैं। जब कंटेनर नहीं चल रहा होता है तो Pull क्रिया अक्षम होती है, जिसमें टूलटिप "Container is not running" दिखाई देती है।
अपलोड की गई फ़ाइलें और जुड़े हुए संसाधन स्वचालित रूप से {{.UserFiles}} टेम्पलेट वेरिएबल के माध्य से एजेंट के सिस्टम प्रॉम्प्ट में सूचीबद्ध होते हैं, जो एक संक्षिप्त <task_files> XML ब्लॉक (जिसमें नेस्टेड <uploads> और <resources> सेक्शन होते हैं) प्रस्तुत करता है, ताकि सहायक और ऑटोमेशन एजेंट उन्हें पथ द्वारा संदर्भित कर सकें, बिना आपको सामग्री को चैट में चिपकाने की आवश्यकता हो। कंटेनर स्नैपशॉट केवल UI में दिखाई देते हैं और प्रॉम्प्ट में वापस ऑटो-इंजेक्ट नहीं होते हैं।
जागरूक रहने योग्य वर्तमान सीमाएँ और बाधाएँ:
/work/uploads/ और /work/resources/ पर चल रहे कंटेनर में मिरर किए जाते हैं; अन्य कंटेनर पथों पर लिखी गई फ़ाइलें फ़्लो फ़ाइल मॉडल में वापस ऑटो-मिरर नहीं होती हैं। कंटेनर स्नैपशॉट किसी भी कंटेनर पथ से उत्पन्न हो सकते हैं जिसे आप खींचते हैं (उदाहरण के लिए /etc/...) और फ़्लो पक्ष पर container/ के अंतर्गत कैश किए जाते हैं; वे कंटेनर में वापस पुश नहीं किए जाते हैं।flow-{id}-data/ निर्देशिका को अभी तक संग्रहीत या हटाया नहीं जाता है। यदि वे स्थान पुनः प्राप्त करना चाहते हैं, तो ऑपरेटरों से अभी भी डेटा निर्देशिका को मैन्युअल रूप से साफ करने की अपेक्षा की जाती है।प्रारंभिक परीक्षण के लिए, एक संकीर्ण लक्ष्य और एक स्पष्ट उद्देश्य के साथ शुरुआत करें। इससे आउटपुट की समीक्षा करना आसान हो जाता है और बड़े मूल्यांकन चलाने से पहले आपको अपने प्रॉम्प्ट को परिष्कृत करने में मदद मिलती है।
PentAGI REST और GraphQL दोनों API के माध्यम से व्यापक प्रोग्रामेटिक एक्सेस प्रदान करता है, जिससे आप पैठ परीक्षण वर्कफ़्लो को अपने ऑटोमेशन पाइपलाइनों, CI/CD प्रक्रियाओं और कस्टम एप्लिकेशन में एकीकृत कर सकते हैं।
API टोकन PentAGI वेब इंटरफ़ेस के माध्यम से प्रबंधित किए जाते हैं:
प्रत्येक टोकन आपके उपयोगकर्ता खाते से जुड़ा होता है और आपकी भूमिका की अनुमतियों को प्राप्त करता है।
अपने HTTP अनुरोधों के Authorization हैडर में API टोकन शामिल करें:```bash
curl -X POST https://your-pentagi-instance:8443/api/v1/graphql
-H "Authorization: Bearer YOUR_API_TOKEN"
-H "Content-Type: application/json"
-d '{"query": "{ flows { id title status } }"}'
curl https://your-pentagi-instance:8443/api/v1/flows
-H "Authorization: Bearer YOUR_API_TOKEN"
### एपीआई अन्वेषण और परीक्षण
PentAGI एपीआई एंडपॉइंट्स का अन्वेषण और परीक्षण करने के लिए इंटरैक्टिव दस्तावेज़ प्रदान करता है:
#### GraphQL प्लेग्राउंड
`https://your-pentagi-instance:8443/api/v1/graphql/playground` पर GraphQL प्लेग्राउंड तक पहुंचें
1. नीचे **HTTP Headers** टैब पर क्लिक करें
2. अपना प्राधिकरण हेडर जोड़ें: ```json
{
"Authorization": "Bearer YOUR_API_TOKEN"
}
REST API दस्तावेज़ीकरण तक पहुँचें: https://your-pentagi-instance:8443/api/v1/swagger/index.html
Bearer YOUR_API_TOKENआप PentAGI के साथ शामिल स्कीमा फ़ाइलों का उपयोग करके अपनी पसंदीदा प्रोग्रामिंग भाषा के लिए टाइप-सेफ़ API क्लाइंट जनरेट कर सकते हैं:
GraphQL स्कीमा यहाँ उपलब्ध है:
schema.graphs डाउनलोड करने के लिए सेटिंग्स पर जाएँbackend/pkg/graph/schema.graphqlsइस तरह के टूल का उपयोग करके क्लाइंट जनरेट करें:
OpenAPI विनिर्देश यहाँ उपलब्ध है:
https://your-pentagi-instance:8443/api/v1/swagger/doc.jsonbackend/pkg/server/docs/swagger.yaml में उपलब्ध हैइसका उपयोग करके क्लाइंट जनरेट करें:
class PentAGIClient: def init(self, base_url, api_token): self.base_url = base_url self.headers = { "Authorization": f"Bearer {api_token}", "Content-Type": "application/json" }
def create_flow(self, provider, target):
query = """
mutation CreateFlow($provider: String!, $input: String!) {
createFlow(modelProvider: $provider, input: $input) {
id
title
status
}
}
"""
response = requests.post(
f"{self.base_url}/api/v1/graphql",
json={
"query": query,
"variables": {
"provider": provider,
"input": target
}
},
headers=self.headers
)
return response.json()
def get_flows(self):
response = requests.get(
f"{self.base_url}/api/v1/flows",
headers=self.headers
)
return response.json()
client = PentAGIClient( "https://your-pentagi-instance:8443", "your_api_token_here" )
flow = client.create_flow("openai", "Scan https://example.com for vulnerabilities") print(f"Created flow: {flow}")
flows = client.get_flows() print(f"Total flows: {len(flows['flows'])}")
</details>
<details>
<summary><b>TypeScript क्लाइंट उदाहरण</b></summary>```typescript
import axios, { AxiosInstance } from 'axios';
interface Flow {
id: string;
title: string;
status: string;
createdAt: string;
}
class PentAGIClient {
private client: AxiosInstance;
constructor(baseURL: string, apiToken: string) {
this.client = axios.create({
baseURL: `${baseURL}/api/v1`,
headers: {
'Authorization': `Bearer ${apiToken}`,
'Content-Type': 'application/json',
},
});
}
async createFlow(provider: string, input: string): Promise<Flow> {
const query = `
mutation CreateFlow($provider: String!, $input: String!) {
createFlow(modelProvider: $provider, input: $input) {
id
title
status
createdAt
}
}
`;
const response = await this.client.post('/graphql', {
query,
variables: { provider, input },
});
return response.data.data.createFlow;
}
async getFlows(): Promise<Flow[]> {
const response = await this.client.get('/flows');
return response.data.flows;
}
async getFlow(flowId: string): Promise<Flow> {
const response = await this.client.get(`/flows/${flowId}`);
return response.data;
}
}
// Usage
const client = new PentAGIClient(
'https://your-pentagi-instance:8443',
'your_api_token_here'
);
// Create a new flow
const flow = await client.createFlow(
'openai',
'Perform penetration test on https://example.com'
);
console.log('Created flow:', flow);
// List all flows
const flows = await client.getFlows();
console.log(`Total flows: ${flows.length}`);
API टोकन के साथ काम करते समय:
टोकन सूची दिखाती है:
LLM_SERVER_* चर के साथ कस्टम LLM प्रदाताओं का उपयोग करते समय, आप अनुरोधों में उपयोग किए जाने वाले रीज़निंग प्रारूप को ठीक कर सकते हैं।
[!TIP] उत्पादन-ग्रेड स्थानीय परिनियोजन के लिए, इष्टतम प्रदर्शन के लिए vLLM और Qwen3.5-27B-FP8 का उपयोग करने पर विचार करें। हमारा व्यापक परिनियोजन गाइड देखें, जिसमें हार्डवेयर आवश्यकताएँ, कॉन्फ़िगरेशन टेम्पलेट (थिंकिंग मोड और नॉन-थिंकिंग मोड), और 4× RTX 5090 GPUs पर 13K TPS प्रॉम्प्ट प्रोसेसिंग दिखाने वाले प्रदर्शन बेंचमार्क शामिल हैं।
| चर | डिफ़ॉल्ट | विवरण |
|---|---|---|
LLM_SERVER_URL | कस्टम LLM API एंडपॉइंट के लिए बेस URL | |
LLM_SERVER_KEY | कस्टम LLM प्रदाता के लिए API कुंजी | |
LLM_SERVER_MODEL | उपयोग करने के लिए डिफ़ॉल्ट मॉडल (प्रदाता कॉन्फ़िग में ओवरराइड किया जा सकता है) | |
LLM_SERVER_CONFIG_PATH | एजेंट-विशिष्ट मॉडल के लिए YAML कॉन्फ़िगरेशन फ़ाइल का पथ | |
LLM_SERVER_PROVIDER | मॉडल नामों के लिए प्रदाता नाम उपसर्ग (जैसे, LiteLLM प्रॉक्सी के लिए openrouter, deepseek) | |
LLM_SERVER_LEGACY_REASONING | false | API अनुरोधों में रीज़निंग प्रारूप को नियंत्रित करता है |
LLM_SERVER_PRESERVE_REASONING | false | बहु-चरणीय वार्तालापों में रीज़निंग सामग्री को संरक्षित करता है (कुछ प्रदाताओं द्वारा आवश्यक) |
LLM_SERVER_PROVIDER सेटिंग विशेष रूप से तब उपयोगी होती है जब LiteLLM प्रॉक्सी का उपयोग किया जाता है, जो मॉडल नामों में प्रदाता उपसर्ग जोड़ता है। उदाहरण के लिए, LiteLLM के माध्यम से Moonshot API से कनेक्ट करते समय, kimi-2.5 जैसे मॉडल moonshot/kimi-2.5 बन जाते हैं। LLM_SERVER_PROVIDER=moonshot सेट करके, आप बिना संशोधन के प्रत्यक्ष API पहुँच और LiteLLM प्रॉक्सी पहुँच दोनों के लिए समान प्रदाता कॉन्फ़िगरेशन फ़ाइल का उपयोग कर सकते हैं।
LLM_SERVER_LEGACY_REASONING सेटिंग प्रभावित करती है कि LLM को रीज़निंग पैरामीटर कैसे भेजे जाते हैं:
false (डिफ़ॉल्ट): आधुनिक प्रारूप का उपयोग करता है जहाँ रीज़निंग को max_tokens पैरामीटर के साथ एक संरचित ऑब्जेक्ट के रूप में भेजा जाता हैtrue: स्ट्रिंग-आधारित reasoning_effort पैरामीटर के साथ विरासत प्रारूप का उपयोग करता हैयह सेटिंग महत्वपूर्ण है जब विभिन्न LLM प्रदाताओं के साथ काम किया जाता है क्योंकि वे अपने API अनुरोधों में भिन्न रीज़निंग प्रारूप की अपेक्षा कर सकते हैं। यदि आपको कस्टम प्रदाताओं के साथ रीज़निंग-संबंधित त्रुटियाँ आती हैं, तो इस सेटिंग को बदलने का प्रयास करें।
LLM_SERVER_PRESERVE_REASONING सेटिंग नियंत्रित करती है कि बहु-चरणीय वार्तालापों में रीज़निंग सामग्री संरक्षित है या नहीं:
false (डिफ़ॉल्ट): वार्तालाप इतिहास में रीज़निंग सामग्री संरक्षित नहीं की जाती हैtrue: रीज़निंग सामग्री संरक्षित की जाती है और बाद के API कॉल में भेजी जाती हैयह सेटिंग कुछ LLM प्रदाताओं (जैसे, Moonshot) द्वारा आवश्यक है, जो त्रुटियाँ लौटाते हैं जैसे "thinking is enabled but reasoning_content is missing in assistant tool call message" जब बहु-चरणीय वार्तालापों में रीज़निंग सामग्री शामिल नहीं की जाती है। यदि आपके प्रदाता को रीज़निंग सामग्री को संरक्षित करने की आवश्यकता है, तो इस सेटिंग को सक्षम करें।
PentAGI स्थानीय LLM अनुमान (शून्य-लागत, बढ़ी हुई गोपनीयता) और Ollama Cloud (मुफ़्त स्तर के साथ प्रबंधित सेवा) दोनों के लिए Ollama का समर्थन करता है।
| चर | डिफ़ॉल्ट | विवरण |
|---|---|---|
OLLAMA_SERVER_URL | आपके Ollama सर्वर या Ollama Cloud का URL | |
OLLAMA_SERVER_API_KEY | Ollama Cloud प्रमाणीकरण के लिए API कुंजी | |
OLLAMA_SERVER_MODEL | अनुमान के लिए डिफ़ॉल्ट मॉडल | |
OLLAMA_SERVER_CONFIG_PATH | कस्टम एजेंट कॉन्फ़िगरेशन फ़ाइल का पथ | |
OLLAMA_SERVER_PULL_MODELS_TIMEOUT | 600 | मॉडल डाउनलोड के लिए टाइमआउट (सेकंड) |
OLLAMA_SERVER_PULL_MODELS_ENABLED | false | स्टार्टअप पर मॉडल ऑटो-डाउनलोड करें |
OLLAMA_SERVER_LOAD_MODELS_ENABLED | false | उपलब्ध मॉडल के लिए सर्वर से पूछताछ करें |
Ollama Cloud एक उदार मुफ़्त स्तर और स्केलेबल सशुल्क योजनाओं के साथ प्रबंधित अनुमान प्रदान करता है।
मुफ़्त स्तर सेटअप (एकल मॉडल)```bash
OLLAMA_SERVER_URL=https://ollama.com OLLAMA_SERVER_API_KEY=your_ollama_cloud_api_key OLLAMA_SERVER_MODEL=gpt-oss:120b # Example: OpenAI OSS 120B model
**सशुल्क स्तर सेटअप (पूर्व-निर्मित विन्यास के साथ मल्टी-मॉडल)**
सशुल्क स्तरों के लिए जो एकाधिक समवर्ती मॉडल का समर्थन करते हैं, पूर्व-निर्मित Ollama Cloud विन्यास का उपयोग करें:```bash
# Using pre-built Ollama Cloud configuration (included in Docker image)
OLLAMA_SERVER_URL=https://ollama.com
OLLAMA_SERVER_API_KEY=your_ollama_cloud_api_key
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-cloud.provider.yml
पूर्व-निर्मित ollama-cloud.provider.yml कॉन्फ़िगरेशन में सभी एजेंट प्रकारों के लिए अनुकूलित मॉडल असाइनमेंट शामिल हैं:
nemotron-3-super:cloud - तेज़ सामान्य-उद्देश्य मॉडलqwen3-coder-next:cloud - उच्च प्रयास मोड के साथ उन्नत तर्कqwen3-coder-next:cloud - विशिष्ट कोडिंग मॉडलqwen3.5:397b-cloud - सूचना संग्रह के लिए बड़ा संदर्भglm-5:cloud - उच्च-गुणवत्ता वाला टेक्स्ट रिफाइनमेंटminimax-m2.7:cloud - कुशल सलाहकार कार्यdevstral-2:123b-cloud - स्थापना और सेटअप कार्यकस्टम कॉन्फ़िगरेशन (उन्नत)
अपना स्वयं का एजेंट कॉन्फ़िगरेशन बनाने के लिए, अपने होस्ट फ़ाइलसिस्टम से एक कस्टम फ़ाइल माउंट करें:```bash
OLLAMA_SERVER_URL=https://ollama.com OLLAMA_SERVER_API_KEY=your_ollama_cloud_api_key OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama.provider.yml
PENTAGI_OLLAMA_SERVER_CONFIG_PATH=/path/on/host/my-ollama-config.yml
`PENTAGI_OLLAMA_SERVER_CONFIG_PATH` पर्यावरण चर आपके होस्ट कॉन्फ़िगरेशन फ़ाइल को कंटेनर के अंदर `/opt/pentagi/conf/ollama.provider.yml` पर मैप करता है।
**उदाहरण कस्टम कॉन्फ़िगरेशन** (`my-ollama-config.yml`):```yaml
primary_agent:
model: "qwen3-coder-next:cloud"
temperature: 1.0
top_p: 0.9
max_tokens: 32768
reasoning:
effort: high
coder:
model: "qwen3-coder:32b"
temperature: 1.0
max_tokens: 20480
स्वयं-होस्टेड Ollama इंस्टेंस के लिए:```bash
OLLAMA_SERVER_URL=http://localhost:11434 OLLAMA_SERVER_MODEL=llama3.1:8b-instruct-q8_0
OLLAMA_SERVER_URL=http://ollama-server:11434 OLLAMA_SERVER_PULL_MODELS_ENABLED=true OLLAMA_SERVER_PULL_MODELS_TIMEOUT=900 OLLAMA_SERVER_LOAD_MODELS_ENABLED=true
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-llama318b.provider.yml
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-qwen332b-fp16-tc.provider.yml
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-qwq32b-fp16-tc.provider.yml
**प्रदर्शन संबंधी विचार:**
- **मॉडल खोज** (`OLLAMA_SERVER_LOAD_MODELS_ENABLED=true`): Ollama API को क्वेरी करने में 1-2 सेकंड का स्टार्टअप विलंब जोड़ता है।
- **ऑटो-पुल** (`OLLAMA_SERVER_PULL_MODELS_ENABLED=true`): पहले स्टार्टअप में मॉडल डाउनलोड करने में कई मिनट लग सकते हैं।
- **पुल टाइमआउट** (`OLLAMA_SERVER_PULL_MODELS_TIMEOUT=900`): सेकंड में 15 मिनट (900 सेकंड)।
- **स्टैटिक कॉन्फ़िग**: सबसे तेज़ स्टार्टअप के लिए दोनों फ़्लैग को अक्षम करें और कॉन्फ़िग फ़ाइल में मॉडल निर्दिष्ट करें।
#### विस्तारित संदर्भ के साथ कस्टम ओलामा मॉडल बनाना
PentAGI को डिफ़ॉल्ट Ollama कॉन्फ़िगरेशन की तुलना में बड़ी संदर्भ विंडो वाले मॉडल की आवश्यकता होती है। आपको Modelfiles के माध्यम से बढ़े हुए `num_ctx` पैरामीटर के साथ कस्टम मॉडल बनाने की आवश्यकता है। जबकि विशिष्ट एजेंट वर्कफ़्लो लगभग 64K टोकन का उपभोग करते हैं, PentAGI सुरक्षा मार्जिन और जटिल पैठ परीक्षण परिदृश्यों को संभालने के लिए 110K संदर्भ आकार का उपयोग करता है।
**महत्वपूर्ण**: `num_ctx` पैरामीटर केवल Modelfile के माध्यम से मॉडल निर्माण के दौरान सेट किया जा सकता है - इसे मॉडल निर्माण के बाद बदला नहीं जा सकता या रनटाइम पर ओवरराइड नहीं किया जा सकता।
##### उदाहरण: विस्तारित संदर्भ के साथ Qwen3 32B FP16
`Modelfile_qwen3_32b_fp16_tc` नामक एक Modelfile बनाएं:```dockerfile
FROM qwen3:32b-fp16
PARAMETER num_ctx 110000
PARAMETER temperature 0.3
PARAMETER top_p 0.8
PARAMETER min_p 0.0
PARAMETER top_k 20
PARAMETER repeat_penalty 1.1
कस्टम मॉडल बनाएँ:```bash ollama create qwen3:32b-fp16-tc -f Modelfile_qwen3_32b_fp16_tc
##### उदाहरण: QwQ 32B FP16 with Extended Context
नामक एक Modelfile बनाएँ `Modelfile_qwq_32b_fp16_tc`:```dockerfile
FROM qwq:32b-fp16
PARAMETER num_ctx 110000
PARAMETER temperature 0.2
PARAMETER top_p 0.7
PARAMETER min_p 0.0
PARAMETER top_k 40
PARAMETER repeat_penalty 1.2
कस्टम मॉडल बनाएँ:```bash ollama create qwq:32b-fp16-tc -f Modelfile_qwq_32b_fp16_tc
> **नोट**: QwQ 32B FP16 मॉडल को अनुमान के लिए लगभग **71.3 GB VRAM** की आवश्यकता होती है। इस मॉडल का उपयोग करने का प्रयास करने से पहले सुनिश्चित करें कि आपके सिस्टम में पर्याप्त GPU मेमोरी है।
ये कस्टम मॉडल पूर्व-निर्मित प्रदाता कॉन्फ़िगरेशन फ़ाइलों (`ollama-qwen332b-fp16-tc.provider.yml` और `ollama-qwq32b-fp16-tc.provider.yml`) में संदर्भित हैं जो Docker इमेज में `/opt/pentagi/conf/` पर शामिल हैं।
### OpenAI प्रदाता कॉन्फ़िगरेशन
PentAGI, OpenAI के व्यापक मॉडल लाइनअप के साथ एकीकृत होता है, जिसमें विस्तारित chain-of-thought के साथ उन्नत तर्क क्षमताएं, बेहतर उपकरण एकीकरण वाले agentic मॉडल, और सुरक्षा इंजीनियरिंग के लिए विशेषीकृत कोड मॉडल शामिल हैं।
#### कॉन्फ़िगरेशन वेरिएबल
| Variable | Default | विवरण |
| -------------------- | --------------------------- | --------------------------- |
| `OPEN_AI_KEY` | | OpenAI सेवाओं के लिए API कुंजी |
| `OPEN_AI_SERVER_URL` | `https://api.openai.com/v1` | OpenAI API एंडपॉइंट |
#### कॉन्फ़िगरेशन उदाहरण```bash
# Basic OpenAI setup
OPEN_AI_KEY=your_openai_api_key
OPEN_AI_SERVER_URL=https://api.openai.com/v1
# Using with proxy for enhanced security
OPEN_AI_KEY=your_openai_api_key
PROXY_URL=http://your-proxy:8080
PentAGI 31 OpenAI मॉडल्स को सपोर्ट करता है जिनमें टूल कॉलिंग, स्ट्रीमिंग, तर्क मोड और प्रॉम्प्ट कैशिंग शामिल हैं। * से चिह्नित मॉडल डिफ़ॉल्ट कॉन्फ़िगरेशन में उपयोग किए जाते हैं।
GPT-5.2 सीरीज़ - नवीनतम फ्लैगशिप एजेंटिक (दिसंबर 2025)
| मॉडल आईडी | सोच | मूल्य (इनपुट/आउटपुट/कैश) | उपयोग मामला |
|---|---|---|---|
gpt-5.2* | ✅ | $1.75/$14.00/$0.18 | उन्नत तर्क और टूल एकीकरण के साथ नवीनतम फ्लैगशिप, स्वायत्त सुरक्षा अनुसंधान |
gpt-5.2-pro | ✅ | $21.00/$168.00/$0.00 | बेहतर एजेंटिक कोडिंग, मिशन-क्रिटिकल सुरक्षा अनुसंधान, जीरो-डे खोज के साथ प्रीमियम संस्करण |
gpt-5.2-codex | ✅ | $1.75/$14.00/$0.18 | सबसे उन्नत कोड-विशेषज्ञ, संदर्भ संघनन, मजबूत साइबर सुरक्षा क्षमताएँ |
GPT-5/5.1 सीरीज़ - उन्नत एजेंटिक मॉडल
| मॉडल आईडी | सोच | मूल्य (इनपुट/आउटपुट/कैश) | उपयोग मामला |
|---|---|---|---|
gpt-5 | ✅ | $1.25/$10.00/$0.13 | उन्नत तर्क के साथ प्रमुख एजेंटिक, स्वायत्त सुरक्षा अनुसंधान, एक्सप्लॉइट चेन विकास |
gpt-5.1 | ✅ | $1.25/$10.00/$0.13 | अनुकूली तर्क के साथ उन्नत एजेंटिक, मजबूत टूल समन्वय के साथ संतुलित पेनिट्रेशन टेस्टिंग |
gpt-5-pro | ✅ | $15.00/$120.00/$0.00 | प्रमुख तर्क सुधार, कम भ्रम, महत्वपूर्ण सुरक्षा संचालन के साथ प्रीमियम संस्करण |
gpt-5-mini | ✅ | $0.25/$2.00/$0.03 | गति और बुद्धिमत्ता को संतुलित करने वाला कुशल, स्वचालित भेद्यता विश्लेषण, एक्सप्लॉइट निर्माण |
gpt-5-nano | ✅ | $0.05/$0.40/$0.01 | उच्च-थ्रूपुट स्कैनिंग, टोही, बल्क भेद्यता पता लगाने के लिए सबसे तेज़ |
GPT-5/5.1 Codex सीरीज़ - कोड-विशेषज्ञ
| मॉडल आईडी | सोच | मूल्य (इनपुट/आउटपुट/कैश) | उपयोग मामला |
|---|---|---|---|
gpt-5.1-codex-max | ✅ | $1.25/$10.00/$0.13 | परिष्कृत कोडिंग के लिए उन्नत तर्क, सिद्ध CVE खोज, व्यवस्थित एक्सप्लॉइट विकास |
gpt-5.1-codex | ✅ | $1.25/$10.00/$0.13 | मजबूत तर्क के साथ मानक कोड-अनुकूलित, एक्सप्लॉइट निर्माण, भेद्यता विश्लेषण |
gpt-5-codex | ✅ | $1.25/$10.00/$0.13 | बुनियादी कोड-विशेषज्ञ, भेद्यता स्कैनिंग, बुनियादी एक्सप्लॉइट निर्माण |
---
[Read more](https://github.com/vxcontrol/pentagi)