You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
173 lines
5.1 KiB
173 lines
5.1 KiB
# Llama4 Model Integration
|
|
|
|
!!! info "Prerequisites"
|
|
- Python 3.8 or higher
|
|
- `swarms` library installed
|
|
- Access to Llama4 model
|
|
- Valid environment variables configured
|
|
|
|
## Quick Start
|
|
|
|
Here's a simple example of integrating Llama4 model for crypto risk analysis:
|
|
|
|
```python
|
|
from dotenv import load_dotenv
|
|
from swarms import Agent
|
|
from swarms.utils.vllm_wrapper import VLLM
|
|
|
|
load_dotenv()
|
|
model = VLLM(model_name="meta-llama/Llama-4-Maverick-17B-128E")
|
|
```
|
|
|
|
## Available Models
|
|
|
|
| Model Name | Description | Type |
|
|
|------------|-------------|------|
|
|
| meta-llama/Llama-4-Maverick-17B-128E | Base model with 128 experts | Base |
|
|
| meta-llama/Llama-4-Maverick-17B-128E-Instruct | Instruction-tuned version with 128 experts | Instruct |
|
|
| meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8 | FP8 quantized instruction model | Instruct (Optimized) |
|
|
| meta-llama/Llama-4-Scout-17B-16E | Base model with 16 experts | Base |
|
|
| meta-llama/Llama-4-Scout-17B-16E-Instruct | Instruction-tuned version with 16 experts | Instruct |
|
|
|
|
!!! tip "Model Selection"
|
|
- Choose Instruct models for better performance on instruction-following tasks
|
|
- FP8 models offer better memory efficiency with minimal performance impact
|
|
- Scout models (16E) are lighter but still powerful
|
|
- Maverick models (128E) offer maximum performance but require more resources
|
|
|
|
## Detailed Implementation
|
|
|
|
### 1. Define Custom System Prompt
|
|
|
|
```python
|
|
CRYPTO_RISK_ANALYSIS_PROMPT = """
|
|
You are a cryptocurrency risk analysis expert. Your role is to:
|
|
|
|
1. Analyze market risks:
|
|
- Volatility assessment
|
|
- Market sentiment analysis
|
|
- Trading volume patterns
|
|
- Price trend evaluation
|
|
|
|
2. Evaluate technical risks:
|
|
- Network security
|
|
- Protocol vulnerabilities
|
|
- Smart contract risks
|
|
- Technical scalability
|
|
|
|
3. Consider regulatory risks:
|
|
- Current regulations
|
|
- Potential regulatory changes
|
|
- Compliance requirements
|
|
- Geographic restrictions
|
|
|
|
4. Assess fundamental risks:
|
|
- Team background
|
|
- Project development status
|
|
- Competition analysis
|
|
- Use case viability
|
|
|
|
Provide detailed, balanced analysis with both risks and potential mitigations.
|
|
Base your analysis on established crypto market principles and current market conditions.
|
|
"""
|
|
```
|
|
|
|
### 2. Initialize Agent
|
|
|
|
```python
|
|
agent = Agent(
|
|
agent_name="Crypto-Risk-Analysis-Agent",
|
|
agent_description="Agent for analyzing risks in cryptocurrency investments",
|
|
system_prompt=CRYPTO_RISK_ANALYSIS_PROMPT,
|
|
max_loops=1,
|
|
llm=model,
|
|
)
|
|
```
|
|
|
|
## Full Code
|
|
|
|
```python
|
|
from dotenv import load_dotenv
|
|
|
|
from swarms import Agent
|
|
from swarms.utils.vllm_wrapper import VLLM
|
|
|
|
load_dotenv()
|
|
|
|
# Define custom system prompt for crypto risk analysis
|
|
CRYPTO_RISK_ANALYSIS_PROMPT = """
|
|
You are a cryptocurrency risk analysis expert. Your role is to:
|
|
|
|
1. Analyze market risks:
|
|
- Volatility assessment
|
|
- Market sentiment analysis
|
|
- Trading volume patterns
|
|
- Price trend evaluation
|
|
|
|
2. Evaluate technical risks:
|
|
- Network security
|
|
- Protocol vulnerabilities
|
|
- Smart contract risks
|
|
- Technical scalability
|
|
|
|
3. Consider regulatory risks:
|
|
- Current regulations
|
|
- Potential regulatory changes
|
|
- Compliance requirements
|
|
- Geographic restrictions
|
|
|
|
4. Assess fundamental risks:
|
|
- Team background
|
|
- Project development status
|
|
- Competition analysis
|
|
- Use case viability
|
|
|
|
Provide detailed, balanced analysis with both risks and potential mitigations.
|
|
Base your analysis on established crypto market principles and current market conditions.
|
|
"""
|
|
|
|
model = VLLM(model_name="meta-llama/Llama-4-Maverick-17B-128E")
|
|
|
|
# Initialize the agent with custom prompt
|
|
agent = Agent(
|
|
agent_name="Crypto-Risk-Analysis-Agent",
|
|
agent_description="Agent for analyzing risks in cryptocurrency investments",
|
|
system_prompt=CRYPTO_RISK_ANALYSIS_PROMPT,
|
|
max_loops=1,
|
|
llm=model,
|
|
)
|
|
|
|
print(
|
|
agent.run(
|
|
"Conduct a risk analysis of the top cryptocurrencies. Think for 2 loops internally"
|
|
)
|
|
)
|
|
```
|
|
|
|
!!! warning "Resource Usage"
|
|
The Llama4 model requires significant computational resources. Ensure your system meets the minimum requirements.
|
|
|
|
## FAQ
|
|
|
|
??? question "What is the purpose of max_loops parameter?"
|
|
The `max_loops` parameter determines how many times the agent will iterate through its thinking process. In this example, it's set to 1 for a single pass analysis.
|
|
|
|
??? question "Can I use a different model?"
|
|
Yes, you can replace the VLLM wrapper with other compatible models. Just ensure you update the model initialization accordingly.
|
|
|
|
??? question "How do I customize the system prompt?"
|
|
You can modify the `CRYPTO_RISK_ANALYSIS_PROMPT` string to match your specific use case while maintaining the structured format.
|
|
|
|
!!! note "Best Practices"
|
|
- Always handle API errors gracefully
|
|
- Monitor model performance and resource usage
|
|
- Keep your prompts clear and specific
|
|
- Test thoroughly before production deployment
|
|
|
|
!!! example "Sample Usage"
|
|
```python
|
|
response = agent.run(
|
|
"Conduct a risk analysis of the top cryptocurrencies. Think for 2 loops internally"
|
|
)
|
|
print(response)
|
|
``` |