key和openai

16 阅读

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

import os import openai from openai import OpenAI, AzureOpenAI from selenium.webdriver.chrome.service import Service import json import requests from selenium import webdriver from selenium.webdriver.common.by import By from dl_dbutil import insert_db_with_sql, select_db from datetime import datetime import ast

def chat_with_gpt(input_text, model="GPT-3"):

if model == "GPT-3":

    openai.api_base = "https://datalearner.openai.azure.com/"
    openai.api_version = "2023-07-01-preview"
    openai.api_key = "6a4212a4cd854071963b5a1526697b7e"
    engine = "datalearner_gpt_35"
    
elif model == "GPT-35-Instruct":

    openai.api_base = "https://datalearner.openai.azure.com/"
    openai.api_version = "2023-07-01-preview"
    openai.api_key = "6a4212a4cd854071963b5a1526697b7e"
    
    engine = "DataLearner-GPT-35-Instruct"

elif model == "GPT-4-Turbo":

    openai = AzureOpenAI(
        api_key="59a2d85d52d848d7ad8ceb52a4fb286c",
        api_version="2023-07-01-preview",
        azure_endpoint ="https://datalearner-gpt4.openai.azure.com/"
    )
    
    engine = "GPT-4-Turbo"

elif model == "GPT-4":

    openai.api_base = "https://datalearner-gpt4.openai.azure.com/"
    openai.api_version = "2023-08-01-preview"
    openai.api_key = "59a2d85d52d848d7ad8ceb52a4fb286c"
    
    engine = "GPT-4"

elif model == "GPT-4-0314":

    response = json.loads(requests.post(
        url="https://openrouter.ai/api/v1/chat/completions",
        headers={
            "Authorization": "Bearer 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",
            "HTTP-Referer": "http://localhost:3000", # To identify your app. Can be set to e.g. http://localhost:3000 for testing
            "X-Title": "datalearner", # Optional. Shows on openrouter.ai
        },
        data=json.dumps({
            "model": "openai/gpt-4-0314", # Optional
            "messages": [
              {
                  "role": "user",
                    "content": f"{input_text}"
              }
            ]
        })
        ).content)

    return response

response = openai.chat.completions.create(
    model=engine,
    messages=[
            {
                "role": "user",
                "content": f"{input_text}"
            }
        ],
    temperature=0.45,
    max_tokens=4096,
    top_p=0.95,
    frequency_penalty=0,
    presence_penalty=0,
    stop=None)

return response

def login_dl(_browser):

# 打开某个页面
_browser.get('https://www.datalearner.com/signin')

# 查找按钮并点击
# 这里是一个简单的例子,它会查找页面上的第一个按钮并点击它。
# 实际上,您可能需要使用更具体的选择器,例如通过ID、类名或其他属性来定位特定按钮。
# 在ID为username的input中输入用户名
username_input = _browser.find_element(By.ID, "username")
username_input.send_keys("小木")

# 在ID为password的input中输入密码
password_input = _browser.find_element(By.ID, "password")
password_input.send_keys("123456")

submit_button = _browser.find_element(By.CSS_SELECTOR, "button[type='submit']")
submit_button.click()

def update_all_blogs(_browser):

_browser.get('https://www.datalearner.com/admin/llm-tech-blogs')

links = _browser.find_elements(By.CLASS_NAME, "blog-modify-button")

# 获取所有超链接地址
hrefs = [link.get_attribute("href") for link in links]

# 打印所有超链接地址
for href in hrefs:
    _browser.get(href)
    submit_button = _browser.find_element(By.ID, "pub-blog-button")
    submit_button.click()

def update_blog(_browser, blog_id): _browser.get(f"https://www.datalearner.com/admin/llm-tech-blogs/modify/{blog_id}") submit_button = _browser.find_element(By.ID, "pub-blog-button") submit_button.click()

def get_res_from_gpt(input_prompt, user_input):

# 路径到你的WebDriver(这里是ChromeDriver的例子)
driver_path = 'F:\\OneDrive\\Programs\\chromedriver.exe'

if not os.path.exists(driver_path):
    driver_path = 'D:\\OneDrive\\Programs\\chromedriver.exe'

service = Service(driver_path)
browser = webdriver.Chrome(service=service)

login_dl(browser)

res = chat_with_gpt(input_prompt.format(user_input), model="GPT-4-Turbo")
data = res.choices[0].message.content.encode('utf-8').decode('utf-8')

if data.startswith("```json"):
    data = data[7:-3]

data = ast.literal_eval(data)

insert_blog = """
INSERT INTO LLM_TECH_BLOG(BLOG_CODE, BLOG_TITLE, BLOG_TAGS, BLOG_ABSTRACT, PUBLISH_TIME, UPDATE_TIME)
VALUES(%s, %s, %s, %s, %s, %s)
"""
param = (data["title_for_path"], data["title"], ','.join(
    data["tags"]), data["abstract"], datetime.now(), datetime.now())
blog_id = insert_db_with_sql(insert_blog, param)

if data["blog_content"].startswith("MD:"):
    data["blog_content"] = data["blog_content"][3:]

insert_blog_content = """
    INSERT INTO LLM_TECH_BLOG_CONTENT(BLOG_ID, BLOG_CONTENT_MD)
    VALUES(%s, %s)
"""
param = (int(blog_id), data["blog_content"])
insert_db_with_sql(insert_blog_content, param)
update_blog(browser, blog_id)

browser.close()

DataLearner 官方微信

欢迎关注 DataLearner 官方微信,获得最新 AI 技术推送

DataLearner 官方微信二维码