-
Notifications
You must be signed in to change notification settings - Fork 3.2k
/
example-config.json
89 lines (89 loc) · 2.84 KB
/
example-config.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
{
// Configuration for the LLM providers that can be used. Pythagora supports
// OpenAI, Azure, Anthropic and Groq. OpenRouter and local LLMs (such as LM-Studio)
// also work, you can use "openai" provider to define these.
"llm": {
"openai": {
// Base url to the provider/server, omitting the trailing "chat/completions" part.
"base_url": null,
"api_key": null,
"connect_timeout": 60.0,
"read_timeout": 20.0
},
// Example config for Anthropic (see https://docs.anthropic.com/docs/api-reference)
"anthropic": {
"base_url": "https://api.anthropic.com",
"api_key": "your-api-key",
"connect_timeout": 60.0,
"read_timeout": 20.0
},
// Example config for Azure OpenAI (see https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions)
"azure": {
"base_url": "https://your-resource-name.openai.azure.com/",
"api_key": "your-api-key",
"connect_timeout": 60.0,
"read_timeout": 20.0,
"extra": {
"azure_deployment": "your-azure-deployment-id",
"api_version": "2024-02-01"
}
}
},
// Each agent can use a different model or configuration. The default, as before, is GPT4 Turbo
// for most tasks and GPT3.5 Turbo to generate file descriptions. The agent name here should match
// the Python class name.
"agent": {
"default": {
"provider": "openai",
"model": "gpt-4o-2024-05-13",
"temperature": 0.5
}
},
// Logging configuration outputs debug log to "pythagora.log" by default. If you set this to null,
// the log will be sent to stdout.
"log": {
"level": "DEBUG",
"format": "%(asctime)s %(levelname)s [%(name)s] %(message)s",
"output": "pythagora.log"
},
// Database to use. Pythagora uses asyncio so asyncio-compatible database engine should be specified.
// If "debug_sql" is set to True, all SQL queries will be logged.
"db": {
"url": "sqlite+aiosqlite:///pythagora.db",
"debug_sql": false
},
"ui": {
"type": "plain"
},
"fs": {
"type": "local",
// Root directory of the workspace. Pythagora will store all projects under this directory by default.
"workspace_root": "workspace",
// Directories, files and patterns to ignore when examining the files in the project.
// Note that Pythagora already ignores all binary (non-text) files by default.
"ignore_paths": [
".git",
".gpt-pilot",
".idea",
".vscode",
".next",
".DS_Store",
"__pycache__",
"site-packages",
"node_modules",
"package-lock.json",
"venv",
"dist",
"build",
"target",
"*.min.js",
"*.min.css",
"*.svg",
"*.csv",
"*.log",
"go.sum"
],
// Files larger than 50KB will be ignored, even if they otherwise wouldn't be.
"ignore_size_threshold": 50000
}
}