Spaces:
Paused
Paused
from hugchat import hugchat | |
from fastapi import FastAPI, HTTPException | |
from pydantic import BaseModel | |
import uvicorn | |
import os | |
# 从环境变量中读取 cookies | |
cookies_str = os.getenv("COOKIES_STR") | |
if not cookies_str: | |
raise Exception("COOKIES_STR environment variable is not set") | |
# 打印调试信息 | |
print(f"COOKIES_STR: {cookies_str}") | |
try: | |
print("Attempting to initialize ChatBot with provided cookies...") | |
chatbot = hugchat.ChatBot(cookies=cookies_str) | |
print("ChatBot initialized successfully!") | |
except Exception as e: | |
print(f"Failed to initialize ChatBot: {e}") | |
raise | |
class RequestBody(BaseModel): | |
prompt: str | |
max_tokens: int | |
class Choice(BaseModel): | |
text: str | |
class CompletionResponse(BaseModel): | |
choices: list[Choice] | |
app = FastAPI() | |
async def completions(body: RequestBody): | |
try: | |
response = chatbot.chat(body.prompt, max_length=body.max_tokens).wait_until_done() | |
return CompletionResponse(choices=[Choice(text=response)]) | |
except Exception as e: | |
raise HTTPException(status_code=500, detail=str(e)) | |
if __name__ == "__main__": | |
uvicorn.run(app, host="0.0.0.0", port=8000) | |