Skip to content

Commit

Permalink
convert spaces to tabs
Browse files Browse the repository at this point in the history
  • Loading branch information
hunterirving committed Oct 22, 2024
1 parent b103a09 commit ddb0c5c
Show file tree
Hide file tree
Showing 5 changed files with 220 additions and 220 deletions.
126 changes: 63 additions & 63 deletions extensions/claude/claude.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,79 +27,79 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Claude</title>
<meta charset="UTF-8">
<title>Claude</title>
</head>
<body>
<form method="post" action="/">
<input type="text" size="38" name="command" required autocomplete="off">
<input type="submit" value="Submit">
<select id="model" name="model">
<option value="claude-3-5-sonnet-20240620" {{ 'selected' if selected_model == 'claude-3-5-sonnet-20240620' else '' }}>Claude 3.5 Sonnet</option>
<option value="claude-3-opus-20240229" {{ 'selected' if selected_model == 'claude-3-opus-20240229' else '' }}>Claude 3 Opus</option>
<option value="claude-3-sonnet-20240229" {{ 'selected' if selected_model == 'claude-3-sonnet-20240229' else '' }}>Claude 3 Sonnet</option>
<option value="claude-3-haiku-20240307" {{ 'selected' if selected_model == 'claude-3-haiku-20240307' else '' }}>Claude 3 Haiku</option>
</select>
</form>
<div id="chat">
<p>{{ output|safe }}</p>
</div>
<form method="post" action="/">
<input type="text" size="38" name="command" required autocomplete="off">
<input type="submit" value="Submit">
<select id="model" name="model">
<option value="claude-3-5-sonnet-20240620" {{ 'selected' if selected_model == 'claude-3-5-sonnet-20240620' else '' }}>Claude 3.5 Sonnet</option>
<option value="claude-3-opus-20240229" {{ 'selected' if selected_model == 'claude-3-opus-20240229' else '' }}>Claude 3 Opus</option>
<option value="claude-3-sonnet-20240229" {{ 'selected' if selected_model == 'claude-3-sonnet-20240229' else '' }}>Claude 3 Sonnet</option>
<option value="claude-3-haiku-20240307" {{ 'selected' if selected_model == 'claude-3-haiku-20240307' else '' }}>Claude 3 Haiku</option>
</select>
</form>
<div id="chat">
<p>{{ output|safe }}</p>
</div>
</body>
</html>
"""

def handle_request(req):
if req.method == 'POST':
content, status_code = handle_post(req)
elif req.method == 'GET':
content, status_code = handle_get(req)
else:
content, status_code = "Not Found", 404
return content, status_code
if req.method == 'POST':
content, status_code = handle_post(req)
elif req.method == 'GET':
content, status_code = handle_get(req)
else:
content, status_code = "Not Found", 404
return content, status_code

def handle_get(request):
return chat_interface(request), 200
return chat_interface(request), 200

def handle_post(request):
return chat_interface(request), 200
return chat_interface(request), 200

def chat_interface(request):
global messages, selected_model, previous_model
output = ""

if request.method == 'POST':
user_input = request.form['command']
selected_model = request.form['model']

# Check if the model has changed
if selected_model != previous_model:
previous_model = selected_model
messages = [{"role": "user", "content": user_input}]
else:
messages.append({"role": "user", "content": user_input})

# Prepare messages for the API call
api_messages = [{"role": msg["role"], "content": msg["content"]} for msg in messages[-10:]]

# Send the conversation to Anthropic and get the response
try:
response = client.messages.create(
model=selected_model,
max_tokens=1000,
messages=api_messages,
system=system_prompt
)
response_body = response.content[0].text
messages.append({"role": "assistant", "content": response_body})

except Exception as e:
response_body = f"An error occurred: {str(e)}"
messages.append({"role": "assistant", "content": response_body})

for msg in reversed(messages[-10:]):
if msg['role'] == 'user':
output += f"<b>User:</b> {msg['content']}<br>"
elif msg['role'] == 'assistant':
output += f"<b>Claude:</b> {msg['content']}<br>"

return render_template_string(HTML_TEMPLATE, output=output, selected_model=selected_model)
global messages, selected_model, previous_model
output = ""

if request.method == 'POST':
user_input = request.form['command']
selected_model = request.form['model']

# Check if the model has changed
if selected_model != previous_model:
previous_model = selected_model
messages = [{"role": "user", "content": user_input}]
else:
messages.append({"role": "user", "content": user_input})

# Prepare messages for the API call
api_messages = [{"role": msg["role"], "content": msg["content"]} for msg in messages[-10:]]

# Send the conversation to Anthropic and get the response
try:
response = client.messages.create(
model=selected_model,
max_tokens=1000,
messages=api_messages,
system=system_prompt
)
response_body = response.content[0].text
messages.append({"role": "assistant", "content": response_body})

except Exception as e:
response_body = f"An error occurred: {str(e)}"
messages.append({"role": "assistant", "content": response_body})

for msg in reversed(messages[-10:]):
if msg['role'] == 'user':
output += f"<b>User:</b> {msg['content']}<br>"
elif msg['role'] == 'assistant':
output += f"<b>Claude:</b> {msg['content']}<br>"

return render_template_string(HTML_TEMPLATE, output=output, selected_model=selected_model)
2 changes: 1 addition & 1 deletion extensions/config.py.example
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ ENABLED_EXTENSIONS = [
#"hacksburg",
#"hunterirving",
#"kagi",
#"mistral",
#"mistral",
#"npr",
#"override",
#"reddit",
Expand Down
126 changes: 63 additions & 63 deletions extensions/kagi/template.html
Original file line number Diff line number Diff line change
@@ -1,74 +1,74 @@
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
<title>{{ title }}</title>
</head>
<body>
<center>
<h1><img src="http://text.zjm.me/kagi.gif"/></h1>
<form method="GET" action="/html/search">
<input type="text" name="q" value="{{ query }}" size="50" />
<input type="submit" value="Search" />
</form>
<center>
{% for item in nav_items %}
{% if item.active %}
<b>{{item.title}}</b>
{% else %}
<a href="{{item.url}}">{{item.title}}</a>
{% endif %}
{% endfor %}
</center>
<center>
{% for item in lenses %}
{% if item.active %}
<b>{{item.title}}</b>
{% else %}
<a href="{{item.url}}">{{item.title}}</a>
{% endif %}
{% endfor %}
</center>
</center>
<hr />
{% if num_results %}
<p>{{ num_results }}</p>
{% endif %}
<center>
<h1><img src="http://text.zjm.me/kagi.gif"/></h1>
<form method="GET" action="/html/search">
<input type="text" name="q" value="{{ query }}" size="50" />
<input type="submit" value="Search" />
</form>
<center>
{% for item in nav_items %}
{% if item.active %}
<b>{{item.title}}</b>
{% else %}
<a href="{{item.url}}">{{item.title}}</a>
{% endif %}
{% endfor %}
</center>
<center>
{% for item in lenses %}
{% if item.active %}
<b>{{item.title}}</b>
{% else %}
<a href="{{item.url}}">{{item.title}}</a>
{% endif %}
{% endfor %}
</center>
</center>
<hr />
{% if num_results %}
<p>{{ num_results }}</p>
{% endif %}

{% for result in results %}
<h3><a href={{result.url}}>{{result.title}}</a></h3>
<div>{{result.url}}</div>
<p>{% if result.time %}<b>{{result.time}}</b> {% endif %}{{result.desc}}</p>
{% endfor %}
{% for result in results %}
<h3><a href={{result.url}}>{{result.title}}</a></h3>
<div>{{result.url}}</div>
<p>{% if result.time %}<b>{{result.time}}</b> {% endif %}{{result.desc}}</p>
{% endfor %}

{% for row in image_results %}
<div>
{% for result in row %}
<a href="{{result.url}}"><img height="{{result.height}}" width="{{result.width}}" src="{{result.src}}" alt="{{result.title}}" /></a>
{% endfor %}
</div>
{% endfor %}
{% for row in image_results %}
<div>
{% for result in row %}
<a href="{{result.url}}"><img height="{{result.height}}" width="{{result.width}}" src="{{result.src}}" alt="{{result.title}}" /></a>
{% endfor %}
</div>
{% endfor %}

{% if video_results %}
<table>
{% for result in video_results %}
<tr>
<td>
<img src="{{result.src}}" alt="Video Thumbnail of {{result.title}}" width="240" height="180" />
</td>
<td width="10"></td>
<td>
<h3><a href={{result.url}}>{{result.title}}</a></h3>
<p>{% if result.time %}<b>{{result.time}}</b> {% endif %}{{result.desc}}</p>
</td>
</tr>
{% endfor %}
</table>
{% endif %}
{% if video_results %}
<table>
{% for result in video_results %}
<tr>
<td>
<img src="{{result.src}}" alt="Video Thumbnail of {{result.title}}" width="240" height="180" />
</td>
<td width="10"></td>
<td>
<h3><a href={{result.url}}>{{result.title}}</a></h3>
<p>{% if result.time %}<b>{{result.time}}</b> {% endif %}{{result.desc}}</p>
</td>
</tr>
{% endfor %}
</table>
{% endif %}

{% if load_more %}
<center>
<a href="{{load_more}}">More Results</a>
</center>
{% endif %}
{% if load_more %}
<center>
<a href="{{load_more}}">More Results</a>
</center>
{% endif %}
</body>
</html>
Loading

0 comments on commit ddb0c5c

Please sign in to comment.