fixed team chats
This commit is contained in:
Executable
+104
@@ -0,0 +1,104 @@
|
||||
"""
|
||||
Test script for the Ollama API with custom prompts.
|
||||
"""
|
||||
|
||||
import requests
|
||||
import json
|
||||
import argparse
|
||||
import time
|
||||
|
||||
class OllamaRequest:
|
||||
"""Request model for Ollama API."""
|
||||
def __init__(self, model, prompt, system_prompt=None):
|
||||
self.model = model
|
||||
self.prompt = prompt
|
||||
self.system_prompt = system_prompt or "You are a helpful assistant."
|
||||
|
||||
def to_json(self):
|
||||
"""Convert to JSON for the API request."""
|
||||
messages = []
|
||||
|
||||
# Add system message
|
||||
messages.append({"role": "system", "content": self.system_prompt})
|
||||
|
||||
# Add user message
|
||||
messages.append({"role": "user", "content": self.prompt})
|
||||
|
||||
return {
|
||||
"model": self.model,
|
||||
"messages": messages,
|
||||
"stream": False
|
||||
}
|
||||
|
||||
def test_ollama_api(api_url, model, prompt, system_prompt=None):
|
||||
"""Test the Ollama API directly."""
|
||||
print(f"Testing Ollama API at: {api_url}")
|
||||
print(f"Model: {model}")
|
||||
print(f"Prompt: {prompt}")
|
||||
if system_prompt:
|
||||
print(f"System prompt: {system_prompt}")
|
||||
|
||||
# Create the request
|
||||
request = OllamaRequest(model, prompt, system_prompt)
|
||||
request_json = request.to_json()
|
||||
|
||||
try:
|
||||
start_time = time.time()
|
||||
|
||||
# Make the API call
|
||||
response = requests.post(
|
||||
api_url,
|
||||
headers={"Content-Type": "application/json"},
|
||||
json=request_json,
|
||||
timeout=300 # 5 minutes timeout
|
||||
)
|
||||
|
||||
end_time = time.time()
|
||||
elapsed_time = end_time - start_time
|
||||
|
||||
response.raise_for_status()
|
||||
|
||||
# Parse the response
|
||||
result = response.json()
|
||||
|
||||
print(f"\nResponse (took {elapsed_time:.2f} seconds):")
|
||||
print(json.dumps(result, indent=2))
|
||||
|
||||
# Extract the content
|
||||
if 'message' in result:
|
||||
content = result['message'].get('content', 'No content in response')
|
||||
print("\nContent:")
|
||||
print(content)
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"ERROR: Ollama API test failed: {str(e)}")
|
||||
return False
|
||||
|
||||
def main():
|
||||
"""Main function."""
|
||||
parser = argparse.ArgumentParser(description='Test the Ollama API with custom prompts')
|
||||
parser.add_argument('--api-url', type=str, default='http://localhost:11434/api/chat', help='Ollama API URL')
|
||||
parser.add_argument('--model', type=str, default='llama3.1', help='Model to use for testing')
|
||||
parser.add_argument('--prompt', type=str, default='What is the capital of France?', help='Prompt to use for testing')
|
||||
parser.add_argument('--system-prompt', type=str, default=None, help='System prompt to use for testing')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
print("=== Ollama API Test ===")
|
||||
print(f"API URL: {args.api_url}")
|
||||
print(f"Model: {args.model}")
|
||||
print(f"Prompt: {args.prompt}")
|
||||
if args.system_prompt:
|
||||
print(f"System prompt: {args.system_prompt}")
|
||||
print()
|
||||
|
||||
# Test Ollama API
|
||||
success = test_ollama_api(args.api_url, args.model, args.prompt, args.system_prompt)
|
||||
|
||||
# Print summary
|
||||
print("\n=== Test Summary ===")
|
||||
print(f"Ollama API Test: {'SUCCESS' if success else 'FAILED'}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user