Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dodawanie parametrów do funkcji walidującej? #3

Open
gileneusz opened this issue Jan 18, 2024 · 3 comments
Open

dodawanie parametrów do funkcji walidującej? #3

gileneusz opened this issue Jan 18, 2024 · 3 comments

Comments

@gileneusz
Copy link

gileneusz commented Jan 18, 2024

czy się da?

np.

przy wywołaniu runnera:

validating_runner.schedule(model=model, messages=messages, max_tokens=100, request_timeout=60)

dodaję dodatkowy parametr walidujący, a potem go wywołuje:

def validate_response(response, parametr):
    print("parametr z walidacji: ")
    print(parametr)

    return True #true/false
@tpietruszka
Copy link
Owner

Chodzi o dostęp do argumentów przekazanych do schedule tego wywołania (model, messages, max_tokens albo request_timeout), czy jakiś inny scenariusz?

@gileneusz
Copy link
Author

gileneusz commented Jan 18, 2024

hmm, chodzi mi o przesłanie dodatkowych danych z których będę mógł korzystać razem z results. np. jak w tym przykładzie innego pluginu (https://github.com/cozodb/openai-multi-client)

def make_requests():
    for num in range(1, 10):
        api.request(data={
            "messages": [{
                "role": "user",
                "content": f"Can you tell me what is {num} * {num}?"
            }]
        }, metadata={'num': num})


api.run_request_function(make_requests)

wysyłam więc metadata, z której potem mogę skorzystać, np. przy wypisywaniu wyników, zapisywaniu rezultatów wywołania do API etc.

no i do funkcji walidującej też by się przydało móc wysłać parametr. Sorry że piszę chaotycznie, ale rozkminiam ;)

@gileneusz
Copy link
Author

AI wygenerowało mi taki workaround:

import openai
import json
from rate_limited.runner import Runner
from rate_limited.apis.openai import chat

openai.api_key = "API_KEY"
model = "gpt-3.5-turbo"

# describe your rate limits - values based on https://platform.openai.com/account/rate-limits
resources = chat.openai_chat_resources(
    requests_per_minute=3_500,
    tokens_per_minute=90_000,
    model_max_len=4096,  # property of the model version in use - max sequence length
)
runner = Runner(openai.ChatCompletion.create, resources)

# Załadowanie JSON z ID i tematami
json_data = '{"3": "honey badgers", "2": "llamas", "1": "pandas"}'
id_to_topic = json.loads(json_data)

# Schedule requests
for topic_id, topic in id_to_topic.items():
    messages = [{"role": "user", "content": f"Please write a poem about {topic}"}]
    runner.schedule(model=model, messages=messages, max_tokens=256, request_timeout=60)

# Run and get results
results, exceptions = runner.run()

# Process results
for i, result in enumerate(results):
    topic_id = list(id_to_topic.keys())[i]
    print(f"ID: {topic_id}, Topic: {id_to_topic[topic_id]}")
    print(result['choices'][0]['message']['content'])
    print()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants