mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 19:59:50 +08:00
37 lines
1023 B
Python
37 lines
1023 B
Python
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"))
|