Como Usar Modelos Personalizados no Cursor
Este guia explica como integrar e usar modelos de IA personalizados no Cursor, permitindo que você aproveite diferentes capacidades de IA para seu fluxo de trabalho de desenvolvimento.
Tipos de Modelos Suportados
O Cursor suporta várias integrações de modelos de IA:
-
Modelos Compatíveis com OpenAI
- Anthropic Claude
- DeepSeek
- Mistral
- LLMs Locais
-
Endpoints de API Personalizados
- Modelos auto-hospedados
- Serviços de API em nuvem
- Implementações personalizadas
Configuração Básica
Configurando Modelos Personalizados
- Abra as Configurações do Cursor
- Navegue até a seção Modelos de IA
- Adicione uma nova configuração de modelo:
{
"models": {
"custom-model": {
"name": "Nome do Seu Modelo",
"apiKey": "sua-chave-api",
"baseUrl": "https://api.seu-endpoint-modelo.com/v1",
"contextLength": 8192,
"temperature": 0.7
}
}
}
Parâmetros de Configuração
Parâmetro | Descrição | Padrão |
---|---|---|
name | Nome de exibição do modelo | Obrigatório |
apiKey | Chave de autenticação da API | Obrigatório |
baseUrl | URL do endpoint da API | Obrigatório |
contextLength | Janela máxima de contexto | 4096 |
temperature | Aleatoriedade da resposta | 0.7 |
Integração de Modelos
Modelos Compatíveis com OpenAI
{
"models": {
"custom-gpt": {
"name": "GPT Personalizado",
"apiKey": "${OPENAI_API_KEY}",
"baseUrl": "https://api.openai.com/v1",
"model": "gpt-4",
"contextLength": 8192
}
}
}
Configuração do Anthropic Claude
{
"models": {
"claude": {
"name": "Claude",
"apiKey": "${ANTHROPIC_API_KEY}",
"baseUrl": "https://api.anthropic.com/v1",
"model": "claude-2",
"contextLength": 100000
}
}
}
Configuração de Modelo Local
{
"models": {
"local-llm": {
"name": "LLM Local",
"baseUrl": "http://localhost:8000",
"contextLength": 4096,
"useDocker": true
}
}
}
Configurações Avançadas
Comportamento do Modelo
Configure o comportamento do modelo:
{
"models": {
"custom-model": {
"settings": {
"temperature": 0.7,
"topP": 0.9,
"frequencyPenalty": 0.0,
"presencePenalty": 0.0,
"stopSequences": ["```", "###"]
}
}
}
}
Formatação de Resposta
{
"models": {
"custom-model": {
"formatting": {
"trimWhitespace": true,
"removeNewlines": false,
"maxTokens": 1000
}
}
}
}
Recursos Específicos do Modelo
Completação de Código
{
"models": {
"code-model": {
"features": {
"codeCompletion": true,
"contextAware": true,
"multiFile": true
}
}
}
}
Capacidades de Chat
{
"models": {
"chat-model": {
"features": {
"chat": true,
"systemPrompts": true,
"streaming": true
}
}
}
}
Otimização de Desempenho
Configurações de Cache
{
"models": {
"custom-model": {
"cache": {
"enabled": true,
"maxSize": "1GB",
"ttl": 3600
}
}
}
}
Limitação de Taxa
{
"models": {
"custom-model": {
"rateLimit": {
"requestsPerMinute": 60,
"tokensPerMinute": 90000,
"concurrent": 5
}
}
}
}
Solução de Problemas
Problemas Comuns
-
Problemas de Conexão
- Verificar endpoint da API
- Verificar conectividade de rede
- Validar chave da API
-
Erros de Resposta
- Verificar compatibilidade do modelo
- Verificar formato da requisição
- Revisar mensagens de erro
-
Problemas de Desempenho
- Otimizar comprimento do contexto
- Ajustar configurações de cache
- Monitorar limites de taxa
Melhores Práticas
Segurança
-
Gerenciamento de Chaves API
- Usar variáveis de ambiente
- Rotacionar chaves regularmente
- Implementar controles de acesso
-
Validação de Requisições
- Sanitizar entradas
- Validar respostas
- Tratar erros graciosamente
Desempenho
-
Otimização de Contexto
- Minimizar tamanho do contexto
- Priorizar informações relevantes
- Usar cache eficientemente
-
Gerenciamento de Recursos
- Limitar requisições paralelas
- Monitorar uso de memória
- Otimizar tempos de resposta