Commit 
							
							·
						
						09b53af
	
1
								Parent(s):
							
							e949b7f
								
Claude API fix
Browse files
    	
        app.py
    CHANGED
    
    | @@ -20,8 +20,7 @@ DEFAULT_API_URL = "https://agents-course-unit4-scoring.hf.space" | |
| 20 | 
             
            # ----- THIS IS WHERE YOU CAN BUILD WHAT YOU WANT ------
         | 
| 21 | 
             
            class ClaudeServerModel:
         | 
| 22 | 
             
                """
         | 
| 23 | 
            -
                ClaudeServerModel  | 
| 24 | 
            -
                in agentic frameworks like smolagents.
         | 
| 25 | 
             
                """
         | 
| 26 |  | 
| 27 | 
             
                def __init__(self, api_key: str, model_id: str = "claude-3-opus-20240229", temperature: float = 0.0):
         | 
| @@ -29,7 +28,7 @@ class ClaudeServerModel: | |
| 29 | 
             
                    self.model_id = model_id
         | 
| 30 | 
             
                    self.temperature = temperature
         | 
| 31 |  | 
| 32 | 
            -
                def complete(self, prompt: str) -> str:
         | 
| 33 | 
             
                    headers = {
         | 
| 34 | 
             
                        "x-api-key": self.api_key,
         | 
| 35 | 
             
                        "anthropic-version": "2023-06-01",
         | 
| @@ -43,12 +42,16 @@ class ClaudeServerModel: | |
| 43 | 
             
                        "prompt": f"\n\nHuman: {prompt}\n\nAssistant:"
         | 
| 44 | 
             
                    }
         | 
| 45 |  | 
|  | |
|  | |
|  | |
|  | |
| 46 | 
             
                    response = requests.post("https://api.anthropic.com/v1/complete", headers=headers, json=body)
         | 
| 47 | 
             
                    response.raise_for_status()
         | 
| 48 | 
             
                    return response.json()["completion"].strip()
         | 
| 49 |  | 
| 50 | 
            -
                def __call__(self, prompt: str) -> str:
         | 
| 51 | 
            -
                    return self.complete(prompt)
         | 
| 52 |  | 
| 53 | 
             
            # --- Constants ---
         | 
| 54 | 
             
            DEFAULT_API_URL = "https://agents-course-unit4-scoring.hf.space"
         | 
|  | |
| 20 | 
             
            # ----- THIS IS WHERE YOU CAN BUILD WHAT YOU WANT ------
         | 
| 21 | 
             
            class ClaudeServerModel:
         | 
| 22 | 
             
                """
         | 
| 23 | 
            +
                ClaudeServerModel wraps Anthropic Claude API for smolagents-style usage.
         | 
|  | |
| 24 | 
             
                """
         | 
| 25 |  | 
| 26 | 
             
                def __init__(self, api_key: str, model_id: str = "claude-3-opus-20240229", temperature: float = 0.0):
         | 
|  | |
| 28 | 
             
                    self.model_id = model_id
         | 
| 29 | 
             
                    self.temperature = temperature
         | 
| 30 |  | 
| 31 | 
            +
                def complete(self, prompt: str, stop_sequences: list[str] = None) -> str:
         | 
| 32 | 
             
                    headers = {
         | 
| 33 | 
             
                        "x-api-key": self.api_key,
         | 
| 34 | 
             
                        "anthropic-version": "2023-06-01",
         | 
|  | |
| 42 | 
             
                        "prompt": f"\n\nHuman: {prompt}\n\nAssistant:"
         | 
| 43 | 
             
                    }
         | 
| 44 |  | 
| 45 | 
            +
                    # Claude expects stop_sequences as "stop_sequences", if passed
         | 
| 46 | 
            +
                    if stop_sequences:
         | 
| 47 | 
            +
                        body["stop_sequences"] = stop_sequences
         | 
| 48 | 
            +
             | 
| 49 | 
             
                    response = requests.post("https://api.anthropic.com/v1/complete", headers=headers, json=body)
         | 
| 50 | 
             
                    response.raise_for_status()
         | 
| 51 | 
             
                    return response.json()["completion"].strip()
         | 
| 52 |  | 
| 53 | 
            +
                def __call__(self, prompt: str, stop_sequences: list[str] = None) -> str:
         | 
| 54 | 
            +
                    return self.complete(prompt, stop_sequences=stop_sequences)
         | 
| 55 |  | 
| 56 | 
             
            # --- Constants ---
         | 
| 57 | 
             
            DEFAULT_API_URL = "https://agents-course-unit4-scoring.hf.space"
         | 
 
			
