123456789101112131415161718192021222324252627282930313233343536 |
- import os
- from typing import Optional
- import langchain
- from flask import Flask
- from pydantic import BaseModel
- from core.callback_handler.std_out_callback_handler import DifyStdOutCallbackHandler
- from core.prompt.prompt_template import OneLineFormatter
- class HostedOpenAICredential(BaseModel):
- api_key: str
- class HostedAnthropicCredential(BaseModel):
- api_key: str
- class HostedLLMCredentials(BaseModel):
- openai: Optional[HostedOpenAICredential] = None
- anthropic: Optional[HostedAnthropicCredential] = None
- hosted_llm_credentials = HostedLLMCredentials()
- def init_app(app: Flask):
- if os.environ.get("DEBUG") and os.environ.get("DEBUG").lower() == 'true':
- langchain.verbose = True
- if app.config.get("OPENAI_API_KEY"):
- hosted_llm_credentials.openai = HostedOpenAICredential(api_key=app.config.get("OPENAI_API_KEY"))
- if app.config.get("ANTHROPIC_API_KEY"):
- hosted_llm_credentials.anthropic = HostedAnthropicCredential(api_key=app.config.get("ANTHROPIC_API_KEY"))
|