Add todos for next steps

This commit is contained in:
2025-01-24 01:11:10 +01:00
parent 059202cd1e
commit 2674bc6c20
2 changed files with 5 additions and 3 deletions
+3 -2
View File
@@ -4,7 +4,8 @@ import './App.css';
const KEYS_TO_DISABLE = ['Backspace', 'Shift', 'Alt', 'Control', 'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', 'F11', 'F12', 'Escape', 'Delete', 'PageDown', 'PageUp', 'Home', 'End', 'Insert', 'WakeUp', 'Pause', 'ScrollLock', 'ContextMenu', 'BrowserForward', 'BrowserBack', 'CapsLock', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']; const KEYS_TO_DISABLE = ['Backspace', 'Shift', 'Alt', 'Control', 'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', 'F11', 'F12', 'Escape', 'Delete', 'PageDown', 'PageUp', 'Home', 'End', 'Insert', 'WakeUp', 'Pause', 'ScrollLock', 'ContextMenu', 'BrowserForward', 'BrowserBack', 'CapsLock', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
function App() { function App() {
// TODO: Cleanup the file and create utils for spacing and trimming the code properly. // TODO: Cleanup the file and create utils for trimming the code properly.
// TODO: Create a function that combines a sequence of spaces into tabs.
const [code, setCode] = useState(''); const [code, setCode] = useState('');
const [loaded, setLoaded] = useState(false); const [loaded, setLoaded] = useState(false);
const [characters, setCharacters] = useState([]); const [characters, setCharacters] = useState([]);
@@ -13,7 +14,7 @@ function App() {
(async function() { (async function() {
setCode(''); setCode('');
const response = await fetch(`${import.meta.env.VITE_API_URL}/generate?lang=java&lines=50`); const response = await fetch(`${import.meta.env.VITE_API_URL}/generate?lang=java&lines=15`);
const reader = response.body.getReader(); const reader = response.body.getReader();
const decoder = new TextDecoder(); const decoder = new TextDecoder();
+2 -1
View File
@@ -87,6 +87,7 @@ func main() {
ech.Use(middleware.CORS()) ech.Use(middleware.CORS())
ech.GET("/generate", func(ctx echo.Context) error { ech.GET("/generate", func(ctx echo.Context) error {
// TODO: Make lines an environment variable and tweak it along with the prompt to get a suitable number of lines for the challenge to be fun and not too hard but still challenging.
lines, err := strconv.Atoi(ctx.QueryParam("lines")) lines, err := strconv.Atoi(ctx.QueryParam("lines"))
if err != nil { if err != nil {
@@ -112,7 +113,7 @@ func main() {
ollamaCtx := context.Background() ollamaCtx := context.Background()
prompt := []llms.MessageContent{ prompt := []llms.MessageContent{
llms.TextParts(llms.ChatMessageTypeHuman, fmt.Sprintf(` llms.TextParts(llms.ChatMessageTypeHuman, fmt.Sprintf(`
You must only generate code without any descriptions or code comments and use spaces instead of tabs for spacing. Generate a maximum of %d lines of code from a well known open source project in the %s programming language.`, lines, lang)), You must only generate code without any text descriptions or code comments and use spaces instead of tabs for spacing. Generate a maximum of %d lines of code from a well known open source project in the %s programming language.`, lines, lang)),
} }
if _, err := llm.GenerateContent(ollamaCtx, prompt, llms.WithStreamingFunc(func(streamCtx context.Context, chunk []byte) error { if _, err := llm.GenerateContent(ollamaCtx, prompt, llms.WithStreamingFunc(func(streamCtx context.Context, chunk []byte) error {