__init__.py 1023 B

123456789101112131415161718192021222324252627282930313233343536
  1. import os
  2. from typing import Optional
  3. import langchain
  4. from flask import Flask
  5. from pydantic import BaseModel
  6. from core.callback_handler.std_out_callback_handler import DifyStdOutCallbackHandler
  7. from core.prompt.prompt_template import OneLineFormatter
  8. class HostedOpenAICredential(BaseModel):
  9. api_key: str
  10. class HostedAnthropicCredential(BaseModel):
  11. api_key: str
  12. class HostedLLMCredentials(BaseModel):
  13. openai: Optional[HostedOpenAICredential] = None
  14. anthropic: Optional[HostedAnthropicCredential] = None
  15. hosted_llm_credentials = HostedLLMCredentials()
  16. def init_app(app: Flask):
  17. if os.environ.get("DEBUG") and os.environ.get("DEBUG").lower() == 'true':
  18. langchain.verbose = True
  19. if app.config.get("OPENAI_API_KEY"):
  20. hosted_llm_credentials.openai = HostedOpenAICredential(api_key=app.config.get("OPENAI_API_KEY"))
  21. if app.config.get("ANTHROPIC_API_KEY"):
  22. hosted_llm_credentials.anthropic = HostedAnthropicCredential(api_key=app.config.get("ANTHROPIC_API_KEY"))