Claude100K-API / app.py
青麈
Update app.py
96efa1f
import gradio as gr
import requests
import json
# Define a global variable for the conversation history
conversation_history = ""
def chat_with_ai(user_question, api_key, model):
global conversation_history
# Instantiate the endpoint URL
url = 'https://api.anthropic.com/v1/complete'
# Define the headers for the HTTP request
headers = {
'Content-Type': 'application/json',
'X-API-Key': api_key,
}
conversation_history = ""
# Define the parameters for the request
params = {
'prompt': f'{conversation_history}\n\nHuman: {user_question}\n\nAssistant:',
'model': model,
'max_tokens_to_sample': 4000,
'stop_sequences': ['\n\nHuman:'],
'temperature': 0.8,
'top_p': -1,
'metadata': {}
}
# Convert the params dict to a JSON string
params_json = json.dumps(params)
# Send the HTTP request to the API
response = requests.post(url, headers=headers, data=params_json)
# Check if the request was successful
if response.status_code == 200:
# Parse the JSON response
response_json = response.json()
conversation_history += f'\n\nHuman: {user_question}\n\nAssistant: {response_json["completion"]}'
# Return the entire conversation history
return conversation_history
else:
return f'Error: {response.status_code}'
# Define the model options
model_options = ["claude-v1", "claude-v1-100k", "claude-v1.0", "claude-v1.2", "claude-v1.3", "claude-v1.3-100k", "claude-instant-v1", "claude-instant-v1-100k", "claude-instant-v1.0", "claude-instant-v1.1", "claude-instant-v1.1-100k"]
iface = gr.Interface(fn=chat_with_ai,
inputs=["text", "text", gr.inputs.Dropdown(model_options)],
outputs="text",
layout="vertical")
iface.launch()